Le SIM800L est un module GSM / GPRS populaire utilisé pour la communication mobile, capable d'envoyer des SMS, de passer des appels et d'accès à Internet. Sa taille compacte et sa faible puissance en font un excellent choix pour l'IoT et les projets basés sur la communication. Dans ce tutoriel, nous vous montrerons comment interfacer le SIM800L avec un Arduino.
Ce dont vous aurez besoin
- Module GSM SIM800L
- Board Arduino (par exemple, Uno, Mega, Nano)
- Planche à pain
- Fils de cavalier
- Carte SIM (déverrouillée et avec plan de crédit / données)
- Alimentation (capable de fournir 3,7 V-4,2 V pour le SIM800L)
- Un ordinateur avec l'ide Arduino installé
Étape 1: Comprendre les broches SIM800L
Le module SIM800L a plusieurs épingles, mais pour le fonctionnement de base, vous n'avez qu'à utiliser les éléments suivants:
Pin Sim800L | Fonction |
---|---|
VCC | Alimentation (3,7 V à 4,2 V) |
GND | Sol |
Txd | Transmettre des données (à Arduino Rx) |
Rxd | Recevoir des données (à Arduino TX) |
Premier | Réinitialiser (facultatif) |
Important: Le SIM800L nécessite une source d'alimentation stable entre 3,7 V et 4,2 V. Ne le connectez pas directement à la sortie 5V de l'Arduino, car il peut endommager le module.
Étape 2: Câblage du SIM800L à Arduino
Voici comment connecter le module SIM800L à l'Arduino Uno:
Pin Sim800L | Épingle arduino |
---|---|
VCC | Puissance externe (3,7 V-4.2 V) |
GND | GND |
Txd | PIN 10 (Software Serial Rx) |
Rxd | PIN 11 (Software Serial TX) |
Utilisez un condensateur (par exemple, 1000 µF) à travers les broches VCC et GND du SIM800L pour assurer une alimentation stable et empêcher les réinitialisations inattendues.
Étape 3: Installez la bibliothèque des logiciels
Le SIM800L communique sur UART. Nous utiliserons le SoftwareSerial
Bibliothèque pour définir les broches TX et RX personnalisées pour la communication.
- Ouvrez l'ide Arduino.
- Aller à Esquisser > Inclure la bibliothèque > Gérer les bibliothèques.
- Recherchez "Softwareserial" (déjà inclus dans l'IDE par défaut).
Étape 4: Téléchargez le code
Vous trouverez ci-dessous un exemple de croquis pour envoyer un SMS à l'aide du module SIM800L:
#include <SoftwareSerial.h>
SoftwareSerial sim800l(10, 11); // RX, TX
void setup() {
Serial.begin(9600); // Monitor baud rate
sim800l.begin(9600); // SIM800L baud rate
Serial.println("Initializing SIM800L...");
delay(1000);
sim800l.println("AT"); // Test communication
delay(1000);
sim800l.println("AT+CMGF=1"); // Set SMS mode to text
delay(1000);
sim800l.println("AT+CMGS=\"+1234567890\""); // Replace with recipient number
delay(1000);
sim800l.print("Hello from Arduino!");
delay(1000);
sim800l.write(26); // End SMS with CTRL+Z
delay(5000);
Serial.println("SMS sent!");
}
void loop() {
// Nothing to do here
}
Étape 5: tester la configuration
- Insérez une carte SIM valide dans le module SIM800L.
- Alimenter le SIM800L avec une source de 3,7 V 4.2 V.
- Connectez l'Arduino à votre ordinateur via USB.
- Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port de Outils menu.
- Téléchargez le code sur Arduino.
- Ouvrez le moniteur en série (Outils > Moniteur en série) et régler le taux de bauds sur
9600
. - Vérifiez le moniteur en série pour les messages d'initialisation et la confirmation SMS.
Dépannage
- Module ne répond pas: Assurez-vous que l'alimentation est stable et dans la plage de tension requise.
- Pas de connexion réseau: Vérifiez si la carte SIM est active et dispose de crédit ou de données suffisantes.
- Données à ordures: Vérifiez que le taux de bauds dans le code correspond au taux de bauds par défaut du SIM800L (9600).
Applications du SIM800L
- Surveillance et contrôle à distance
- Appareils IoT avec communication GSM
- Systèmes de suivi GPS (avec module GPS externe)
- Alertes SMS automatisées
Conclusion
Vous avez réussi à interfacer le module GSM SIM800L avec un Arduino pour envoyer des messages SMS. Avec sa capacité à passer des appels, à envoyer des SMS et à accéder à Internet, le SIM800L ouvre des possibilités infinies de projets basés sur la communication. Explorez ses fonctionnalités avancées pour créer des applications IoT plus complexes!