SIM800L не реагирует на AT-команды

gsm sim800

SIMM800L, подключенный к Arduino UNO, не реагирует на AT-команды. Последовательный монитор останавливается на "инициализация..."

светодиод мигает каждые 3 секунды VDD --> подключен к 5v Arduino uno

    #include <SoftwareSerial.h>

//Создание программного последовательного объекта для связи с SIM800L
SoftwareSerial mySerial(3, 2); //SIM800L Tx & Rx подключены к Arduino #3 & #2

void setup()
{
  //Начать последовательную связь с Arduino и Arduino IDE (монитор последовательного порта)
  Serial.begin(9600);
  
  //Начать последовательную связь с Arduino и SIM800L
  mySerial.begin(9600);

  Serial.println("Initializing...");
  delay(1000);

  mySerial.println("AT"); //После успешного прохождения теста на установление связи он вернется к состоянию ОК
  updateSerial();
  mySerial.println("AT+CSQ"); //Тест качества сигнала, диапазон значений 0-31, 31 - наилучшее
  updateSerial();
  mySerial.println("AT+CCID"); //Считываем информацию о SIM-карте, чтобы подтвердить, подключена ли SIM-карта
  updateSerial();
  mySerial.println("AT+CREG?"); //Проверяем, зарегистрировался ли он в сети
  updateSerial();
}

void loop()
{
  updateSerial();
}

void updateSerial()
{
  delay(500);
  while (Serial.available()) 
  {
    mySerial.write(Serial.read());//Переслать то, что получил Serial, на программный последовательный порт
  }
  while(mySerial.available()) 
  {
    Serial.write(mySerial.read());//Переслать то, что получил программный последовательный порт, на последовательный порт
  }
}

, 👍-1


1 ответ


0

В последнее время я много работал с SIM800L, и обычно люди, работая с ним, совершают одни и те же ошибки:

  1. SIM800L, как ожидается, будет поставляться с напряжением 4 В, а не 5 В.
  2. Для этого требуется ток силой до 2 А, чего не может обеспечить Arduino, работающая от USB.
  3. Arduino работает с логическим уровнем 5 В, а SIM800L — с 3,3 В. Поэтому вам нужно использовать преобразователь уровней или хотя бы подключить вывод RX SIM800L через резистивный делитель — два резистора 5 кОм и 10 кОм.
  4. Вывод GND Arduino должен быть подключен к выводу GND SIM800L.

Каждый из этих пунктов может быть причиной того, что ваш SIM800L не отвечает. Убедитесь, что все эти требования выполнены, иначе вы можете даже сжечь свой GSM-модуль.

,