GSM Arduino

Bonjour tout le monde je vous contacte en cette belle soirée car j'ai un petit (très gros ) problème :

Je viens d'acquérir , il y a peu , un module GSM et en tant que novice avec ce module j'ai tenté quelque petits code avec celui-ci

Quand je lance le programme tout a l'air de bien fonctionner MAIS quand j'appuie sur le bouton pour envoyer un message l'arduino me répond sur le moniteur série "acces error" or le code pin que j'ai entré est le bon a savoir 5555 et pourtant le problème persiste

J’espère une réponse complète pouvant m'aider

Merci beaucoup

voici mon code :

//importation de librairies 
#include <SoftwareSerial.h>
#include <String.h>

SoftwareSerial sim8001(7,8);
boolean sms ; 
int button=9;
int b;
String SIM_PIN_CODE = String( "5555" );


void setup() {

pinMode(button, INPUT);
sim8001.begin(9600);
Serial.begin(9600);
delay(500);
sms = true;

if(sim8001.available())
Serial.write(sim8001.read());
sim8001.print("AT+CPIN=");
sim8001.println ( SIM_PIN_CODE );
}

void loop(){

b = digitalRead(button);

if (sms==true){
  sendsms();
  sms=false;
}
}
void sendsms(){

if(b == 1){

Serial.println("Sending text message...");
sim8001.print("AT+CMGF=1\r"); //lance le mode sms
delay(100);

sim8001.print("AT+CMGS=\"+33000000\"\r");//on entre le correspondant
delay(100);
sim8001.print("Votre boîte n'est pas vide\r"); //on entre le message que recevras la personne
sim8001.print(char(26));
delay(100);
sim8001.println();
Serial.println("Text send"); //le message a été envoyé

}
}

Bonjour

lisez comment utiliser le forum (les posts épinglés en haut du forum comme "Bien éditer son post pour les nuls" , "Faire un Nouveau Sujet ou le corriger avec les Balises..." et "Règles du forum francophone"), et faites un post "propre"

(profitez en pour enlever le N° de téléphone si c'est le vrai...)

– Est-ce que la commande AT seule répond quelque chose ?
– Est-ce que la SIM est dans le bon sens ?

Bonsoir J-M-L

je découvre le composant , pourrait tu me dire ce qu'est la commande AT ?

et oui la sim est dans le bon sens !

AT envoie une demande d’attention de la part du composant
Le composant doit répondre OK

Bonjour , désolé d'avoir tarder je suis allé chercher mes composants et ai réessayer :

je ne reçoit uniquement un message d'erreur que lorsque j'essai d'envoyer un sms

Est-ce que le problème viendrait de mon code (la ou j'ai entré du code pour déverrouiller la pin)

JordanMorvan:
Est-ce que le problème viendrait de mon code (la ou j'ai entré du code pour déverrouiller la pin)

Oui et non, certains jeux de commande AT demandent à ce que le code soit entre guillemets mais le module doit répondre à la commande

[color=blue]AT\r\n[/color]

par un OK que vous ayez ou non une carte SIM insérée.

Là avec ce code

String SIM_PIN_CODE = String( "5555" );
....
sim8001.print("AT+CPIN=");
sim8001.println ( SIM_PIN_CODE );

vous envoyez juste

[color=blue]AT+CPIN=5555\r\n[/color]

définissez votre code pin comme cela

const char* SIM_PIN_CODE = "\"5555\"";
....
sim8001.print("AT+CPIN=");
sim8001.println ( SIM_PIN_CODE );

en mettant la séquence d'échappement du symbole guillemet

[color=blue]\"[/color]

dans la chaîne (pas besoin d'utiliser la classe String....), ce sera imprimé aussi et vous enverrez donc

[color=blue]AT+CPIN="5555"\r\n[/color]

mais il peut y avoir 36 autres problèmes, alimentation, branchements etc... tant que votre module ne répond pas à la commande

[color=blue]AT\r\n[/color]

par un OK, pas la peine d'aller plus loin.

très bien merci , je vais essayer de suite pour voir si je reçoit un ok !