#include <DHTesp.h>
#include <CTBot.h>
#define LDR_PIN 32
#define LED 2
#define FOTOCELDA 36
#define HUMEDAD 39
CTBot bot_planta;
DHTesp dhtSensor;
String TOKEN = "6226909466:AAFwaYnBCiQKhyCkTVyGyZ4lEmqifr3YbR0";
String SSID = "Wokwi-GUEST";
String PSWD = "";
String Mensaje ="";
const int DHT_PIN = 15;
const int led1 = 4; // D4
const int led2 = 27; // D27
const float GAMMA = 0.7;
const float RL10 = 50;
void setup() {
Serial.begin(115200);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
bot_planta.wifiConnect(SSID, PSWD);
bot_planta.setTelegramToken(TOKEN);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(LDR_PIN, INPUT);
pinMode(FOTOCELDA, INPUT);
pinMode(HUMEDAD, INPUT);
if (bot_planta.testConnection()){
Serial.println (" Conectado correctamente con Telegram ");
pinMode(LED,HIGH);
}else{
Serial.println ( "No Conecto Correctamente con Telegram");
}
}
void loop() {
TBMessage mensaje;
if(bot_planta.getNewMessage(mensaje)){
Serial.println( "Hay un nuevo mensaje en el chat de Telegram ");
Serial.print("Enviado por:");
Serial.println(mensaje.sender.id);
Serial.print("Contenido Mensaje");
Serial.println(mensaje.text);
}
int valorFotocelda = analogRead(FOTOCELDA);
//int Fotocelda = (analogRead(FOTOCELDA)/4);
Serial.println ("El valor analogico de la Fotocelda es:"+ String (Fotocelda));
/*float voltage = valorFotocelda / 1024. * 5;
float resistance = 2000 * voltage / (1 - voltage / 5);
float lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));
*/
int valorHumedad = analogRead(HUMEDAD);
Serial.println ("El valor analogico de la Humedad es:"+ String (valorHumedad));
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
//Serial.println("luminidad: " + String(lux) + "%");
Serial.println("---");
if(data.temperature > 36){
Serial.println("la temperatura es mayor de 36°C");
Serial.println("---");
Mensaje = "Necesito un poco de agua";
bot_planta.sendMessage(mensaje.sender.id,Mensaje);
digitalWrite(led1, HIGH);// Led color azul
}else {
Serial.println("la temperatura es menor de 36 °C");
Serial.println("---");
Mensaje = "El ambiente esta un poco frio";
bot_planta.sendMessage(mensaje.sender.id,Mensaje);
digitalWrite(led1, LOW); // Led color azul
}
if(data.humidity > 50){
Serial.println( "la humedad en mayor de 50 °C, Esta un poco lluvioso");
Serial.println("---");
digitalWrite (led2, HIGH); // Led color rojo
}else{
Serial.println("la humendad es menor de 50 °C");
Serial.println("---");
digitalWrite (led2, LOW); // Led color rojo
}
delay(1500);
}