Включение/выключение светодиода с помощью SIM808 с Arduino Mega
Я пытаюсь включить / выключить светодиод с помощью модуля GSM 808. Здесь #a0 = СВЕТОДИОД выключен
, а #a1 = светодиод включен
. Я использовал функцию lcdShow для отображения символов на ЖК-дисплее. Но на дисплее ничего не появляется. Что не так в этом коде?
#include <SoftwareSerial.h>
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
//I2C pins declaration
LiquidCrystal_I2C lcd (0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
SoftwareSerial SIM808 (10, 11);
char inchar;
const int LED = 2;
void setup ()
{
Serial.begin (9600);
SIM808.begin (9600);
delay (10000);
SIM808.print ("AT+CMGF=1\r");
delay (100);
SIM808.print ("AT+CNMI = 2,2,0,0,0\r");
delay (100);
lcd.begin (16, 2);
lcd.backlight ();
delay (1000);
pinMode (LED, OUTPUT);
digitalWrite (LED, HIGH);
}
void loop ()
{
if (SIM808.available () > 0)
{
inchar = SIM808.read ();
if (inchar == '#')
{
lcdShow (inchar);
delay (10);
inchar = SIM808.read ();
if (inchar == 'a')
{
lcdShow (inchar);
delay (10);
inchar = SIM808.read ();
if (inchar == '0')
{
lcdShow (inchar);
digitalWrite (LED, LOW);
}
else if (inchar == '1')
{
lcdShow (inchar);
digitalWrite (LED, HIGH);
}
}
}
SIM808.println ("AT+CMGD = 1,4");
}
}
void lcdShow (char i)
{
lcd.setCursor (0, 0);
lcd.print (i);
delay (5000);
}
@opu 웃, 👍0
1 ответ
▲ -1
Во-первых, ваш код был действительно плохо отформатирован, что затрудняло понимание того, что он делает.
После переформатирования мое лучшее предположение о том, почему ваш ЖК-дисплей пуст, заключается в том, что SIM808 не имеет никаких доступных данных. выведите что-нибудь в операторе else.
Далее может случиться так, что ЖК-дисплей не работает, распечатайте что-нибудь в setup()
.
Возможно, вы также захотите добавить задержку в loop()
, чтобы Arduino не спамил ваш SIM808.
,
@Code Gorilla
Смотрите также:
- Моделирование Arduino Mega 2560 с GSM модулем с использованием Proteus
- Модуль SIM808: команда определения местоположения GSM (AT+CIPGSMLOC=1,1) дает неверное значение после выполнения команды отправки сообщения (AT+CMGS=+91xxxxxxxx)
- Arduino GSM Shield GSM_READY никогда не готов
- Arduino Mega + SIM808 GSM + модуль GPS + программа включается без нажатия кнопки?
- Как извлечь широту и долготу из GPS
- SIM800L — AT-команды ничего не делают на последовательном мониторе Arduino
- Можно ли изменить официальную библиотеку шилдов arduino GSM для работы с аппаратным serial на mega?
- Проблема с отправкой SMS с GSM SIM900