add Thermometer

This commit is contained in:
2025-06-11 15:37:32 +02:00
commit f28c0a586a
2 changed files with 56 additions and 0 deletions

BIN
Thermometer/DHT.zip Normal file

Binary file not shown.

View File

@@ -0,0 +1,56 @@
#include <LiquidCrystal.h>
#include <dht_nonblocking.h>
#define DHT_SENSOR_TYPE DHT_TYPE_11
static const int DHT_SENSOR_PIN = 2;
DHT_nonblocking dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE);
// LCD: RS E D4 D5 D6 D7
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
// Funzione di misura
static bool measure_environment(float *temperature, float *humidity)
{
static unsigned long measurement_timestamp = 0;
// Ogni 3 secondi (3000ms)
if (millis() - measurement_timestamp > 3000ul)
{
if (dht_sensor.measure(temperature, humidity) == true)
{
measurement_timestamp = millis();
return true;
}
}
return false;
}
void setup()
{
lcd.begin(16, 2);
lcd.print("Avvio...");
}
void loop()
{
float temperature;
float humidity;
if (measure_environment(&temperature, &humidity))
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperature, 1);
lcd.print((char)223); // Simbolo ° (gradi)
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Umid: ");
lcd.print(humidity, 1);
lcd.print("%");
}
// Nessun delay! Lascia il loop girare veloce
}