#include<SoftwareSerial.
h>
#include <Crescer.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
Tempora temp1;
LiquidCrystal_I2C lcd(0x27,16,2);
SoftwareSerial gsm(2, 3); // RX, TX
String avalia = "";
int conta = 0;
void setup() {
// Open serial communications and wait for port
to open:
[Link](9600);
[Link](9600);
[Link](500);
[Link](); // initialize
the lcd
[Link]();
// Print a message to the LCD.
[Link]();
[Link](0,0);
[Link]("A Casa da Automacao");
[Link](0,1);
[Link]("A0: ");
delay(6000);
[Link]("Rodando");
comando ("AT");
comando ("AT+CMGF=1");
comando ("ATE0");
delay(1500);
comando ("AT+CNMI=1,2,0,0,0");
pinMode(4, INPUT_PULLUP);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
digitalWrite(11, 1);
digitalWrite(12, 1);
}
int teste;
void loop() { // run over and over
if ([Link](1))
{
teste = analogRead(A0);
if(teste>=1000) [Link](4,1),
[Link](teste);
else
{
[Link](5,1);
[Link](teste);
[Link](4,1);
[Link](" ");
}
[Link](0);
}
String comp = "";
if ([Link]() > 0) {
String msggsm = "";
while ([Link]() > 0)
{
char letra = [Link]();
if (isAlphaNumeric(letra)) msggsm += letra;
}
int tam = [Link]();
comp += msggsm[tam - 2];
comp += msggsm[tam - 1];
[Link]("MSG1: ");
[Link](msggsm);
[Link]("comp: ");
[Link](comp);
[Link](12,1);
[Link](comp);
if (comp == "L1")
{
digitalWrite(11, 0);
[Link]("Ligou1");
}
else if (comp == "D1")
{
digitalWrite(11, 1);
[Link]("Desligou1");
}
else if (comp == "L2")
{
digitalWrite(12, 0);
[Link]("ligou2");
}
else if (comp == "D2")
{
digitalWrite(12, 1);
[Link]("Desligou2");
}
delay(300);
}
int entrada = digitalRead(4);
if (entrada == 0 or comp == "Le")
{
comando ("AT+CMGF=1");
comando ("ATE0");
comando ("AT+CNMI=1,2,0,0,0");
[Link]("AT+CMGS=");
[Link](0x22);//aspa dupla
[Link]("+555198240925");
[Link](0x22);//aspa dupla
[Link]();
delay(1000);
[Link]("Valor da entrada A0: ");
// delay(4000);
[Link](teste);
[Link](teste);
// delay(5000);
[Link](0x1A);
[Link](0x0D);
[Link](0x0A);
[Link]("fim1");
// delay(4000);
[Link]("fim2");
}
// [Link] (entrada);
// [Link] (" - ");
// [Link] (teste);
}
Regras: boa alimentação, SIM testado (com carga ok)
Comandos AT
comando Retorno Uso
AT OK Verificar se a instalação está correta
AT+CMGF=1 OK Coloca o módulo em modo de texto
ATE0 OK Ainda não está claro
AT+CNMI=1,2,0,0,0 OK Seta como indicar o recebimento do SMS
AT+CMGS="+5565981472237" > Abre editor da mensagem
Ctrl+Z Sai da edição e envia a mensagem
AT+CMGL=”ALL” MSGs Lista as mensagens
Shield GSM SIM800C -- 5V (soldado direto)
Fonte externa -- +5Vcc / 500mA
Arduino -- 5V
LCD I2C -- VCC
Adicionar capacitor de 220uF
Shield Relé -- VCC
Shield GSM SIM800C – GND (soldado direto)
Arduino -- GND
Fonte externa -- GND
LCD I2C -- GND
Shield Relé -- GND
Shield GSM SIM800C - GND Shield GSM SIM800C - PWK
Arduino Uno - 2 Shield GSM SIM800C - TXD
Arduino Uno - 3 Shield GSM SIM800C - RXD
Arduino Uno - 4 Tecla para envio de mensagem (outro pino GND)
Arduino Uno - 11 Shield Relé IN1
Arduino Uno - 12 Shield Relé IN2
Arduino Uno - A0 Potenciômetro gerando variação de 0 a 5 volts
Arduino Uno - A4 LCD I2C - SDA
Arduino Uno - A5 LCD I2C - SCL
Shield GSM SIM800C