Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Witam wszystkich. W tej instrukcji poprowadzę Cię przez kroki, aby stworzyć spersonalizowaną mini stację pogodową. Ponadto będziemy używać interfejsu API ThingSpeak do przesyłania naszych danych pogodowych na ich serwery, a także do czego służy stacja pogodowa, jeśli nawet nie będziemy mogli śledzić naszych danych pogodowych. Możesz zbudować go dla swoich projektów szkolnych/uczelnianych lub dla osobistych zainteresowań, to zależy wyłącznie od Ciebie. A więc zacznijmy.
Przede wszystkim potrzebujemy gotowych następujących elementów, zanim zaczniemy budować naszą mini stację pogodową. W przypadku odniesień do pinów możesz sprawdzić obrazy w tej sekcji instrukcji.
Kieszonkowe dzieci
Arduino Uno R3
Moduł WiFi ESP8266
Czujnik ciśnienia barometrycznego BMP180
Czujnik deszczu FC37
Czujnik temperatury i wilgotności DHT22
Przewody połączeniowe i zasilanie
Konto ThingSpeak
IDE Arduino
Krok 1: Tworzenie i konfigurowanie konta ThingSpeak
1. Aby utworzyć konto ThingSpeak, przejdź do tego linku.
2. Jeśli masz już konto, zaloguj się, w przeciwnym razie utwórz nowe konto.
3. Po przejściu do pulpitu kliknij „Nowy kanał”, aby utworzyć nowy kanał.
4. Wprowadź wybraną nazwę kanału w polu „Nazwa”.
5. Sprawdź pierwsze cztery pola i nazwij je odpowiednio „Temperatura”, „Wilgotność”, „Ciśnienie barometryczne” i „Deszcz”. Pozostałe pola pozostaw puste, ponieważ nie są nam potrzebne w tym projekcie. Kliknij przycisk „Zapisz” na dole.
6. Teraz zostaniesz przeniesiony do ekranu kanału. Kliknij zakładkę „Klucze API”.
7. Zobaczysz Write API key i Read API key. W przypadku tego projektu interesuje nas klucz Write API. Zanotuj ten klucz, ponieważ będziemy go później potrzebować.
(Dla odniesienia zobacz obrazy w tej sekcji ponumerowane od 1 do 3)
Krok 2: Połączenia
To bardzo ważny i kluczowy krok. Połączenia należy wykonywać ostrożnie, ponieważ czujniki są wrażliwe na zasilanie. Podanie nadmiernego napięcia może spowodować trwałe uszkodzenie czujników. Dla wygody sprawdź obraz w tej sekcji. Zawiera wszystkie połączenia.
BMP180 ---- PIN Arduino Uno R3 SDA -- A4
PIN SCL -- A5
GND -- GND
3V0-3,3V
DHT22 ----------- Arduino Uno R3
Pierwszy PIN (VCC) ---------- Zasilanie 5 V
2-gi PIN (DANE) -------- D4
Trzeci PIN (NC) --------- NIEUŻYWANY
4-ty PIN (GND) --------- GND
Połączenia czujnika deszczu (czujnik deszczu jest dostarczany z panelem czujnikowym)
I) Czujnik deszczu ----------- Arduino UNO R3:
VCC ----------- Pin zasilania 5 V
A0 ------------ A1
D0 ------------ D7
GND ----------- GND
II) Czujnik deszczu -------------- Panel czujnikowy
+ve terminal ----------------- +
-ve terminal ------------- -
ESP8266 ------------------ Arduino Uno R3
RX ------------------ D3
TX ------------------- D2
VCC i CH_EN ------------------- 3.3V
GND ------------------- GND
Uwagi: *Trzeci pin DHT jest nieużywany.
*Sprawdź krzyżowo połączenie pinów zasilania i masy każdego czujnika z płytką Arduino.
*Twój BMP180 może, ale nie musi mieć 5 pinów. To dlatego, że ma jeden pin do zasilania + 5 V, a drugi do + 3,3 V. Jeśli masz tylko jeden, po prostu podłącz pin zasilania do +3,3 V
Krok 3: Kod i ostatnie kroki
1. W pierwszym kroku zanotowałeś klucz Write API z ThingSpeak. Przypisz ten klucz jako wartość do mojej zmiennej API w kodzie.
2. Wprowadź swój SSID WiFi (nazwę połączenia Wi-Fi) i hasło w zmiennych mySSID i myPWD w kodzie.
3. Kliknij przycisk weryfikacji, aby potwierdzić, że kod działa poprawnie.
4. Prześlij kod. Sugeruję również usunięcie pinów zasilających czujniki (3,3 V i 5 V) przed wgraniem kodu i ponowne ich podłączenie po pomyślnym przesłaniu na płytkę Arduino.
*Uwaga: przed kompilacją kodu może być konieczne pobranie i zainstalowanie używanych przeze mnie bibliotek. Pobierz je z poniższych linków
Biblioteka DHT
Biblioteka BMP180
Po pobraniu zainstaluj je, przechodząc do Szkic -> Dołącz bibliotekę -> Dodaj bibliotekę. Zip… w swoim Arduino IDE.
* Możesz również przeszukiwać dołączone biblioteki w google.
Krok 4: Wideo
Uwaga specjalna: Zbudowałem ten projekt rok temu. Kiedy nagrałem ten film w dniu publikacji tego Instructable, dowiedziałem się, że mój czujnik BMP był uszkodzony. Musiałem więc zakomentować kod BMP i usunąć pole ciśnienia z ThingSpeak. Ale kod BMP powinien działać dobrze, o ile masz działający czujnik BMP, w przeciwieństwie do mnie. Poza tym sprawdziłem miesiąc temu i działało dobrze. Dziękuję.