arduino_ale
unknown
c_cpp
5 years ago
1.3 kB
8
Indexable
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
float hum; // Variabile per l'umidità
float temp; // Temperatura
float prevTemp;
#define POMPA_MOTORE 2
#define SENS_TEMP 7
#define SENS_UMID A3
#define DHTTYPE DHT22
LiquidCrystal_I2C lcd(0x27, 16, 2);
DHT dht(SENS_TEMP, DHTTYPE);
void setup()
{
pinMode(SENS_UMID, INPUT); // Sensore umidità
pinMode(POMPA_MOTORE, OUTPUT); // Motore pompa
pinMode(SENS_TEMP, INPUT);
Serial.begin(9600); // Inizializzazione dela board con 9600
lcd.begin(); // Inizializziamo l'LCD
lcd.print("Loading...");
dht.begin(); // Inizializziamo il sensore di temperatura
}
void loop()
{
delay(500);
prevTemp = temp;
hum = analogRead(SENS_UMID); // Porta Analogica per il sensore di umidità
temp = dht.readTemperature(); // Lettura temperatura
lcd.clear(); // Clear del contenuto dell'LCD
if(!isnan(temp))
{
lcd.print(temp); // Stampa la temperatura
} else {
lcd.print("Calculating..."); // Altrimenti aspettiamo che "calcoli" hehe
}
// Se il valore dell'umidità è superiore a 600 attiva pompa altrimenti disattivala
if (hum > 600)
{
digitalWrite(POMPA_MOTORE, HIGH); // Pompa attivata
}
else
{
digitalWrite(POMPA_MOTORE, LOW); // Pompa disattivata
}
}Editor is loading...