Bonjour à tous.
Je souhaite réaliser un transmetteur d'alarme via un module SIM800L et un arduino UNO.
N'étant pas un pro de la programmation , je prend quelques exemples sur le net mais je rencontre les problèmes suivant:
Apparemment le module SIM800L ne se connecte pas au réseau GSM (test avec 2 cartes sim différentes) , clignotement le la LED net rapide et LED ring allumée fixe.
Aussi problème lors de l'envoi de commandes AT (j'ai essayé toutes les vitesses de transmission) , seul à 115200 Bds cela fonctionne à peu prés sauf que les retours sur le moniteur série m'affichent souvent des caractères incompréhensibles.
Si vous avez une idée....
Merci d'avance.
Postez votre code et décrivez vos branchements ainsi que l’alimentation des modules
Pour les raccordements , ils respectent la plupart des schémas trouvé sur le net avec une alimentation externe pouvant délivrer 5v 5A.Le SIM800L est un V2.2 pouvant être alimenté directement en 5V et non celui nécessitant 3.4V 4.4V
Pour info lorsque j’envoi le code ATI , j'ai par moment le modèle du SIM800L qui m'est correctement renvoyé par le moniteur serie et par moment le code renvoyé affiche une référence illisible.
Merci.
Le code est le suivant:
#include <SoftwareSerial.h>
//SIM800 TX is connected to Arduino D8
#define SIM800_TX_PIN 10
//SIM800 RX is connected to Arduino D7
#define SIM800_RX_PIN 11
//Create software serial object to communicate with SIM800
SoftwareSerial serialSIM800(SIM800_TX_PIN,SIM800_RX_PIN);
void setup() {
//Begin serial comunication with Arduino and Arduino IDE (Serial Monitor)
Serial.begin(115200);
while(!Serial);
//Being serial communication witj Arduino and SIM800
serialSIM800.begin(115200);
delay(1000);
Serial.println("Setup Complete!");
}
void loop() {
//Read SIM800 output (if available) and print it in Arduino IDE Serial Monitor
if(serialSIM800.available()){
Serial.write(serialSIM800.read());
}
//Read Arduino IDE Serial Monitor inputs (if available) and send them to SIM800
if(Serial.available()){
serialSIM800.write(Serial.read());
}
}
avez vous une arduino MEGA pour essayer sans SoftwareSerial?
--- PS ---
corrigez votre post ci dessus et rajoutez les code tags autour du code:
[code]`` [color=blue]// votre code ici[/color] ``[/code].
ça doit ressembler à cela:// votre code ici
(faites aussi ctrl-T (PC) or cmd-T (Mac) dans l'IDE avant de copier le code pour qu'il soit indenté correctement)
Non , je ne possède pas de méga.
Question:
Est ce que le sim800 se connecte seul au réseau (led avec clignotement lent) sans qu'il ne soit raccordé à l'arduino ?
latune51:
Question:
Est ce que le sim800 se connecte seul au réseau (led avec clignotement lent) sans qu'il ne soit raccordé à l'arduino ?
oui si la carte est valide et le module bien alimenté
le module est par défaut à 115200 bauds et ça peut être un peu rapide pour Software Serial (idéalement limiter entre 9600 to 38400 bauds)
essayez avec ce code
#include <SoftwareSerial.h>
#define SIM800_TX_PIN 10
#define SIM800_RX_PIN 11
SoftwareSerial serialSIM800(SIM800_TX_PIN, SIM800_RX_PIN); // Rx, Tx côté Arduino
void setup()
{
Serial.begin(115200);
serialSIM800.begin(115200);
delay(1000);
Serial.println("Setup Complete!");
}
void loop() {
while (serialSIM800.available()) {
int r = serialSIM800.read();
if (r != -1) Serial.write((byte) r);
delayMicroseconds(50);
}
while (Serial.available()) {
int r = Serial.read();
if (r != -1) serialSIM800.write((byte) r);
delayMicroseconds(50);
}
}
éventuellement essayez d'envoyer un AT+IPR=38400 pour mettre le module à 38400 bauds
puis changez le programme Arduino pour communiquer sur le port Software Serial à 38400 et regardez si ça se passe mieux
--- RE PS ---
corrigez votre post ci dessus et rajoutez les code tags autour du code:
[code]`` [color=blue]// votre code ici[/color] ``[/code].
ça doit ressembler à cela:// votre code ici
(faites aussi ctrl-T (PC) or cmd-T (Mac) dans l'IDE avant de copier le code pour qu'il soit indenté correctement)
Ok , je vous tiens au courant des que possible.
Je vais quand même commander un nouveau module SIM800 au cas ou....
Bonne soirée.
Bonsoir ,
Je pense qu'il y a un problème avec le SIM800 car je viens de faire l'essai de votre code avec un 2ème UNO et un NANO......
Avez vous changé la vitesse de communication ?
Je commanderais plutôt un MEGA si j’étais vous pour tester avec 2 ports matériels
Bonsoir ,
Malgré le problème de réception sur le port série en mode moniteur , je parviens enfin à envoyer un SMS.
J'ai donc mis les vitesses à 115200.
Il me faut maintenant trouver le moyen de pouvoir envoyer différents SMS en fonction des contacts reliés au entrées (alerte alarme , alerte coupure de courant......) .
Et aussi pouvoir surement envoyer ces sms à au moins 2 numéros différents.
En fait ce projet va me servir à remplacer un transmetteur de marque qui viens de tomber en panne.
Vos conseils sont les bienvenus.
Bonne soirée.
Conseils sur quoi?
Faut-il utiliser plusieurs Void en fin de programme ?exemple 1 void pour transmission d'alarme et un autre pour transmission d'une coupure de courant ?
C’est quoi un void? ![]()
J-M-L:
C’est quoi un void?
Bonsoir,
C'est comme mon verre, quand il est void je le plains.
Serge .D
Merci pour vos réponses ![]()