//LEDS
#define LEDR 23
#define LEDA 22
#define LEDB 21
#define LEDW 19
//FOTORESISTENCIA Y SERVO
#include <ESP32Servo.h>
#define SENSOR_PIN 4 // Pin analógico para el sensor de luz
#define SERVO_PIN 5 // Pin del servo motor
Servo servo;
//SENSOR DE HUMEDAD
#include "DHTesp.h"
int pinDHT = 15;
DHTesp dht;
int h;
//BOTONES
// Declaramos el pin al que estará conectado el pulsador
int pinPulsador=18;
void setup()
{
//LEDS
pinMode(LEDR, OUTPUT);
pinMode(LEDA, OUTPUT);
pinMode(LEDB, OUTPUT);
pinMode(LEDW, OUTPUT);
//FOTORESISTENCIA Y SERVOMOTOR
Serial.begin(115200);
servo.attach(SERVO_PIN);
//HUMEDAD
Serial.begin(115200);
//Inicializamos el dht
dht.setup(pinDHT, DHTesp::DHT22);
//BOTON
pinMode(pinPulsador, INPUT);
}
void loop()
{
//FOTORESISTENCIA Y SERVO
int lightValue = analogRead(4);
Serial.print("Valor de luz: ");
Serial.println(lightValue);
if (lightValue > 513) {
// Si la luz es mayor que 513 lux, mueve el servo a 90 grados
servo.write(90);
delay(1000); // Puedes ajustar el tiempo de espera según tus necesidades
} else {
// Si la luz es menor o igual a 513 lux, mantén el servo en otra posición
// Puedes ajustar esta posición según tus necesidades
servo.write(0);
}
delay(100);
//BOTONES
if (digitalRead(pinPulsador) == HIGH) {
digitalWrite(LEDW, HIGH);
}
//de lo contrario apagamos el led
else {
digitalWrite(LEDW, LOW);
}
delay(10);
//SENSORHUMEDACION
//Obtenemos el arreglo de datos (humedad y temperatura)
TempAndHumidity data = dht.getTempAndHumidity();
h = data.humidity;
//Mostramos los datos de la temperatura y humedad
Serial.println("Temperatura: " + String(data.temperature, 2) + "°C");
Serial.println("Humedad: " + String(data.humidity, 1) + "%");
Serial.println("-a-r-r-e-m-a-n-g-a-l-a-r-e-m-p-u-j-a-l-a-");
delay(1000);
if (h < 33) {
// Humedad < 33%, enciende el LED rojo
digitalWrite(LEDB, LOW);
digitalWrite(LEDA, LOW);
digitalWrite(LEDR, HIGH);
} else if (h >= 33 && h <= 66) {
// 33% <= Humedad <= 66%, enciende el LED amarillo
digitalWrite(LEDB, LOW);
digitalWrite(LEDA, HIGH);
digitalWrite(LEDR, LOW);
} else {
// Humedad > 66%, enciende el LED verde
digitalWrite(LEDB, HIGH);
digitalWrite(LEDA, LOW);
digitalWrite(LEDR, LOW);
}
}