#include "DHT.h"
#define DHTTYPE DHT22 //DHT22 (AM2302), AM2321
uint8_t DHTPin = 38;
DHT dht(DHTPin, DHTTYPE);
float temperatura;
float umidade;
bool EstadoLed = false;
int leituraAnalogico = 0;
byte pwm= 0;
int limiteLuminosidade = 102; // Limiar para acionar o relé (10% do máximo)
int relePin = 11; // Defina o pino para o relé
int contadorRele = 0; // Variável para contar o número de acionamentos do relé
bool releEstadoAnterior = LOW; // Estado anterior do relé
void setup() {
Serial.begin(115200);
delay(100);
pinMode(DHTPin, INPUT);
dht.begin();
pinMode(14, INPUT_PULLUP);
pinMode(13, INPUT_PULLUP);
pinMode(4, OUTPUT);
pinMode(11, INPUT);
pinMode(10, OUTPUT);
pinMode(12, INPUT);
pinMode(47, OUTPUT);
digitalWrite(4,LOW);
Serial.println("led off");
pwm = 191;//Atribui 127 ao pwn (valores 0...255)
analogWrite(47,pwm);//escreve valor PWN na porta 47
Serial.print("Escrita PWM: ");
Serial.println(pwm);
}
void loop() {
temperatura = dht.readTemperature(); // Obtem os valores da temperatura
umidade = dht.readHumidity(); // Obtem os valores da umidade
Serial.print("Temepratura=");
Serial.println(temperatura);
Serial.print("umidade=");
Serial.println(umidade);
leituraAnalogico = analogRead(12);
analogWrite(47,leituraAnalogico/16);//escreve valor PWM na porta 47
Serial.print("Leitura de sinal analogico: ");
Serial.println(leituraAnalogico);
bool Botao1 (digitalRead(14));
bool Botao2 (digitalRead(13));
int ldr = analogRead(11);
Serial.print("LDR =");
Serial.println(ldr);
bool releAtivado = (ldr < limiteLuminosidade);
if (ldr < limiteLuminosidade) {
digitalWrite(relePin, HIGH); // Aciona o relé se a luminosidade estiver abaixo do limiar
Serial.println("Relé acionado");
} else {
digitalWrite(relePin, LOW); // Desativa o relé se a luminosidade estiver acima do limiar
Serial.println("Relé desativado");
}
releEstadoAnterior = releAtivado;
if (Botao1 == LOW && Botao2 == HIGH){
if(!EstadoLed){
digitalWrite(4, HIGH);
Serial.println("led on");
EstadoLed = true;
}
}
else if (Botao2 == LOW && Botao1 == HIGH){
if(EstadoLed){
digitalWrite(4, LOW);
Serial.println("led off");
EstadoLed = false;
}
}
delay(2000);
}Loading
esp32-s3-devkitc-1
esp32-s3-devkitc-1