Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Temperatuuri ja niiskuse jälgimine on oluline, kui teil on kasvuhoone või teil on tulevikus plaanis oma kasvuhoone mini nutikaks taluks täiendada.
Oma esimese juhendatava jaoks demonstreerin prototüübi loomist:
- Ühendage DHT11 temperatuuri ja niiskuse andur Arduino Mega 2560 -ga
- Programmeerige Arduino C -s andurite andmete lugemiseks
- Kuvage temperatuuri ja niiskuse andmed Arduinoga ühendatud LCD -ekraanil
- Juhendage Arduinole anduri andmete saatmine Raspberry Pi 3 mudelile B+
- Andurite andmete kuvamiseks kirjutage Pythonisse kood
Miks kasutada RPi ja Arduino koos?
Arduino ja RPi ühendus võimaldab suurepäraseid võimalusi, kui vajate Arduino suurepärast I/O -d ja võrgusuhtlust/multitreadingut/visuaale, milles RPi on palju parem.
Teisisõnu, me kasutame Arduinot intensiivsete ülesannete kontrollimiseks ja RPi intensiivsete ülesannete arvutamiseks.
Arduinode vastupidavad versioonid on saadaval Rugged-Circuits'is
Samm: hankige Arduino ja RPi riistvara
Arduino stardikomplektid on hõlpsasti saadaval ja võimaldavad teil katsetada erinevat tüüpi andurite ja vidinatega. Stardikomplekti ostmine läheb erinevate osade eraldi tellimise asemel odavamaks. Olen allpool esitanud mõned sidusettevõtte lingid, mis osutavad Banggoodile ja Amazon USA -le.
Arduino stardikomplekt (Banggood)
Arduino stardikomplekt (Amazon USA)
Element14 RPi 3 B+ emaplaat (Amazon USA)
Raspberry Pi 3 B+ ümbris (Amazon USA)
32 GB Micro SD -kaart (Amazon USA).
Samm: ühendage DHT11 ja LCD Arduinoga
Samm: programmeerige Arduino
#arduino-dht11-lcd2004
#Autor: Vasoo Veerapen
#https://www.instructables.com/member/VasooV/ #Loeb andmeid Arduinoga ühendatud DHT11 -st, kuvatakse LCD2004 -l ja saadab andmed jada kaudu Raspberry Pi -le
#kaasake
#kaasake
// LCD -ekraan on I2C siinil määratletud kui seadme number 0x27
LiquidCrystal_I2C LCD (0x27, 20, 4);
// DHT11 on ühendatud tihvtiga 8
dht DHT; #define sensorPin 8
// Raspberry Pi on ühendatud Serial 0 -ga
#define serialPi jada
tühine seadistus () {
lcd.algus (20, 4); // Vormistab LCD -ekraani liidese ja määrab ekraani mõõtmed (laius ja kõrgus) lcd.init (); lcd.taustavalgus (); serialPi.begin (9600); // Arduino jadamonitorile}
void loop () {
// Andurite andmete lugemine
int sensorData = DHT.read11 (sensorPin); ujuktemperatuur = DHT.temperatuur; ujuki niiskus = DHT.niiskus;
// Prinditemperatuur
lcd.setCursor (0, 0); lcd.print ("Temperatuur"); lcd.print (temperatuur); lcd.print ("C");
// Prindi niiskus
lcd.setCursor (0, 1); lcd.print ("Niiskus"); lcd.print (niiskus); lcd.print (" %");
// Saada temperatuuri ja niiskuse andmed Raspberry Pi -le
serialPi.print ("");
// Oodake 10 sekundit
viivitus (10000); }
Samm: töötav Arduino, LCD ja DHT11 seadistamine
Samm: ühendage Raspberry Pi Arduinoga
6. samm: RPi Pythoni kood USB -pordi jadaandmete lugemiseks
#rpi-arduino-dht11
#Raspberry Pi loeb Arduino temperatuuri ja niiskuse anduri andmeid
impordi seeria, string, aeg
#Selles näites kasutatakse /dev /ttyUSB0
#See võib teie puhul muutuda failiks/dev/ttyUSB1,/dev/ttyUSB2 jne. Ser = serial. Serial ('/dev/ttyUSB0', 9600)
#Järgmine koodiplokk töötab järgmiselt:
#Kui seeriaandmed on olemas, lugege rida, dekodeerige UTF8 andmed, #… eemaldage rea tähemärgi lõpp #… jagage andmed temperatuuriks ja niiskuseks #… eemaldage algus- ja lõppviidad () #… printige väljund Tõsi: kui ser.in_waiting> 0: rawserial = ser.readline () cookedserial = rawserial.decode ('utf-8'). Riba ('\ r / n') datasplit = cookedserial.split (',') temperatuur = andmete jagamine [0]. triip ('') print (temperatuur) print (niiskus)