/**
ESP32 + DHT22 Example for Wokwi
https://wokwi.com/arduino/projects/322410731508073042
*/
#include "DHTesp.h"
const int DHT_PIN = 15;
const int LED_AZUL_PIN = 27;
const int LED_VERDE_PIN = 26;
const int LED_VERM_PIN = 25;
const int LED_ROXO_PIN = 33;
char input_data = 0;
unsigned char Buffer[80] = {};
unsigned char BufferLen = 0;
unsigned char b[8] = {0x5A, 0xA5, 0x05, 0x82, 0x21, 0x00, 0x00, 0x00};
DHTesp dhtSensor;
void setup() {
Serial.begin(115200);
getValueSensor();
pinMode(LED_AZUL_PIN, OUTPUT);
pinMode(LED_VERDE_PIN, OUTPUT);
pinMode(LED_VERM_PIN, OUTPUT);
pinMode(LED_ROXO_PIN, OUTPUT);
}
char getValueSensor(){
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
Serial.println("---");
return data.temperature;
}
void loop() {
while(Serial.available()){
Buffer[BufferLen] = Serial.read();
BufferLen++;
//Serial.println(BufferLen);
}
// 0x5A 0xA5 0x06 0x83 0x55 0x00 0x01 0x00 0x01 -WORD INT
//5A A5 06 83 55 00 01 00 01 - Recebido
// Buffer[0] = 0x5A;
// Buffer[1] = 0xA5;
// Buffer[2] = 0x06;
// Buffer[3] = 0x83;
// Buffer[4] = 0x55;
// Buffer[5] = 0x03;
// Buffer[6] = 0x01;
// Buffer[7] = 0x00;
// Buffer[8] = 0x01;
BufferLen = 8;
// Buffer = {0x5A, 0xA5, 0x06, 0x83, 0x55, 0x03, 0x01, 0x00, 0x01};
if(BufferLen == 8){
// BufferLen = 5A A5 06 83 55 00 01 00 01
if (Buffer[0] == 0x5A){
if(Buffer[3] == 0x83 ){
if(Buffer[4] == 0x55){
switch(Buffer[5]){
case 0x00:
digitalWrite(LED_AZUL_PIN, Buffer[8]);
break;
case 0x01:
digitalWrite(LED_VERDE_PIN, Buffer[8]);
break;
case 0x02:
digitalWrite(LED_VERM_PIN, Buffer[8]);
break;
case 0x03:
digitalWrite(LED_ROXO_PIN, Buffer[8]);
break;
default:
break;
}
}
}
}
}
}