Sponsorisé par : DigitSpace
Produit utilisé : SIM800L Module Replace SIM900A GSM GPRS 5V Serial with Antenna
Bonjour et bienvenue dans ce nouveau tutoriel sponsorisé par DigitSpace, et il s’agit à nouveau du SIM800L, mais cette fois il s’agit de composer des numéros de téléphone en utilisant le même module, et un petit projet qui est une alarme GSM à fil de déclenchement LASER.
Avant d’entamer le tuto si vous êtes intéressé par le module SIM800L, veuillez jeter un coup d’oeil à ces tutos:
Envoyer et recevoir des SMS avec Arduino en utilisant SIM800L
En résumé, nous allons composer des numéros, mais pas faire un appel téléphonique complet, car ce module n’a pas de broches pour le haut-parleur/micro comme l’autre version :


SIM800l module
HALTE !!! Assurez-vous que votre carte SIM est déverrouillée (non protégée par un code pin, vous pouvez le faire en l’insérant dans votre téléphone et en désactivant le code pin) et qu’elle dispose d’un crédit suffisant pour pouvoir passer un appel téléphonique/envoyer un SMS selon votre opérateur de téléphonie mobile.
N.B : J’alimente le module à l’aide d’une batterie Li de 7.4V avec un convertisseur buck, il pourrait être alimenté directement par l’Arduino mais ce n’est pas stable

Test
Ainsi, dans le test n°1, tout ce que nous avons à faire est de câbler le module et de composer un numéro de téléphone en utilisant le moniteur série de l’IDE Arduino.
- La commande principale pour composer un numéro est « ATD+xxxxxxxxxx; » où les xx… représentent votre numéro de téléphone, y compris l’indicatif du pays.
- L’autre commande est « ATH » pour raccrocher/arrêter l’appel téléphonique, si elle n’est pas utilisée, l’appel se terminera après un certain délai.
Schéma de câblage

Voici le câblage de base du module, et l’Arduino est alimenté par USB, il pourrait aussi être alimenté par la batterie, mais j’ai besoin du moniteur série pour pouvoir envoyer des commandes AT au module.
Librairies
On aura pas besoin de librairies additionnelles. “SoftwareSerial” est déjà installée.
Code
/* Ceci est un code à utiliser avec SIM800L * Il permet la communication entre la carte Arduino et le module * On peut envoyer les commandes AT depuis le moniteur série * Veuillez visiter https://SurtrTech.com */ #include <SoftwareSerial.h> //Librairie comm série SoftwareSerial sim800l(2, 3); //RX/TX pour Arduino et pour le module c'est TXD/RXD, ils doivent être croisés void setup() { sim800l.begin(9600); //Taux de baude du module, c'est au maximum, cela dépend de la version. Serial.begin(9600); } void loop() { Serialcom(); //La fonction permet la communication entre vous et le module via le moniteur série. //Vous pouvez essayer les commandes AT et vérifier le retour d'information. L'envoi d'un message est également une commande AT. } void Serialcom() { delay(500); while (Serial.available()) { sim800l.write(Serial.read()); //Transférer les données reçues par le port série au port série du logiciel } while(sim800l.available()) { Serial.write(sim800l.read()); //Transférer au port série ce que le logiciel a reçu en série } }
Résultat
Après avoir câblé votre module et branché la carte Arduino, vous pouvez d’abord taper « AT » pour vérifier que le module et la communication fonctionnent, puis vous pouvez passer à la commande ATD.

Après avoir utilisé la commande ATD + le numéro de téléphone, appuyez sur la touche Entrée, le téléphone devrait commencer à sonner.

La commande ATH permet de raccrocher.

Projet d’alarme GSM LASER (Anti intrusion)
Le projet consiste donc en une “alarme à fil” déclencheur qui appelle votre numéro de téléphone chaque fois que quelqu’un passe à travers “le fil”, et bien sur le fil ici est réalisé par un faisceau LASER.
Ce projet, est basé sur un projet que j’ai réalisé avant:
J’ai choisi un LASER + LDR, vous pouvez utiliser ce que vous préférez pour détecter la présence par exemple PIR, Radar Doppler, ou certains modules classiques comme les capteurs de proximité HC-SR04, FC 51, Sharp IR…. Tout ce qui vous convient.


KY-008 LASER module and LDR
N’oubliez pas d’ajouter une résistance à la LDR, j’ai utilisé 1kΩ.
Comme vous le savez, la LDR (Light Dependent Resistor) change de valeur en fonction de la lumière, si la lumière est présente, la résistance diminue, sinon (lorsqu’il fait plus sombre) elle augmente. Ainsi, lorsqu’elle est utilisée avec une résistance, elle change la valeur de la tension que nous pouvons lire à l’aide de la broche analogique Arduino.
Schéma de câblage

Ici, comme vous pouvez le voir, le module SIM est alimenté par la batterie, mais le reste est alimenté par l’Arduino branché sur le PC. Vous pouvez bien sûr alimenter l’Arduino en utilisant la batterie, tout ce que vous avez à faire est d’ajouter un fil entre le 5V de la source et le 5V de l’Arduino.
Libraries
Pareil à ce qui est en haut.
Code
/* Ceci est un code à utiliser avec SIM800L un LASER KY008 et une (LDR) photorésistance * Le LASER émmet constamment un faisceau lumineux vers la LDR * Lorsque quelqu'un pass, faisceau coupé, on appel un numéro prédéfinit * Veuillez visiter https://SurtrTech.com */ #include <SoftwareSerial.h> //Librairie comm série #define LDR A0 //Broches LDR (entré A0) et LASER (D7) #define LASER 7 int LDR_Value; SoftwareSerial sim800l(2, 3); //RX/TX pour Arduino et pour le module c'est TXD/RXD, ils doivent être croisés void setup() { pinMode(LDR, INPUT); //Modes des broches pinMode(LASER, OUTPUT); Serial.begin(9600); sim800l.begin(9600); //Taux de baude du module, c'est au maximum, cela dépend de la version. digitalWrite(LASER,HIGH); //Activer le LASER delay(5000); //Délai de 5s pour permettre au module de se connecter au réseau } void loop() { LDR_Value=analogRead(LDR); //On affiche la valeur du LDR sur le moniteur série (pour info) Serial.println(LDR_Value); delay(30); //un délai empêche les fausses valeurs if (LDR_Value < 800) { //Si quelqu'un passe, la valeur baisse. 800 est le seuil, vous pouvez choisir ce qui vous convient, le moniteur de série vous aidera. sim800l.println("ATD+xxxxxxxxxxxxx;"); //Le numéro à appeler, n'oubliez pas l'indicatif pays } }
Résultat
Le moniteur série affiche en permanence la valeur du LDR et, comme vous pouvez le voir dans les dernières lignes, lorsque j’ai obstrué le faisceau du LASER, la valeur a chuté de manière significative ; vous pouvez utiliser ce test pour définir votre seuil.

Lorsque la valeur tombe en dessous du seuil, ce qui signifie que quelque chose a traversé le LASER, l’Arduino appelle automatiquement le numéro de téléphone défini.

Télécharger les codes utilisés ici.
Voilà, c’est tout, merci beaucoup au sponsor de la vidéo.