add Thermometer
This commit is contained in:
BIN
Thermometer/DHT.zip
Normal file
BIN
Thermometer/DHT.zip
Normal file
Binary file not shown.
56
Thermometer/Thermometer.ino
Normal file
56
Thermometer/Thermometer.ino
Normal 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
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user