/* Πώς να χρησιμοποιήσετε τον αισθητήρα DHT-11 με Arduino Uno
Αισθητήρας θερμοκρασίας και υγρασίας
Ανάπτυξη: Michalis Vasilakis // Ημερομηνία: 1/7/2015 // www.ardumotive.com */
// Βιβλιοθήκες
#include <DHT.h>
// Σταθερές
#define DHTPIN 2 // Σύνδεση του αισθητήρα στο pin 2
#define DHTTYPE DHT11 // Ορίζουμε τον τύπο του αισθητήρα (DHT11)
// Αρχικοποίηση του αισθητήρα DHT
DHT dht(DHTPIN, DHTTYPE);
// Μεταβλητές
int led = 13; // LED συνδεδεμένο στο pin 13
float hum; // Αποθήκευση της τιμής υγρασίας
float temp; // Αποθήκευση της τιμής θερμοκρασίας
void setup()
{
// Εκκίνηση της σειριακής επικοινωνίας για την αποστολή δεδομένων
Serial.begin(9600);
dht.begin(); // Εκκίνηση του αισθητήρα DHT
pinMode(led, OUTPUT); // Ορισμός του pin 13 ως έξοδος για το LED
}
void loop()
{
// Ανάγνωση δεδομένων από τον αισθητήρα
hum = dht.readHumidity(); // Διαβάζει την υγρασία
temp = dht.readTemperature(); // Διαβάζει τη θερμοκρασία
// Εμφάνιση των τιμών στη σειριακή κονσόλα
Serial.print("Υγρασία: ");
Serial.print(hum);
Serial.print(" %, Θερμοκρασία: ");
Serial.print(temp);
Serial.println(" °C");
// Ελέγχουμε αν η θερμοκρασία είναι μεγαλύτερη από 25°C
digitalWrite(led, LOW); // Σβήνουμε το LED (ασφαλής αρχικοποίηση)
if (temp > 40) { // Εάν η θερμοκρασία είναι υψηλή
digitalWrite(led, HIGH); // Ανάβουμε το LED
Serial.println("ΠΡΟΣΟΧΗ! ΥΨΗΛΗ ΘΕΡΜΟΚΡΑ"); // Εμφανίζουμε μήνυμα
}
delay(2000); // Καθυστέρηση 2 δευτερολέπτων
}