2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:02
Wcześniej udostępniłem prostą stację pogodową, która wyświetlała temperaturę i wilgotność w okolicy. Problem polegał na tym, że aktualizacja zajęła trochę czasu, a dane nie były dokładne. W tym samouczku stworzymy system monitorowania pogody w pomieszczeniach, który może być pomocny w prowadzeniu notatek o temperaturze, wilgotności i ciśnieniu w pomieszczeniu.
Więc nie tracąc więcej czasu, zacznijmy.
Krok 1: Wymagania:
Oto lista części, których użyjemy do budowy.
- Czujnik GY-BME280………(Amazon US / Amazon EU)
- Arduino UNO……………………..(Amazon US / Amazon EU)
- Arduino Pro Mini…………………(Amazon US / Amazon EU)
- Wyświetlacz OLED 128*64…….(Amazon US/ Amazon EU)
- Deska do krojenia chleba ze zworami…….(Amazon US / Amazon EU)
Wraz z powyższymi komponentami potrzebujemy również kilku bibliotek:
- IDE Arduino
- Biblioteka Adafruit_BME280.h
- Biblioteka Adafruit_SH1106.h
- Biblioteka Adafruit_GFX.h
Krok 2: Połączenia:
Do komunikacji między urządzeniami wykorzystamy połączenie I2C. I2C wykorzystuje do komunikacji 2 piny danych szeregowych (SDA) i zegara szeregowego (SCL). Czyli w połączeniach podłączyłem piny w następującej konfiguracji:
- SDA = A5
- SCL = A4
- GND = GND
- VCC = 3,3v
Połączenia są takie same dla Arduino UNO i Pro Mini.
Krok 3: Kodowanie:
Przed wgraniem jakiegokolwiek kodu musimy zainstalować wymagane biblioteki. Aby zainstalować biblioteki Przejdź do >> Narzędzia >> Zarządzaj bibliotekami
W polu wyszukiwania wpisz nazwy bibliotek i zainstaluj wszystkie po kolei.
Po zainstalowaniu bibliotek zrestartuj IDE.
UWAGA: Biblioteki i kod dotyczą używanego przeze mnie czujnika i modułu OLED (Linki podane w poprzednim kroku). Jeśli używasz innych modułów, zapoznaj się z arkuszami danych, aby dowiedzieć się, jakie biblioteki są używane.
Wpisz poniższy kod w nowym pliku w Arduino IDE:
#włączać
#include #include #include #define OLED_RESET 4 Wyświetlacz Adafruit_SH1106(OLED_RESET); Adafruit_BME280 bme; void setup() { Serial.begin(9600); display.begin(SH1106_SWITCHCAPVCC, 0x3C); display.setFont(&FreeSerif9pt7b); display.display(); opóźnienie (2000); display.clearDisplay(); if (!bme.begin(0x76)) { Serial.println("Nie można znaleźć prawidłowego czujnika BME280, sprawdź okablowanie!"); natomiast (1); } } void loop() { display.clearDisplay(); Serial.print("Temperatura = "); Serial.print(bme.odczytTemperatura()); //drukuje w *C //Serial.print(bme.readTemperature() * 9 / 5 + 32); //drukuje w *F Serial.println("*C"); display.setTextSize(1); display.setTextColor (BIAŁY); display.setCursor(0, 15); display.print("Temp:"); display.print((int)bme.readTemperature()); //drukuje w *C //display.print(bme.readTemperature() * 9 / 5 + 32); //drukuje w *F display.println("*C"); display.display(); Serial.print("Ciśnienie = "); Serial.print(bme.readPressure()/100.0F); Serial.println("hPa"); display.setTextSize(1); display.setTextColor (BIAŁY); display.print("Naciśnij:"); display.print(bme.readPressure()/100.0F); display.println("Pa"); display.display(); Serial.print("Wilgotność = "); Serial.print(bme.readHumidity()); Serial.println("%"); display.setTextSize(1); display.setTextColor (BIAŁY); display.print("Szum:"); display.print((int)bme.readHumidity()); display.println("%"); display.display(); Serial.println(); opóźnienie (1000); }
Podłącz arduino do komputera, wybierz odpowiedni port i naciśnij upload. Po kilku sekundach powinieneś zobaczyć, że wyświetlacz się włącza.
Krok 4: Ostatnia uwaga:
Wyświetlacz pokaże temperaturę, wilgotność i ciśnienie atmosferyczne. Możesz także zobaczyć dane w Monitorze szeregowym. Możesz wprowadzać zmiany w kodzie lub projekcie według własnego uznania. W następnym samouczku zrobię ten obwód na płytce drukowanej i zbuduję dla niego obudowę. Upewnij się, że śledzisz, aby uzyskać więcej aktualizacji.
Jeśli interesujesz się robotyką i chcesz zrobić prostego robota, sprawdź mój ebook "Mini WiFi Robot". Zawiera instrukcję krok po kroku, jak zbudować prostego robota, którym można sterować przez sieć WiFi.
Mam nadzieję, że ta instrukcja jest pouczająca. Jeśli masz jakiekolwiek wątpliwości, śmiało pytaj w komentarzach.
Zalecana:
Stacja pogodowa NaTaLia: stacja pogodowa zasilana energią słoneczną Arduino Wykonana we właściwy sposób: 8 kroków (ze zdjęciami)
Stacja pogodowa NaTaLia: Stacja pogodowa zasilana energią słoneczną Arduino Wykonana we właściwy sposób: po roku udanej pracy w 2 różnych lokalizacjach dzielę się planami projektu stacji pogodowej zasilanej energią słoneczną i wyjaśniam, jak ewoluował w system, który może naprawdę przetrwać przez długi czas okresy z energii słonecznej. Jeśli obserwujesz
Inteligentna stacja pogodowa (przy użyciu Arduino): 5 kroków
Inteligentna stacja pogodowa (przy użyciu Arduino): Stacja pogodowa to obiekt, zarówno na lądzie, jak i na morzu, wyposażony w przyrządy i sprzęt do pomiaru warunków atmosferycznych w celu dostarczania informacji do prognoz pogody oraz badania pogody i klimatu. Wykonane pomiary obejmują temperaturę
Stacja pogodowa Arduino przy użyciu BMP280-DHT11 - temperatura, wilgotność i ciśnienie: 8 kroków
Stacja pogodowa Arduino przy użyciu BMP280-DHT11 - Temperatura, wilgotność i ciśnienie: W tym samouczku dowiemy się, jak zrobić stację pogodową, która będzie wyświetlać TEMPERATURĘ, WILGOTNOŚĆ I CIŚNIENIE na wyświetlaczu LCD TFT 7735Obejrzyj film demonstracyjny
Stacja pogodowa przy użyciu Arduino UNO: 7 kroków
Stacja pogodowa wykorzystująca Arduino UNO: Autor: Hazel YangTen projekt to stacja pogodowa wykorzystująca płytkę Arduino UNO do sterowania przepływem danych, czujnik DHT22 do zbierania danych i ekran OLED do wyświetlania danych
Zewnętrzna stacja pogodowa przy użyciu Arduino: 7 kroków
Zewnętrzna stacja pogodowa za pomocą Arduino: Użyte materiały: Ceny są przybliżone i oparte na pamięci. NodeMCU V3 Lua - 3 € Cyfrowy czujnik temperatury i wilgotności DTH 22 - 2 € Moduł czujnika fotorezystora (LDR) wykrywa światłoczułą fotodiodę dla Arduino - 0,80 € 1 zestaw/partia Czujnik wykrywania śniegu / deszczu