![Joonistage DHT11 andmed Raspberry Pi ja Arduino UNO abil: 7 sammu Joonistage DHT11 andmed Raspberry Pi ja Arduino UNO abil: 7 sammu](https://i.howwhatproduce.com/images/004/image-9255-8-j.webp)
Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-23 14:40
![Joonistage DHT11 andmed Raspberry Pi ja Arduino UNO abil Joonistage DHT11 andmed Raspberry Pi ja Arduino UNO abil](https://i.howwhatproduce.com/images/004/image-9255-9-j.webp)
Selles juhendis selgitatakse, kuidas joonistada temperatuurianduri DHT11 andmed Arduino Uno ja Raspberry Pi abil. Selles temperatuuriandur on ühendatud Arduino Unoga ja Arduino Uno on järjestikku ühendatud Raspberry Pi -ga. Raspberry Pi Side'is kasutatakse graafikute joonistamiseks matplotlib, numpy ja drawow raamatukogusid.
Samm: projekti jaoks vajalikud asjad
![Projekti jaoks vajalikud asjad Projekti jaoks vajalikud asjad](https://i.howwhatproduce.com/images/004/image-9255-10-j.webp)
![Projekti jaoks vajalikud asjad Projekti jaoks vajalikud asjad](https://i.howwhatproduce.com/images/004/image-9255-11-j.webp)
![Projekti jaoks vajalikud asjad Projekti jaoks vajalikud asjad](https://i.howwhatproduce.com/images/004/image-9255-12-j.webp)
1. Vaarika Pi
2. Arduino Uno
3. DHT11 temperatuuriandur
4. Jumper Traadid
5. Leivalaud
Samm: laadige alla ja installige Arduino IDE rakendusse Raspberry Pi
![Laadige alla ja installige Arduino IDE Raspberry Pi -sse Laadige alla ja installige Arduino IDE Raspberry Pi -sse](https://i.howwhatproduce.com/images/004/image-9255-13-j.webp)
![Laadige alla ja installige Arduino IDE Raspberry Pi -sse Laadige alla ja installige Arduino IDE Raspberry Pi -sse](https://i.howwhatproduce.com/images/004/image-9255-14-j.webp)
![Laadige alla ja installige Arduino IDE Raspberry Pi -sse Laadige alla ja installige Arduino IDE Raspberry Pi -sse](https://i.howwhatproduce.com/images/004/image-9255-15-j.webp)
Märkus:- Arduino UNO-s eskiisi üleslaadimiseks saate kasutada Windowsi, Linuxi või Maci Arduino IDE-d.
Esimene samm on installida Arduino IDE selle avatud brauseri jaoks Raspberry Pi -s ja avada allolev link
Arduino Eelmine IDE
Seejärel laadige alla Linuxi ARM -i versioon ja ekstraktige see käsuga
tar -xf faili nimi
Pärast kaevandamist näete uut kataloogi. Siin kasutan arduino-1.8.2 IDE. Seejärel minge käsu abil kataloogi.
cd arduino-1.8.1
Arduino IDE käivitamiseks kasutage seda käsku kataloogis arduino-1.8.2
./arduino
Kuidas kasutada raamatukogusid
Arduino teekide installimiseks laadige lihtsalt raamatukogu alla ja kleepige arduino 1.8.2 ==> teegid kausta.
MÄRKUS.-Veenduge, et endise (DHT-anduri) raamatukogu kaustas pole (-). Kui on (-), nimetage see ümber.
selles juhendis kasutame kahte raamatukogu, DHT_Sensor ja Adafruit_Sensor
Samm: Arduino kood
![Arduino kood Arduino kood](https://i.howwhatproduce.com/images/004/image-9255-16-j.webp)
Nüüd laseme pythonil ja Arduinoil rääkida. Esiteks vajame lihtsat programmi, et saada Arduino andmeid jadaporti saatma. Järgmine programm on lihtne programm, mis loeb Arduino ja saadab andmed jadaporti.
Arduino kood
#segu "DHT.h" float tempC; // Muutuv või hoidev temperatuur C float tempF; // Muutuja temperatuuri hoidmiseks F -ujuki niiskuses; // Muutuja rõhunäidu hoidmiseks
#define DHTPIN 7 // millise digitaalse tihvtiga oleme ühendatud
#defineeri DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// DHT -anduri lähtestamine.
DHT dht (DHTPIN, DHTTYPE);
void setup () {Serial.begin (115200); // jadamonitori sisselülitamine
dht.begin (); // initsialiseeri dht}
void loop () {tempC = dht.readTemperature (); // Kindlasti deklareerige oma muutujad
niiskus = dht.readHumidity (); // Lugege niiskust
Serial.print (tempC);
Serial.print (",");
Serial.print (niiskus);
Serial.print ("\ n"); // uue linedelay jaoks (2000); // Lugemiste vahel paus. }
Kui visand on koostatud, valige tahvel ja port ning laadige see üles.
Samm: seadistage Raspberry Pi
![Seadistage Raspberry Pi Seadistage Raspberry Pi](https://i.howwhatproduce.com/images/004/image-9255-17-j.webp)
Kui kood on üles laaditud, installige mõned teegid, et saaksime joonistada Arduino Unost järjestikku saabuvate andmete graafiku.
1. PySerial on raamatukogu, mis toetab jadaühendusi erinevates seadmetes. Selle installimiseks kasutage käsku.
Sudo apt-get install python-serial
2. Numpy on pakett, mis määratleb mitmemõõtmelise massiiviobjekti ja sellega seotud kiired matemaatikafunktsioonid. Samuti pakub see lihtsaid rida lineaarse algebra ja FFT (Fast Fourier Transform) ning keeruka juhuslike numbrite genereerimise jaoks. Saate selle installida mitmel viisil, kasutades apt paketti või pip. Siin ma installin pip abil, et kõigepealt peame pip installima
sudo apt-get install python-pip python-dev build-essential
sudo pip install numpy
või kui soovite kasutada apt paketti
sudo apt install python-numpy
3. Matplotlib on 2D joonestusteek, mis pakub objektile orienteeritud API-d graafikute manustamiseks rakendustesse, kasutades üldotstarbelisi GUI tööriistakomplekte, nagu Tkinter, wxPython, Qt või GTK+. Selle installimiseks kasutage käsku
sudo pip install matplotlib
või
sudo apt install python-matplotlib
4. Tavaliselt kasutatakse tulemuste nägemiseks pärast iga iteratsiooni drawnow, kuna kasutame MATLAB -is "imshow". Selle installimiseks kasutage käsku
sudo pip install installitud
Samm: Python Scipt
![Python Scipt Python Scipt](https://i.howwhatproduce.com/images/004/image-9255-18-j.webp)
![Python Scipt Python Scipt](https://i.howwhatproduce.com/images/004/image-9255-19-j.webp)
Järgmine samm on kirjutada pythoni skript, mille kirjutamiseks saate kasutada mis tahes redaktorit.
1. Joonistage andmed ühes graafikus
import serial # impordi jadateek
import numpy # Import numpy
impordi matplotlib.pyplot plt #import matplotlib raamatukoguna
tõmmatud impordist *
tempC = #Tühi massiivniiskus =
arduino = jada. Seriaalne ("/dev/ttyACM0", 115200)
plt.ion () # interaktiivne režiim reaalajas andmete loendamiseks = 0
def makeFig (): #Loo funktsioon, mis teeb meie soovitud graafiku
plt.ylim (20, 30) #Määra y min ja max väärtused
plt.title ('Reaalajas DHT11 andmed') #Plot the title
plt.grid (True) #Lülitage võrk sisse
plt.ylabel ('Temp C') #Set ylabel
plt.plot (tempC, 'b^-', label = 'C-kraad') #plot temperatuuri
plt.legend (loc = 'ülemine parem') #plot legend
plt2 = plt.twinx () #Loo teine y telg
plt.ylim (50, 70) #Määrake teise y telje piirid
plt2.plot (niiskus, 'g*-', silt = 'niiskus') #plot rõhu andmed
plt2.set_ylabel ('Niiskus') #silt teine y telg
plt2.ticklabel_format (useOffset = False)
plt2.legend (loc = 'ülemine vasak')
samas tõsi: # Kuigi silmus, mis kordub igavesti
while (arduino.inWaiting () == 0): #Oota siin, kuni on andmeid
pass #ära tee midagi
arduinoString = arduino.readline ()
dataArray = arduinoString.split (',') #Jagage see massiiviks
temp = float (dataArray [0])
hum = ujuk (dataArray [1])
tempC.append (temp)
niiskus. lisa (hum)
tõmmatud (makeFig)
plt. paus (.000001)
count = loendama+1, kui (loend> 20): #võtke ainult viimased 20 andmeid, kui andmeid on rohkem, siis need hüppavad esimesena
tempC.pop (0)
niiskus. pop (0)
2. Eraldi joonistada niiskus ja temperatuur
import serial # impordi jadateek
import numpy # Import numpy
impordi matplotlib.pyplot plt #import matplotlib raamatukoguna
tõmmatud impordist *
tempC = #Tühi massiiv
niiskus =
arduino = jada. Serial ("/dev/ttyACM0", 115200) #Seriaalne port, millega arduino on ühendatud ja Baudrate
plt.ion () #Rääkige matplotlib, et soovite interaktiivset režiimi reaalajas andmete joonistamiseks
def CreatePlot (): #Loo funktsioon, mis teeb meie soovitud graafiku
plt.subplot (2, 1, 1) #Height, Width, First plot
plt.ylim (22, 34) #Määra y min ja max väärtused
plt.title ('Reaalajas DHT11 andmed') #Plot the title
plt.grid (True) #Lülitage võrk sisse
plt.ylabel ('Temp C') #Set ylabels
plt.plot (tempC, 'b^-', label = 'C-kraad') #plot temperatuuri
plt.legend (loc = 'ülemine kese') #plot legend
plt.plokk (2, 1, 2) # Kõrgus, laius, teine graafik
plt.grid (tõsi)
plt.ylim (45, 70) #Määrake teise y telje piirid
plt.plot (niiskus, 'g*-', silt = 'niiskus (g/m^3)') #plot niiskuse andmed
plt.ylabel ('Niiskus (g/m^3)') #sildi teine y telg
plt.ticklabel_format (useOffset = False) #automaatse skaala y telje peatamiseks
plt.legend (loc = 'ülemine keskus')
samas tõsi: # Kuigi silmus, mis kordub igavesti
while (arduino.inWaiting () == 0): #Oota siin, kuni andmed edastatakse #ära tee midagi
arduinoString = arduino.readline () #loe andmeid jadapordist
dataArray = arduinoString.split (',') #Jagage see massiiviks
temp = float (dataArray [0]) #Teisenda esimene element ujuvaks numbriks ja pane temp
hum = ujuk (dataArray [1]) #Teisenda teine element ujuvaks numbriks ja pane hum
tempC.append (temp) #Ehitage meie tempC massiiv, lisades temp lugemise
niiskust. lisage (hum) #Ehitage meie niiskusmassiiv, lisades üminäitu
drawow (CreatePlot)
plt. paus (.000001)
loendama = loendama+1
kui (arv> 20): #võtke ainult viimased 20 andmeid, kui andmeid on rohkem, siis need hüppavad esimesena
tempC.pop (0) # avaneb esimene element
niiskus. pop (0)
6. samm: vooluahela skeem
![Lülitusskeem Lülitusskeem](https://i.howwhatproduce.com/images/004/image-9255-20-j.webp)
![Lülitusskeem Lülitusskeem](https://i.howwhatproduce.com/images/004/image-9255-21-j.webp)
![Lülitusskeem Lülitusskeem](https://i.howwhatproduce.com/images/004/image-9255-22-j.webp)
Arduino ==> DHT11
3.3V ==> VCC
GND ==> GND
D7 ==> VÄLJA
Soovitan:
Tehke Arduino reaalajas andmetest ilusad joonised (ja salvestage andmed Excelisse): 3 sammu
![Tehke Arduino reaalajas andmetest ilusad joonised (ja salvestage andmed Excelisse): 3 sammu Tehke Arduino reaalajas andmetest ilusad joonised (ja salvestage andmed Excelisse): 3 sammu](https://i.howwhatproduce.com/images/002/image-5402-j.webp)
Tehke Arduino reaalajas andmetest ilusaid graafikuid (ja salvestage andmed Excelisse): meile kõigile meeldib mängida meie P … loterifunktsiooniga Arduino IDE -s. Kuigi see võib olla kasulik põhirakenduste jaoks, kustutatakse andmed veelgi lisatakse punkte ja see pole eriti meeldiv silmale. Arduino IDE plotter ei tee seda
Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu
![Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu](https://i.howwhatproduce.com/images/002/image-3337-33-j.webp)
Kella tegemine M5stick C abil, kasutades Arduino IDE | RTC reaalajas kell koos M5stack M5stick-C-ga: Tere, selles juhendis olevad poisid, me õpime, kuidas Arduino IDE abil kella m5stick-C arendusplaadiga teha. Nii kuvab m5stick kuupäeva, kellaaja ja amp; kuunädal ekraanil
Osalemissüsteem, saates RFID -andmed MySQL -serverisse, kasutades Pythoni ja Arduino: 6 sammu
![Osalemissüsteem, saates RFID -andmed MySQL -serverisse, kasutades Pythoni ja Arduino: 6 sammu Osalemissüsteem, saates RFID -andmed MySQL -serverisse, kasutades Pythoni ja Arduino: 6 sammu](https://i.howwhatproduce.com/images/002/image-5256-23-j.webp)
Osalemissüsteem, saates RFID-andmed MySQL-serverisse, kasutades Pythoni koos Arduinoga: Selles projektis olen liidestanud RFID-RC522 arduinoga ja seejärel saadan RFID-andmed phpmyadmini andmebaasi. Erinevalt meie eelmistest projektidest ei kasuta me sel juhul Etherneti kilpi, siin loeme lihtsalt ar
Logige andmed sisse ja joonistage graafik veebis, kasutades NodeMCU, MySQL, PHP ja Chartjs.org: 4 sammu
![Logige andmed sisse ja joonistage graafik veebis, kasutades NodeMCU, MySQL, PHP ja Chartjs.org: 4 sammu Logige andmed sisse ja joonistage graafik veebis, kasutades NodeMCU, MySQL, PHP ja Chartjs.org: 4 sammu](https://i.howwhatproduce.com/images/005/image-12189-24-j.webp)
Logige andmed sisse ja joonistage graafik veebis, kasutades NodeMCU, MySQL, PHP ja Chartjs.org. See juhend sisaldab kirjeldust selle kohta, kuidas saame kasutada Node MCU tahvlit andmete kogumiseks mitmelt andurilt, saata need andmed hostitud PHP -faili, mis seejärel lisab andmed MySQL andmebaas. Seejärel saab andmeid võrgus graafikuna vaadata, kasutades chart.js.A ba
Salvestage Arduino anduri andmed MYsql -sse töötlemise abil: 6 sammu
![Salvestage Arduino anduri andmed MYsql -sse töötlemise abil: 6 sammu Salvestage Arduino anduri andmed MYsql -sse töötlemise abil: 6 sammu](https://i.howwhatproduce.com/images/001/image-2862-31-j.webp)
Salvestage Arduino anduri andmed töötlemise abil MYsql -i: Ausalt öeldes on Arduino andmeid raske otse MySQL -i salvestada, nii et Arduino IDE -st sõltuvuses kasutasin IDD töötlemist, mis on sarnane Arduino IDE -ga, kuid millel on palju erinevaid kasutusviise ja saate seda kodeerida java. Märkus: ärge käivitage Arduino seeriamoni