Arduino Project DHT11

Arduino project #1

Κομμάτια που περιέχονται

  1. Arduino Uno R3 (Επεξεργαστής)
  2. DHT11 (αισθητήρας θερμοκρασίας και υγρασίας)
  3. LCD 16x2 (Liquid Crystal Display)(Οθόνη 16*2)
  4. Buzzer (Χτυπάει όταν φτάσει η θερμοκρασία πάνω από 28 βαθμούς Κελσίου ή όταν κατέβει τους 25 βαθμούς Κελσίου)
  5. Breadboard (Άσπρο κομμάτι που εκεί πάνω γίνονται όλες οι συνδέσεις για ευκολία)
  6. Jumper Cables Female to Male (Καλώδια θηλυκά προς Αρσενικά)
  7. Jumper Cables Male to Male (Καλώδια Αρσενικά προς Αρσενικά)

Κώδικας C++

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int buzzerPin = 9;
const int highTempThreshold = 28;
const int lowTempThreshold = 25;
void setup() {
  lcd.begin(16, 2);
  lcd.backlight();
  pinMode(buzzerPin, OUTPUT);
  dht.begin();
}
void loop() {
  float temperature = dht.readTemperature();
  float humidity = dht.readHumidity();
  if (isnan(temperature) || isnan(humidity)) {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("DHT11 not found");
    lcd.setCursor(0, 1);
    lcd.print("Check connections");
    tone(buzzerPin, 1000);
    delay(500);
    noTone(buzzerPin);
    delay(500);
  } else {
    lcd.setCursor(0, 0);
    lcd.print("Temp: ");
    lcd.print(temperature);
    lcd.print(" C");
    lcd.setCursor(0, 1);
    lcd.print("Humidity: ");
    lcd.print(humidity);
    lcd.print("%");
    if (temperature > highTempThreshold || temperature < lowTempThreshold) {
      tone(buzzerPin, 1000, 1000);
      delay(2000);
      noTone(buzzerPin);
    }
  }
  delay(2000);
}
Βιβλιοθήκες στο Arduino IDE
Wire
LiquidCrystal_I2C
DHT
Φωτογραφίες του πειράματος

Leave a Reply