/* =======================================================================
Proyecto : PI UNC Catedra Proyecto Integrado SCAPI
ESP-WROOM-32
Board: DevKitV1
Compilador: Arduino IDE
Version: 2.3.3-nightly-20240409
CLI Version: 0.36.0-rc.1
Copyright © 2024 Arduino SA
Autor: Francisco Rene Esteban
Data: Mayo 2024
======================================================================= */
// =======================================================================
// --- Mapeo de Hardware ---
#include "DHT.h"
#define pinSensorTHZona01 13 //Pin del Sensor #1 DHT11.
#define activarRelay HIGH // codigo que se carga a ESP32 es LOW
#define desactivarRelay LOW // codigo que se carga a ESP32 es HIGH
#define relayN1 15
#define relayN2 2
//#define an1 2
#define an2 4
//#define an3 13
#define an4 34
DHT sensorDHTZ01( pinSensorTHZona01 , DHT22); // codigo que se carga a ESP32 es DHT11
// =======================================================================
// --- Configuraciones iniciales
void setup()
{
Serial.begin(115200);
pinMode(relayN1, OUTPUT);
pinMode(relayN2, OUTPUT);
//pinMode(out_test, OUTPUT);
sensorDHTZ01.begin() ;
//set the resolution to 12 bits (0-4095)
analogReadResolution(12);
} //end setup
// =======================================================================
// --- Loop Infinito ---
void loop()
{
// float voltage1 = analogRead(an1)*(3.3/4095.0);
float voltaje2 = analogRead(an4)*( 4.55/4095); // tem analogReadMilliVolts
delay(100) ;
// float voltaje3 = analogRead(an2) ;
float voltaje3a = analogRead(an2)*(4.55/4095); // lm35
delay(100) ;
//float voltaje3b = analogRead(an2)*(4.55/4095) ; // lm35
float tempC = voltaje3a*100.0 ; // 10mv/1ªc = 10/1000 v/c = 1/100 v/c
if(voltaje2 > 1.5) digitalWrite(relayN1, activarRelay);
else digitalWrite(relayN1, desactivarRelay);
// if(voltaje2 > 2.0) digitalWrite(relayN1, HIGH);
// else digitalWrite(relayN2, LOW);
if( tempC > 45.0 )
{
digitalWrite ( relayN2, activarRelay );
Serial.println (" Alta temperatura activando salida a Rele para enfriar. ");
} else
{
digitalWrite( relayN2, desactivarRelay );
Serial.println(" Temperatura Normal, sin alarma ");
}
Serial.print("Temperatura: ");
Serial.print((unsigned)tempC);
Serial.print(" ºC ");
Serial.print(". Nivel de tension en Volt ");
Serial.print( voltaje3a );
Serial.println(" Volt ");
Serial.print( " Voltage pin an4 pin gpio 34 : ");
Serial.print( voltaje2 );
Serial.println( " Volt ");
// Serial.println( mill() );
delay(3000); // 3 segundos
float t1 = sensorDHTZ01.readTemperature();
float h1 = sensorDHTZ01.readHumidity();
while ( (isnan(t1) || isnan(h1)) ) {
Serial.print("Lectura fallida en el sensor ZONA #1, reintentando lectura nro ...");
//Serial.println(intentosContador);
delay(2000);
//intentosContador = intentosContador + 1 ;
t1 = sensorDHTZ01.readTemperature();
h1 = sensorDHTZ01.readHumidity();
}
Serial.print("Temperatura ZONA #1: ");
Serial.print(t1);
Serial.println(" ºC.");
Serial.print("Humedad ZONA #1: ");
Serial.print(h1);
Serial.println(" %.");
Serial.println("-----------------------");
} //end loop