Spis treści:
- 1 Sprawdzaj pogodę na własnoręcznie zbudowanej stacji meteorologicznej!
- 2 Stacja pogodowa na Arduino – moduł czujnika temperatury i wilgotności DHT11 – zasada działania
- 3 Stacja meteo na Arduino – podłączenie czujnika
- 4 Stacja meteo na Arduino – podłączenie wyświetlacza LCD
- 5 Stacja pogodowa na Arduino – kod programu
- 6 Stacja pogodowa na Arduino – opcje dodatkowe
Arduino zdobyło sobie bardzo długą listę użytkowników, a także projektów, które w oparciu o tą płytkę można zbudować – jednym z nich, jest stacja pogodowa.
Sprawdzaj pogodę na własnoręcznie zbudowanej stacji meteorologicznej!
W niniejszym artykule, prezentujemy przykładowy projekt stacji pogodowej DIY, wykonanej w oparciu o platformę Arduino UNO R3. Projekt obejmuje opis podłączenia poszczególnych podzespołów, a także kod programu napisanego w środowisku Arduino IDE.
Stacja pogodowa na Arduino – moduł czujnika temperatury i wilgotności DHT11 – zasada działania
W tym projekcie skorzystamy ze zintegrowanego czujnika pomiarowego DHT11 od Seeed Studio. Moduł ten jest czujnikiem temperatury i wilgotności. Jego niewielkie wymiary pozwalają na montaż w każdej obudowie, nawet o najmocniej ograniczonej ilości fizycznego miejsca. Czujnik DHT11 jest przystosowany do współpracy z płytkami bazowymi opartymi na mikrokontrolerach. Jego konstrukcja umożliwia precyzyjne wykonywanie pomiarów temperatury otoczenia z dokładnością na poziomie ±1°C, a także pomiarów wilgotności powietrza z dokładnością na poziomie ±1%. Zakres praktycznych zastosowań czujnika DHT11, obejmuje m.in. monitoring warunków środowiskowych na uprawach roślin, współpracę z systemami nawilżania i pochłaniania wilgoci z powietrza oraz pomiar warunków pogodowych. Zasada działania czujnika DHT11 opiera się na pojemnościowym czujniku wilgotności i termistorze. Pomiary są wykonywane na wolnym powietrzu. Wyjście czujnika stanowi sygnał cyfrowy. Z tego względu, tworząc kod programu pod niniejszą aplikację, konieczne jest zainstalowanie dodatkowej biblioteki, dzięki której będziemy mogli na podstawie cyfrowego sygnału z czujnika, odczytać rzeczywistą wartość wilgotności i temperatury. Pojedynczy pomiar jest wykonywany w 2-sekundowych odstępach czasowych.
Stacja meteo na Arduino – podłączenie czujnika
Teraz zaczniemy podłączanie elementów naszej stacji pogodowej, rozpoczynając od czujnika temperatury i wilgotności. Czujnik DHT11 ma trzy wyprowadzenia. Wyprowadzenie “S” podłączamy do pinu “5V” w Arduino, a wyprowadzenie “-” do masy (“GND”). Natomiast środkowe wyprowadzenie podłączamy do pinu “A1”.
Stacja meteo na Arduino – podłączenie wyświetlacza LCD
Wyświetlacz LCD będzie nam pokazywał odczyt temperatury i wilgotności w czasie rzeczywistym. Sposób podłączenia jego wyprowadzeń jest następujący:
D7 –> pin “D2” w Arduino
D6 –> pin “D3” w Arduino
D5 –> pin “D4” w Arduino
D4 –> pin “D5” w Arduino
E – > pin “D11” w Arduino
RS –> pin “D12” w Arduino
VDD –> pin “5V” w Arduino
A –> pin “5V” w Arduino
VSS –> pin “GND” w Arduino
K –> pin “GND” w Arduino
RW –> pin “GND” w Arduino
VO –> Środkowe wyprowadzenie potencjometru do regulacji kontrastu wyświetlacza. Skrajne piny potencjometru należy podłączyć odpowiednio dowolnie z pinami “5V” i “GND” w Arduino
Stacja pogodowa na Arduino – kod programu
Poniższy kod programu należy skopiować do środowiska Arduino IDE oraz wgrać do pamięci Arduino. Aby kod prawidłowo działał, konieczne jest zainstalowanie biblioteki dht.h, która obsługuje czujnik DHT11. Bibliotekę można pobrać z repozytorium GitHub.
#include <liquidcrystal.h> //inicjacja biblioteki obslugujacej wyswietlacz LCD
#include <dht.h> //inicjacja biblioteki obslugujacej czujnik DHT11
#define dht_dpin A1 //przypisanie pinowi A1 nazwy dht_dpin A1
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Ustawienie pinow dla wyswietlacza LCD
void setup(){
;lcd.begin(16, 2);
lcd.print("TEMP WILGOTNOSC");
Serial.begin(57600); //rozpoczecie transmisji szeregowej z predkoscia 57600 baudow
}
void loop(){
lcd.setCursor(1,3);
DHT.read11(dht_dpin);
//lcd.print(abs(moisture));
//Serial.println(moisture);
lcd.print(round(DHT.TEMP)); //wyswietlanie zaokraglowej wartosci temp.
lcd.print("*C "); //wyswietlanie znaku stopni Celsjusza
lcd.print(round(DHT.WILGOTNOSC)); //wyswietlanie zaokraglonej wartosci wilgotnosci
lcd.print("% ");
}
Stacja pogodowa na Arduino – opcje dodatkowe
Aby stacja była bardziej wygodna w użytkowaniu, polecamy cały projekt umieścić w obudowie z tworzywa sztucznego lub pleksiglasu. Do tego celu, najlepiej skorzystać z gotowej obudowy wycinanej laserowo, która pomieści płytkę Arduino, wyświetlacz i czujnik DHT11. Jeśli natomiast chcemy ustawić kontrast wyświetlacza na stałe, wówczas potencjometr można schować do środka obudowy, bez konieczności nawiercania dodatkowego otworu.
Leave a Reply