SIM900A mini avec arduino. help

j'ai realiser un branchement de GSM et arduino Mega:
gnd -> gnd module
5v -> 5V module
Tx19 TX module
RX18 RX module
pin7 reset module
le code pour le test de module fonctionne bien

const int relay = 7;
char c = ' ';
void setup() 
{
  pinMode(relay, OUTPUT);
  digitalWrite(relay, LOW); 
  delay(2000);
  digitalWrite(relay, HIGH);
  delay(2000);
// start th serial communication with the host computer
Serial.begin(9600);
Serial.println("Arduino withSIM900A is ready");
// start communication with the SIM900A in 9600
Serial1.begin(19200); 
Serial.println("SIM900A started at 9600");
delay(1000);
Serial.println("Setup Complete! SIM900A is Ready!");
}
void loop()
{
// Keep reading from SIM800 and send to Arduino Serial Monitor
if (Serial1.available())
{ c = Serial1.read();
Serial.write(c); 
}
// Keep reading from Arduino Serial Monitor and send to SIM900A
if (Serial.available())
{ c = Serial.read();
Serial1.write(c); 
}
}

mais mon code pour envoyer et recevoir des sms ne fonctionne pas

String textMessage;
String lampState = "HIGH";
const int relay = 7;


void setup()
{
  pinMode(relay, OUTPUT);
  digitalWrite(relay, LOW); 
  delay(2000);
  digitalWrite(relay, HIGH);
  delay(15000);
  
Serial1.begin(19200); 

delay(1000);
 
}
void loop()
{
if(Serial1.available()>0){
    textMessage = Serial1.readString();
    delay(10);
  } 
  if(textMessage.indexOf("ON")>=0){
    lampState = "on";
    textMessage = "";
      
  }
  if(textMessage.indexOf("OFF")>=0){
    lampState = "off"; 
    textMessage = ""; 
  }
  if(textMessage.indexOf("STATE")>=0){
    String msg = "pompe is " + lampState;
    
    sendSMS(msg);
    textMessage = "";
  }
}
void sendSMS(String message){
 
  Serial1.println("AT+CMGF=1");    //Sets the GSM Module in Text Mode
  delay(1000);
  
  Serial1.println("AT+CMGS=\"+212645386830\"\r"); //Mobile phone number to send message
  delay(1000);
  
  Serial1.println(message);// Messsage content
  delay(100);
  
  Serial1.println((char)26);// ASCII code of CTRL+Z
  delay(6000);
   
}
 void RecieveMessage()
{
 
  delay (1000);
  Serial1.println("AT+CNMI=2,2,0,0,0"); // AT Command to receive a live SMS
  delay(1000);
 
 }

J’ai pas lu le code mais Généralement il faut alimenter les modules GSM avec une alimentation dédiée capable de délivrer 2A, pas avec la pin 5V de votre arduino

mais le 1er code fonctionne bien. et le module est mini module j'ai pas vu cette conditions de 2A dans les caracteristiques de module

Lien vers votre shield / module ?

https://www.google.com/search?q=sim900a+mini+v3.8.2&rlz=1C1CHBD_frMA787MA788&tbm=isch&source=iu&ictx=1&fir=9wqb_3Ecx1nbsM%253A%252C0_3FfCXeRph0xM%252C_&usg=AI4_-kSsGn4AYeapqKMSaXDMTo-sfzf-9w&sa=X&ved=2ahUKEwiowfzkjuTfAhWQsBQKHa7SCxkQ9QEwAHoECAUQBA#imgrc=otOZtKnVRbvWCM:

Bonsoir

mais le 1er code fonctionne bien. et le module est mini module j'ai pas vu cette conditions de 2A dans les caracteristiques de module

-le premier code ne sollicite pas la partie radio du SIM900, dans ce cas la carte n'a pas besoin d'un courant élevé.
Les pics de courants surviennent lorsque la communication s'établit avec le relais GSM

-la contrainte des 2A figure dans la notice du module SIM900 de SIMCOM et s'applique donc à toutes les cartes utilsant ce module GSM(le module etant le composant sous capot métallique)
(les sites marchands sont plus ou moins sérieux, ceratins peuvent passer sous silence des informations importantes)
Voici l'extrait de notice 'Hardware' du module GSM SIM900 et le[ lien de téléchargement](http://"https://simcom.ee/documents/SIM900/SIM900_Hardware Design_V2.05.pdf")

dans le 1er code le reset fonctionne bien j'envoi AT et return OK meme si je debranche la carte et je le reconnecte . pr le 2eme code ne fonctionne plus si le pin de 7 et relié au reset

mais comment justifier le cas le code fonctionne sans relier le pin 7 au reset

Parfait alors si l'accroche au réseau et l'envoi de SMS fonctionnent avec le courant disponible actuel (celui du port USB du PC ?)
Pourvu que ça continue de fonctionner longtemps et à tous les coups !!
Une faible distance entre module SIM900 et relai GSM ('un bon réseau') réduit l'amplitude des pics de courant.
D'autre part le condensateur de valeur élevée sans doute présent sur la carte arrange les choses.
L'absence de connection au reset assi peut être en évitant le redémarrage complet du module ??

oui ca fonctionne avec port usb de pc mais lorsque je debranche et je le reconnecte ca fonctionne pas et le reset fonctionnne seulement en 1er code le 2eme ne fonctionne pas

je reste sur l'idée d'un fort besoin en courant au moment du reset (je l'observe sur mes SIM800 )
Avec une alimentation 'généreuse' le pb disparaitra probablement et le module SIM900 franchira la phase de démarrage et d'établissement de la connection au réseau
J'alimente mes SIM800 avec un accu Li-On 3,7V ça démarre à tous les coups et 'accrocche ' le réseau

le reset se fait mais le code ne fonctionne pas pour envoyer des sms. j'ai testé aussi l'alimentation exeterne de module par un chargeur de tel qui delivre 3.1A avec le gnd relié mais le meme le prob

Vous avez lu ce post ?

La gestion AT est assez approximative avec des delay et sans analyser la réponse du module - il faudrait imprimer ce qu’il se passe pour avoir une meilleure compréhension