Escolar Documentos
Profissional Documentos
Cultura Documentos
//------------------------------------------------------------------
//------------------------------------------------------------------
//------------------------------------------------------------------
//Lista de variáveis
String dados;
int h_1;
int m_1;
int h_2;
int m_2;
int t_s; //tempo de duração do acionamento em segundos
int rele = 2;
int demosComida1=0;
int demosComida2 = 0;
char entrada; // variável que receberá o dado vindo do aplicativo
int segundos = 60 ;
int flag = 0;
;
//------------------------------------------------------------------
//------------------------------------------------------------------
void setup()
{
Serial.begin(9600); // inicializa a transmissão serial (115200)
SerialBT.begin("HELP_PETZ"); //inicializa a SerialBT (do ESP)
pinMode(rele, OUTPUT); // Define o RELE_01 como saída
//------------------------------------------------------------------
if (!rtc.begin()) { //Se o RTC nao for inicializado, faz
Serial.println("RTC NAO INICIALIZADO"); //Imprime o texto
while (1); //Trava o programa
}
//rtc.adjust(DateTime(2023, 5, 17, 11, 25, 00)); //Ajusta o tempo do RTC para a
data e hora definida pelo usuario.
delay(100); //100 Milissegundos
//------------------------------------------------------------------
void loop()
{
if (SerialBT.available() > 0) {
dados = SerialBT.readString();
if (dados.startsWith("<")) {
dados.remove(0, 1);
h_1 = (dados.toInt());
dados.remove(0, ((dados.indexOf(",")) + 1));
m_1 = (dados.toInt());
dados.remove(0, ((dados.indexOf(",")) + 1));
h_2 = (dados.toInt());
dados.remove(0, ((dados.indexOf(",")) + 1));
m_2 = (dados.toInt());
dados.remove(0, ((dados.indexOf(",")) + 1));
t_s = (dados.toInt());
dados.remove(0, ((dados.indexOf(">")) + 1));
}
}
while(flag==1){
digitalWrite(rele,HIGH);
segundos--;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Tempo: ");
lcd.setCursor(0,1);
lcd.print("00:");
if(segundos<10){
lcd.print("0");
}
lcd.print(segundos);
delay(1000);
while(flag==2){
digitalWrite(rele, HIGH);
segundos--;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Tempo: ");
lcd.setCursor(0,1);
lcd.print("00:");
if(segundos<10){
lcd.print("0");
}
lcd.print(segundos);
delay(1000);
//Quando zerar o tempo
if(segundos == 0){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("fim");
segundos = 20;
flag = 0;
digitalWrite(rele, LOW);
delay(1000);