Mini stacja pogody będzie mierzyła temperaturę otoczenia a także wilgotność powietrza
Co potrzebujemy?
https://flesztech.blogspot.com/arduino
Czujnik DHT11:
Schemat:
Oprogramowanie:
01 - DHT-sensor-library-master.zip
02 - Adafruit_Sensor-master.zip
te pliki znajdują się w naszej paczce z gotowcem:
Pobierz gotowiec wraz ze sketchem:
https://drive.google.com/open?id=1h8NSv_-HxGpEnDe0AN1IqJr9kNhlU0PI
Kod do wgrania:
#include <LiquidCrystal.h> // dołączam bibliotekę od obsługi lcd
#include <DHT.h> // dołączam bibliotekę od obsługi czujnika DHTxx (pamiętaj żeby zainstalować dodatkową bibliotekę Adafruit Unified Sensor Library)
#define DHTPIN 22 // pin dla czujnika
#define DHTTYPE DHT11 // rodzaj czujnika
const int rs = 8, en = 9, d4 = 4, d5 = 5, d6 = 6, d7 = 7; // piny do których podłączony jest wyświetlacz (jeśli masz wyświetlacz typu shield lcd)
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); // tworzę obiekt klasy LiquidCrystal o nazwie lcd o podanych parametrach
DHT dht(DHTPIN, DHTTYPE); // tworzę obiekt klasy DHT o nazwie dht o podanych parametrach
void setup() {
lcd.begin(16, 2); // inicjalizuję lcd
lcd.print("Czekaj..."); // napis kontrolny
dht.begin(); // inicjalizuję czujnik DHT
}
void loop() {
delay(2000); // czekam 2s
float temp = dht.readTemperature(); // tworzę zmienną typu float przechowującą pomiar temperatury
float wilg = dht.readHumidity(); // tworzę zmienną typu float przechowującą pomiar wilgotności
if (isnan(temp) || isnan(wilg)) { // sprawdzam czy nie ma błędu odczytu
lcd.home(); // kursor na 0, 0
lcd.print("Blad odczytu"); // wypisuję napis na lcd
return; // wychodzę z pętli
}
lcd.home(); // kursor na 0, 0
lcd.print("T: ");
lcd.print(temp); // wypisuję zmienną temp
lcd.print(" *C");
lcd.setCursor(0, 1); // kursor na drugi wiersz
lcd.print("W: ");
lcd.print(wilg); // wypisuję zmienną wilg
lcd.print(" %");
}
Gotowy efekt: