Problème Arduino SIM800L PIN RESET

Bonjour,
j’utilise Arduino Uno pour recevoir des SMS avec le module SIM800L.
J’utilise la librairie Sim800L-Arduino-Library-revised : https://github.com/VittorioEsposito/Sim800L-Arduino-Library-revised

Le code et le branchement que j’utilise :

/* 
 *        _____________________________
 *       |  ARDUINO UNO >>>   Sim800L  |
 *        -----------------------------
 *        GND      >>>   GND
 *        RX  10       >>>   TX    
 *        TX  11       >>>   RX
 *        RESET 2       >>>   RST            
 *
*/

#include <Sim800L.h>
#include <SoftwareSerial.h>               

#define RX  10
#define TX  11
#define RESET 2


Sim800L GSM(RX, TX, RESET);


String textSms, numberSms;
uint8_t index1;
bool error;



void setup(){

    Serial.begin(9600); // only for debug the results . 
    GSM.begin(9600); // initializate the library. 
    Serial.println("Before reset");
    GSM.reset();
    Serial.println("After reset");
    //don't forget to catch the return of the function delAllSms! 
    error=GSM.delAllSms(); //clean memory of sms;
    
}

void loop(){
    textSms=GSM.readSms(1); //read the first sms
      
    if (textSms.indexOf("OK")!=-1) //first we need to know if the messege is correct. NOT an ERROR
        {           
        if (textSms.length() > 7)  // optional you can avoid SMS empty
            { 
                numberSms=GSM.getNumberSms(1);  // Here you have the number
                //for debugin
                Serial.println(numberSms); 
                textSms.toUpperCase();  // set all char to mayus ;)

                if (textSms.indexOf("TURNON")!=-1){
                    Serial.println("LED TURN ON");
                }
                else if (textSms.indexOf("TURNOFF")!=-1){
                    Serial.println("LED TURN OFF");
                }
                else{
                    Serial.println("Not Compatible ...sorry.. :D");
                }


            GSM.delAllSms(); //do only if the message is not empty,in other case is not necesary
             //delete all sms..so when receive a new sms always will be in first position
            } 



        }
    }

Le problème:

  • Si je relie le PIN RST du module SIM800L au PIN 2 de l’Arduino, le module ne clignote plus (ne marche donc pas)
  • Si j’enlève ce branchement, le module recommence à clignoter.
    Le moniteur série affiche seulement “Before reset”.
    Je crois que c’est la méthode reset() qui pose problème.
    voici son code (tiré de la libraire):
void Sim800L::reset()
{
    if (LED_FLAG) digitalWrite(LED_PIN,1);

    digitalWrite(RESET_PIN,1);
    delay(1000);
    digitalWrite(RESET_PIN,0);
    delay(1000);
    // wait for the module response

    this->SoftwareSerial::print(F("AT\r\n"));
    while (_readSerial().indexOf("OK")==-1 )
    {
        this->SoftwareSerial::print(F("AT\r\n"));
    }

    //wait for sms ready
    while (_readSerial().indexOf("SMS")==-1 );

    if (LED_FLAG) digitalWrite(LED_PIN,0);

}

Merci de votre aide.

Bonsoir

Essayer en inversant la séquence de niveaux logiques sur le Reset
d'abord 0 pour activer le Reset puis 1 pour quitter le Reset

    digitalWrite(RESET_PIN,0);
    delay(1000);
    digitalWrite(RESET_PIN,1);

Le Reset d'un SIM800L est actif à l'état bas

Bonjour

j'ai finalement trouver un bout de code avec uniquement les commandes AT et cela marche bien.
Merci quand même.