Olá pessoal, estou com dificuldade no meu código e não sei onde to errando, estou desenvolvendo um sistema de irrigamento onde tem um modulo sim800L e um sensor de umidade de solo, o sensor ira fazer a leitura do solo e enviando para sim800L que por sua vez ira enviei um SMS para um celular qualquer dizendo se o solo esta com baixa umidade ou umidade normal .
esse é o código que estou usando podem me da uma ajuda <3
#include <SoftwareSerial.h>
SoftwareSerial chip(10, 11);
String SeuNumero = "+55920000000"; //Digite seu celular com +55, o DDD da sua cidade e o seu numero com o 9 na frente
#define sensor A0
bool BaixaUmid = 0, AltaUmid = 0;
byte UmidPercent = 0, umidade = 0, ValorAnterior = 0;
int ValorAnalogIn = 0;
void setup()
{
Serial.begin(9600);
Serial.println("Inicializando Sistema...");
delay(5000);
chip.begin(9600);
delay(1000);
pinMode(sensor, INPUT); //Configura o Pino do Sensor como Entrada
ValorAnterior = analogRead(sensor); //Captura um primeiro valor de referencia inicial para a variavel ValorAnterior
}
void loop()
{
//Le o valor do pino A0 do sensor
ValorAnalogIn = analogRead(sensor); //Leitura do Valor Analógico do Sensor
UmidPercent = map(ValorAnalogIn, 1023, 0, 0, 100); //Mapeando o valor entre 0 e 100
umidade = 100 - UmidPercent;
if ( (umidade > (ValorAnterior) + 1) || (umidade < (ValorAnterior) - 1))
{
if (umidade < 60 && BaixaUmid == 0)
{
BaixaUmid = 1;
AltaUmid = 0;
MensUmidBaixa();
}
if (umidade >= 60 && AltaUmid == 0)
{
AltaUmid = 1;
BaixaUmid = 0;
MensUmidNormal();
}
ValorAnterior = umidade;
}
}
void MensUmidBaixa() //Funcao para enviar mensagem de alerta Umidade Baixa
{
chip.println("AT+CMGF=1\r\n");
delay(1000);
chip.println("AT+CMGS=\"+5592000000\"\r\n");
delay(1000);
String SMS = "Baixa Umidade";
chip.println(SMS);
delay(100);
chip.println((char)26);
delay(1000);
}
void MensUmidNormal()//Funcao para enviar mensagem de alerta Umidade Normal
{
chip.println("AT+CMGF=1\r\n");
delay(1000);
chip.println("AT+CMGS=\"+559200000\"\r\n");
delay(1000);
String SMS = "Umidade Normal";
chip.println(SMS);
delay(100);
chip.println((char)26);
delay(1000);
}