// lista de definição de pinos
const int led1 = 33; // definição do pino 33 para led zona 1
const int led2 = 21; // definição do pino 21 para led zona 2
float sensor1 = 34; // definição do sensor1 para pino 22
float sensor2 = 32; // definição do sensor2 para o pino 34
const int buzzer1 = 25; // definição do buzzer para o pino 25
const int buzzer2 = 19; // definição do buzzer para o pino 19
const int rele1 = 35;
const int rele2 = 26;
const int botao1 = 14;
int b1_aux = 0; // variavel auxiliar para guardar o estado logico do botao
const int botao2 = 27;
int b2_aux = 0; // variavel auxiliar para guardar o estado logico do botao
const float BETA = 4095;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
analogReadResolution(12); // Configura ADC para 12 bits (0-4095)
// lista de definição saída ou entrada ///////////////////////////////
pinMode(led1, OUTPUT); // definir led1 como saída
pinMode(led2, OUTPUT); // definir led2 como saída
pinMode(sensor1, INPUT); // definir sensor1 como entrada
pinMode(sensor2, INPUT); // definir sensor2 como entrada
pinMode(buzzer1, OUTPUT); // definir buzzer1 como saída
pinMode(buzzer2, OUTPUT); // definir buzzer2 como saída
pinMode(rele1, OUTPUT); // definir rele1 como saida
pinMode(rele2, OUTPUT); // definir rele2 como saida
pinMode(botao1, INPUT); // definir botao1 como entrada
pinMode(botao2, INPUT); // definir botao2 como entrada
}
void loop() {
// put your main code here, to run repeatedly:
// conversão de temperatura ///////////////////////////////////////////
float analogValue1 = analogRead(34);
float temp1 = -(0.0359 * analogValue1) + 88.96;
Serial.print("Temperatura sensor 1: ");
Serial.print(temp1);
Serial.print(" ℃");
delay(50);
float analogValue2 = analogRead(32);
float temp2 = -(0.0359 * analogValue2) + 88.96;
Serial.print(" / Temperatura sensor 2: ");
Serial.print(temp2);
Serial.println(" ℃");
delay(50);
// ativação em caso de incêndio ////////////////////////////////////
// ativação em caso de incêndio ////////////////////////////////////
if (temp1 > 60)
{
digitalWrite(rele1, HIGH);
Serial.print("Relé zona 1 ativado");
delay(1000);
}
else // caso o sensor2 não detecte mais de 60 graus, tudo permanece desativado
{
digitalWrite(rele1, LOW);
Serial.print("Relé zona 1 desativado");
delay(1000);
}
if (temp2 > 60)
{
digitalWrite(rele2, HIGH);
Serial.println(" / Relé zona 2 ativado");
delay(1000);
}
else // caso o sensor2 não detecte mais de 60 graus, tudo permanece desativado
{
digitalWrite(rele2, LOW);
Serial.println(" / Relé zona 2 desativado");
delay(1000);
}
// botão de alarme /////////////////////////////////////////////////
// botão de alarme /////////////////////////////////////////////////
int b1_aux = digitalRead(botao1); // codigo para guardar a informação logica do botao1
int b2_aux = digitalRead(botao2); // codigo para guardar a informação logica do botao2
if ((b1_aux == 1) || (temp1 > 60))
{
digitalWrite(led1, HIGH);
digitalWrite(buzzer1, HIGH);
Serial.print("Botão 1 ativado: "); // neste caso se o botao estiver desativado, e o sensor maracra mais de 60 graus, vai aparecer como se estivesse ativado
Serial.print(b1_aux);
delay(1000);
}
else
{
digitalWrite(led1, LOW);
digitalWrite(buzzer1, LOW);
Serial.print("Botão 1 desativado: ");
Serial.print(b1_aux);
delay(1000);
}
if ((b2_aux == 1) || (temp2 > 60))
{
digitalWrite(led2, HIGH);
digitalWrite(buzzer2, HIGH);
Serial.print(" / Botão 2 ativado: ");
Serial.println(b2_aux);
delay(1000);
}
else
{
digitalWrite(led2, LOW);
digitalWrite(buzzer2, LOW);
Serial.print(" / Botão 2 desativado: ");
Serial.println(b2_aux);
delay(1000);
}
}