hi guys kinda get stoped in my progaming i need someone to help me with the code to do the following, i already have in my code the use of a push botton to send a sms.
now i want to be able to send a sms and put a relay on and delay 2000 auto off
if possible the code should be able to chose only the white list numbers to put on the relay
thanks
code
SoftwareSerial sim800l(2, 3); // RX,TX for Arduino and for the module it's TXD RXD, they should be inverted
#define button1 7 //Button pin, on the other pin it's wired with GND
#define RELAY_PIN 9
bool button_State; //Button state
bool prev_State = HIGH;
void setup()
{
pinMode(button1, INPUT_PULLUP); //The button is always on HIGH level, when pressed it goes LOW
sim800l.begin(9600); //Module baude rate, this is on max, it depends on the version
Serial.begin(9600);
delay(1000);
}
void loop()
{
button_State = digitalRead(button1); //We are constantly reading the button State
if (button_State != prev_State && button_State == LOW) {
Serial.println("botao on"); //Shows this message on the serial monitor
delay(200); //Small delay to avoid detecting the button press many times
SendSMS(); //And this function is called
}
if (sim800l.available()){ //Displays on the serial monitor if there's a communication from the module
Serial.write(sim800l.read());
}prev_State = button_State;
}
void SendSMS()
{
Serial.println("Sending SMS...");
sim800l.print("AT+CMGF=1\r"); //Set the module to SMS mode
delay(100);
sim800l.print("AT+CMGS=\",,,,,\"\r"); //phone number
delay(500);
sim800l.print("1"); //mensage send
delay(500);
sim800l.print((char)26);
delay(500);
sim800l.println();
Serial.println("Text Sent.");
delay(500);
}