Hi friends, i have a doubt to setting a logical problem, how can i setup my fan L9110 here the model https://wiki.keyestudio.com/Ks0168_keyestudio_L9110_fan_control_module .
I need to power on when the temperature occurs on 28ºC and power off example 27ºC.
This is my code:
<
#include "DHTesp.h"
#define RELAY_FAN_PIN 2
#define TEMP_UPPER_THRESHOLD 28.0 // upper temperature threshold
#define TEMP_LOWER_THRESHOLD 27.0 // lower temperature threshold
DHTesp dht;
void setup()
{
Serial.begin(115200);
Serial.println();
Serial.println("Status\tHumidity (%)\tTemperature (C)");
String thisBoard= ARDUINO_BOARD;
Serial.println(thisBoard);
dht.setup(5, DHTesp::DHT22);
void loop()
{
delay(dht.getMinimumSamplingPeriod());
float humidity = dht.getHumidity();
float temperature = dht.getTemperature();
Serial.print("Humidade : ");
Serial.print(humidity, 1);
Serial.print("\t");
Serial.print("Temperatura : ");
Serial.print(temperature, 1);
Serial.print("\t");
if (temperature >= TEMP_UPPER_THRESHOLD) {
digitalWrite(RELAY_FAN_PIN, HIGH); // turn on
Serial.println("--> Ventilador ligado"); }
else if (temperature <= TEMP_LOWER_THRESHOLD) {
digitalWrite(RELAY_FAN_PIN, LOW); // turn off }
Serial.println("--> Ventilador desligado");
Serial.println("\t"); }
{
delay(2000);
}
}
/>
pylon
February 28, 2022, 3:17pm
2
The code probably work so I guess there's a hardware problem but we haven't seen a wiring diagram yet.
Now the code works
#include <DHT.h>
#define DHT_SENSOR_PIN 5 // Sensor de Temperatura e Humidade na porta D1
#define DHT_SENSOR_TYPE DHT22
#define TEMP_UPPER_THRESHOLD 29.5 // Temperatura máxima para ligar ventilador.
DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE);
int INA = 2; //Ventilador ligado na porta D4
void setup()
{
Serial.begin(9600);
dht_sensor.begin(); // inicializa o sensor de Temperatura e Humidade
pinMode(INA,OUTPUT);
}
void loop()
{
analogWrite(INA, 255);
float temperature = dht_sensor.readTemperature();;
float humidity = dht_sensor.readHumidity();;
Serial.print("Humidade : ");
Serial.print(humidity, 1);
Serial.print("\t");
Serial.print("\t Temperatura : ");
Serial.print(temperature, 1);
Serial.print("\t");
if (temperature >= TEMP_UPPER_THRESHOLD) {
digitalWrite(INA, LOW);
Serial.println("Ventilador Ligado");
}
else
(temperature < TEMP_UPPER_THRESHOLD) {
digitalWrite(INA, HIGH);
Serial.println("Ventilador Desligado");
}
delay(1000);
}
I Don´t know why works with "analogWrite(INA, 255);" and do not works with "digitalWrite(INA, 255);
pylon
March 1, 2022, 7:16pm
4
Probably because you forgot to set the pinMode of that pin to OUTPUT.
system
Closed
August 28, 2022, 7:17pm
5
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.