Skip to main content
1 of 2
opu 웃
  • 123
  • 1
  • 2
  • 6

Turning LED On/Off by using SIM808 with Arduino Mega

I am trying to turn an LED on/off by using GSM 808 module. Here #a0 = LED off and #a1 = LED on. I have used lcdShow function to display characters in LCD display. But nothing appears on display. What is wrong in this code?

#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 웃
  • 123
  • 1
  • 2
  • 6