GSM-модуль SIM800L не работает

Я тестирую GSM-модуль SIM800L с Arduino UNO, и модуль мигает 3 раза каждые 15 секунд или иногда каждые 45 секунд. Почему это происходит? В последовательном мониторе отображается сообщение, отправленное успешно! но я не получаю никакого сообщения.Я пробовал с несколькими номерами. Все еще не получаю никакого сообщения.

Я протестировал несколько кодов, которые показывают выходные данные AT-команд. Ничего не получалось. Источник питания - 5V 5A.

/*    
 *   Author@ExploreEmbedded 
 *   Example to Send messages Interactively using GSM Sim800L
 *    
 *   LIBRARY CREDITS:
 *   Thanks to Cristian Steib([email protected]) for the library.
 *    
 *  
 *     
 *      PINOUT: 
 *        _____________________________
 *       |  ARDUINO UNO >>>   Sim800L  |
 *        -----------------------------
 *            GND      >>>   GND
 *        RX  10       >>>   TX    
 *        TX  11       >>>   RX
 *       RESET 2       >>>   RST 
 *                 
 *  
*/

#include <Sim800L.h>
#include <SoftwareSerial.h> //необходимо для библиотеки!! 
Sim800L Sim800L;  // для объявления текста
char text[161]=""; // буфер для хранения
char number[11]=""; // номер телефона для отправки сообщения
int cnt;
bool error; // для перехвата ответа отправленных сообщений

void setup(){
    Sim800L.begin(); // инициализируйте библиотеку. 
    Serial.begin(9600);
}

void loop(){

      //Прочитайте номер
      Serial.print("\nEnter 10 digit Phone Number:");
      while(Serial.available()<=0); 
      cnt = Serial.readBytesUntil('\n',number, 11);
      number[cnt] = '\0';
      Serial.println(number);

      //очистите буфер последовательного ввода, чтобы не было введенных символов в ожидании

      delay(1000); //требуется задержка перед очисткой входного буфера
      while(Serial.available()>0) //очистить буфер
      {
        Serial.read();
      }


      // Прочитайте сообщение, которое будет отправлено
      Serial.print("Enter Message:");
      while(Serial.available()<=0); 
      cnt = Serial.readBytesUntil('\n',text, 160);
      text[cnt] = '\0';
      Serial.println(text);
      delay(1000);

      while(Serial.available()>0) //очистить буфер
      {
        Serial.read();
      }

      //Отправить сообщение и отобразить статус
      error = Sim800L.sendSms(number,text);
      if(error)
      Serial.println("Error Sending Message");
      Serial.println("Message Sent Successfully!");


}

, 👍1


1 ответ


1

Я обнаружил, что происходит. Модуль был отключен из-за перенапряжения.

,