Spisu treści:
- Krok 1: Zdobycie sprzętu Arduino i RPi
- Krok 2: Podłącz DHT11 i LCD do Arduino
- Krok 3: Zaprogramuj Arduino
- Krok 4: Działająca konfiguracja Arduino, LCD i DHT11
- Krok 5: Podłącz Raspberry Pi do Arduino
- Krok 6: Kod RPi Python do odczytu danych szeregowych portu USB
Wideo: Temperatura i wilgotność od Arduino do Raspberry Pi: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Śledzenie temperatury i wilgotności jest ważne, jeśli masz szklarnię lub masz plany na przyszłość, aby zmienić swoją szklarnię w mini-inteligentną farmę.
W moim pierwszym Instructable pokażę, jak stworzyć prototyp:
- Podłącz czujnik temperatury i wilgotności DHT11 do Arduino Mega 2560
- Zaprogramuj Arduino w C, aby odczytać dane z czujnika
- Wyświetlaj dane temperatury i wilgotności na wyświetlaczu LCD podłączonym do Arduino
- Poinstruuj Arduino, aby wysłał dane z czujnika do Raspberry Pi 3 Model B+
- Napisz kod w Pythonie, aby wyświetlić dane czujnika
Dlaczego warto używać razem RPi i Arduino?
Połączenie Arduino i RPi może zapewnić duże możliwości, jeśli potrzebujesz wejść / wyjść, w których Arduino przoduje, oraz komunikacji sieciowej / wielowątkowości / wizualizacji, w których RPi jest znacznie lepszy.
Innymi słowy, będziemy używać Arduino do zadań wymagających dużej kontroli, a RPi do zadań wymagających dużej mocy obliczeniowej.
Wzmocnione wersje Arduino są dostępne w Rugged-Circuits
Krok 1: Zdobycie sprzętu Arduino i RPi
Zestawy startowe Arduino są łatwo dostępne i pozwalają eksperymentować z różnymi rodzajami czujników i gadżetów. Zakup zestawu startowego jest tańszy niż zamawianie różnych części osobno. Poniżej podaję kilka linków partnerskich wskazujących na Banggood i Amazon US.
Zestaw startowy Arduino (Banggood)
Zestaw startowy Arduino (Amazon USA)
Płyta główna Element14 RPi 3 B+ (Amazon USA)
Obudowa Raspberry Pi 3 B+ (Amazon USA)
Karta Micro SD 32 GB (Amazon USA).
Krok 2: Podłącz DHT11 i LCD do Arduino
Krok 3: Zaprogramuj Arduino
#arduino-dht11-lcd2004
#Autor: Vasoo Veerapen
#https://www.instructables.com/member/VasooV/ #Odczytuje dane z DHT11 podłączonego do Arduino, wyświetla na LCD2004 i wysyła dane przez port szeregowy do Raspberry Pi
#włączać
#włączać
//Wyświetlacz LCD jest zdefiniowany jako numer urządzenia 0x27 na magistrali I2C
LiquidCrystal_I2C lcd (0x27, 20, 4);
//DHT11 jest podłączony do pinu 8
dht DHT; #define sensorPin 8
//Raspberry Pi jest podłączone do portu szeregowego 0
#define serialPi Serial
pusta konfiguracja () {
lcd.początek(20, 4); // Inicjuje interfejs do ekranu LCD i określa wymiary (szerokość i wysokość) wyświetlacza lcd.init(); podświetlenie LCD(); serialPi.początek(9600); //Arduino do monitora szeregowego }
pusta pętla () {
//Odczytaj dane czujnika
int sensorData = DHT.read11(sensorPin); temperatura pływaka = DHT.temperatura; wilgotność pływakowa = DHT.wilgotność;
//Temperatura druku
lcd.setCursor(0, 0); lcd.print("Temperatura"); lcd.print(temperatura); lcd.print("C");
//Drukuj wilgotność
lcd.setCursor(0, 1); lcd.print("Wilgotność"); lcd.print(wilgotność); lcd.print("%");
//Wyślij dane temperatury i wilgotności do Raspberry Pi
serialPi.print("");
//Poczekaj 10 sekund
opóźnienie (10000); }
Krok 4: Działająca konfiguracja Arduino, LCD i DHT11
Krok 5: Podłącz Raspberry Pi do Arduino
Krok 6: Kod RPi Python do odczytu danych szeregowych portu USB
#rpi-arduino-dht11
#Raspberry Pi odczytuje dane z czujnika temperatury i wilgotności z Arduino
importuj numer seryjny, ciąg, czas
#W tym przykładzie użyto /dev/ttyUSB0
#W twoim przypadku może się to zmienić na /dev/ttyUSB1, /dev/ttyUSB2 itd. ser = serial. Serial('/dev/ttyUSB0', 9600)
#Poniższy blok kodu działa tak:
#Jeśli obecne są dane szeregowe, odczytaj wiersz, zdekoduj dane UTF8, #…usuń końcowe znaki końca wiersza #…podziel dane na temperaturę i wilgotność #…usuń początkowe i końcowe wskaźniki () #…wydrukuj dane wyjściowe podczas Prawda: jeśli ser.in_waiting > 0: rawserial = ser.readline() cookedserial = rawserial.decode('utf-8').strip('\r\n') datasplit = cookedserial.split(', ') temperature = datasplit[0].strip('') print(temperatura) print(wilgotność)
Zalecana:
Temperatura i wilgotność przy użyciu ESP32-DHT22-MQTT-MySQL-PHP: 7 kroków
Temperatura i wilgotność przy użyciu ESP32-DHT22-MQTT-MySQL-PHP: Moja dziewczyna chciała szklarnię, więc ją zrobiłem. Ale chciałem mieć czujnik temperatury i wilgotności wewnątrz szklarni. Szukałem więc przykładów i zacząłem eksperymentować. Doszedłem do wniosku, że wszystkie przykłady, które znalazłem, nie były dokładnie takie
Automatyzacja szklarni z LoRa! (Część 1) -- Czujniki (temperatura, wilgotność, wilgotność gleby): 5 kroków
Automatyzacja szklarni z LoRa! (Część 1) || Czujniki (temperatura, wilgotność, wilgotność gleby): W tym projekcie pokażę, jak zautomatyzowałem szklarnię. Oznacza to, że pokażę Ci, jak zbudowałem szklarnię i jak podłączyłem elektronikę energetyczną i automatykę. Pokażę ci również, jak zaprogramować płytkę Arduino, która używa L
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
Esp32-Ubidots-Wireless-dalekiego zasięgu Temperatura i wilgotność: 6 kroków
Esp32-Ubidots-Wireless-long-range Temperature-And-Humidity: W tym samouczku zmierzymy różne dane temperatury i wilgotności za pomocą czujnika temperatury i wilgotności. Dowiesz się również, jak przesłać te dane do Ubidots. Abyś mógł go analizować z dowolnego miejsca dla różnych zastosowań
Dzień tygodnia, kalendarz, godzina, wilgotność/temperatura z oszczędzaniem baterii: 10 kroków (ze zdjęciami)
Dzień tygodnia, kalendarz, czas, wilgotność / temperatura z oszczędzaniem baterii: Tryb oszczędzania energii odróżnia ten Instruktaż od innych przykładów pokazujących dzień tygodnia, miesiąc, dzień miesiąca, godzinę, wilgotność i temperaturę. To właśnie ta zdolność pozwala na uruchomienie tego projektu z akumulatora, bez t