Përmbajtje:

Shfaqja e temperaturës dhe lagështisë dhe mbledhja e të dhënave me Arduino dhe përpunimi: 13 hapa (me fotografi)
Shfaqja e temperaturës dhe lagështisë dhe mbledhja e të dhënave me Arduino dhe përpunimi: 13 hapa (me fotografi)

Video: Shfaqja e temperaturës dhe lagështisë dhe mbledhja e të dhënave me Arduino dhe përpunimi: 13 hapa (me fotografi)

Video: Shfaqja e temperaturës dhe lagështisë dhe mbledhja e të dhënave me Arduino dhe përpunimi: 13 hapa (me fotografi)
Video: Al Pazar - Nxenesit ne mesimin e historise dhe gjeografise - 5 Maj 2018 - Show Humor - Vizion Plus 2024, Nëntor
Anonim
Shfaqja e Temperaturës dhe Lagështisë dhe Mbledhja e të Dhënave Me Arduino dhe Përpunim
Shfaqja e Temperaturës dhe Lagështisë dhe Mbledhja e të Dhënave Me Arduino dhe Përpunim

Hyrje: Ky është një Projekt që përdor një tabelë Arduino, një Sensor (DHT11), një kompjuter Windows dhe një program Përpunimi (një shkarkim falas) për të shfaqur Temperaturën, të dhënat e lagështisë në formën e grafikut dixhital dhe bar, shfaqjen e kohës dhe datës dhe ekzekutimin e një numërimi kohëmatësi gjatë programit dhe regjistroni të gjitha të dhënat në një format.csv kur programi është i mbyllur.

Frymëzim:

Së pari DUHET të them që jam fillestar total dhe kam mësuar shumë nga ky projekt. Kështu po përpiqem ta shkruaj këtë Udhëzues që të lexohet dhe kuptohet nga një fillestar total.

Kisha parë projekte të ndryshme Arduino për të matur temperaturën dhe lagështinë, por doja një program që:

1) Temperatura dhe lagështia e matur

2) Shfaq të dhënat si në grafik (zgjodha grafikun me shirita) ashtu edhe në formën dixhitale

3) Ka një funksion orë

4) Ka një kohëmatës numërimi "Koha e ekzekutimit"

5) Ruan këto të dhëna në një format skedar.csv (excel).

Unë kisha frymëzim nga programet e krijuara nga Sowmith Mandadi, R-B dhe aaakash3, por asnjë nga këto nuk ishte pikërisht ajo që doja. Kështu që mësova të shkruaj një kod bazë dhe bëra atë që doja.

Hapi 1: Çfarë ju nevojitet:

Ajo që do t'ju duhet
Ajo që do t'ju duhet
Ajo që do t'ju duhet
Ajo që do t'ju duhet

Pjesët dhe materialet:*Kompjuter - Kam përdorur një kompjuter Windows me sistemin operativ Windows 10

(Unë jam i sigurt se Linux ose Mac mund të përdoren, thjesht nuk i kam as njërën as tjetrën kështu që nuk do të mbuloj se si të përdor këto sisteme operative)

*Arduino Board - Kam përdorur një Arduino Uno Board, por çdo bord Arduino me USB do të funksionojë

*Kabllo USB -Kabllo A/B USB -e njëjtë me "kabllon e printerit" të tipit të vjetër (zakonisht vjen me Arduino Board)

*DHT 11 Sensori i temperaturës /lagështisë- i lirë 4 deri në 8 dollarë

(Shënim: ka 2 versione që kam përdorur versionin me 3 kunja, versioni me 4 kunja do të kërkojë përdorimin e një pllake buke dhe një rezistencë 10K, 3 kunjat kanë një tabelë qark të shtypur që përfshin rezistencën 10K) shikoni Diagramet e ngrirjes në hapat e ardhshëm

*Telat e lidhjes

Telat Dupont (skajet e dyfishta femra) nëse lidheni me DHT11 me 3 kunja pa dërrasë buke

Telat standarde të bluzës M/F (një skaj mashkull një skaj femër) dhe telat bluzë M/M (të dy skajet mashkull) për të lidhur DHT11 me 4 kunja - shihni hapin 2 për më shumë informacion

*Arduino IDE - një program për të shkruar programe Arduino (të quajtura skica) falas @

www.arduino.cc/en/Main/Software

*Përpunimi - një program për të shkruar skica të përpunimit falas @

processing.org/download/

* Skedari "DHTLib" -një skedar bibliotekar (ky është një skedar që futet në programin Arduino IDE nën dosjen e quajtur "Biblioteka" kjo do të duhet të shtohet në skicën Arduino para se Arduino të lexojë të dhënat nga DHT11 -shiko hapi 5 për shkarkimin e skedarit dhe udhëzimeve

Hapi 2: Lidhni Arduino me DHT11

Lidheni Arduino me DHT11
Lidheni Arduino me DHT11
Lidheni Arduino me DHT11
Lidheni Arduino me DHT11
Lidheni Arduino me DHT11
Lidheni Arduino me DHT11
Lidheni Arduino me DHT11
Lidheni Arduino me DHT11

Së pari përcaktoni se cilin DHT11 keni

Kam përdorur pinin 3 pasi ai tashmë ka rezistencën e nevojshme 10K.

Nëse keni 4 kunjat do t'ju duhet një rezistencë 10K dhe një dërrasë buke

Lidhni DHT11 me Arduino Board. Ky program kërkon që kunja e sinjalit DHT 11 të lidhet me pinin Arduino #7, kunjin Pos (+) të lidhur me 5V në Arduino dhe Neg (-) me GND në Arduino.

Referojuni Diagramave dhe Diagramave të Frizimit

Hapi 3: Shkarkoni Arduino IDE

Shkarkoni Arduino IDE
Shkarkoni Arduino IDE

Shkarkoni Arduino IDE dhe instaloni në kompjuter

www.arduino.cc/en/Main/Software

Hapi 4: Lidhni Arduino me kompjuterin

Lidhni Arduino me kompjuterin
Lidhni Arduino me kompjuterin

Instaloni Arduino IDE së pari që ka drejtues për lidhjen Arduino USB.

Lidheni Arduino me kompjuterin përmes USB.

Prisni që kompjuteri të njohë bordin Arduino dhe të instalojë ndonjë drejtues.

Hapni programin IDE dhe kontrolloni për lidhje serike.

Nëse bordi Arduino nuk shfaqet në portin Tools> (rrethi i kuq), mbyllni IDE dhe rihapeni.

* E rëndësishme* sapo IDE është e hapur dhe bordi Arduino është i lidhur përmes USB. Bordi Arduino duhet të lidhet me portën serike të saktë. Në kompjuterët Windows kjo quhet COM Port. Për ta bërë këtë në IDE shkoni te Tools> Port:> Portet serike. Siç shihet në Diagram porti serik (rrethi i kuq) duhet të përputhet me portën e listuar në këndin e poshtëm të djathtë të programit IDE (rrethi i verdhë).

Hapi 5: Ngarko Bibliotekën

Ngarko Bibliotekën
Ngarko Bibliotekën
Ngarko Bibliotekën
Ngarko Bibliotekën
Ngarko Bibliotekën
Ngarko Bibliotekën
Ngarko Bibliotekën
Ngarko Bibliotekën

Ngarko bibliotekën për DHT11. Kjo ishte konfuze për mua në fillim, por është me të vërtetë mjaft e thjeshtë.

Shkarkoni skedarin e quajtur "DHTLib" dhe hapeni nga zinxhiri. Kopjoni skedarin e zbërthyer "DHTLib".

Referenca për këtë bibliotekë mund të gjendet në:

playground.arduino.cc/Main/DHTLib

(Writtenshtë shkruar nga Rob Tillaart bazuar në punën e të tjerëve)

Gjeni dosjen Arduino në kompjuterin tuaj dhe hapeni atë. (Do të jetë kudo që keni shkarkuar IDE dhe e keni instaluar në kompjuter)

Shihni Diagramin

Gjeni skedarin e quajtur "bibliotekat" dhe hapeni atë dhe ngjisni dosjen "DHTLib" në skedarin "bibliotekat". Mbyllni atë dhe pastaj rinisni IDE.

Shihni Diagramin

Pasi IDE të jetë rihapur, mund të kontrolloni që biblioteka DHT të jetë instaluar. Skica> Përfshi Bibliotekën.

Shihni Diagramin

Shënim Klikimi në DHTLib në skedën "përfshini bibliotekën" do ta vendosë bibliotekën në kodin Arduino si "#include dht.h".

Nuk keni nevojë ta bëni këtë sepse tashmë është në kodin që do të shkarkoni në hapin tjetër.

Hapi 6: Merrni Kodin Arduino

Merrni Kodin Arduino
Merrni Kodin Arduino

Shkarkoni skedarin Temp_Hum_Instructable.zip dhe hapeni atë. Hapni Temp_Hum_Instructable.ino me Arduino IDE.

Përndryshe, shikoni kodin e mëposhtëm dhe kopjoni, ngjisni ose shkruani saktësisht në Arduino IDE:

#përfshi

dht DHT; #define DHT11PIN 7 // vendos pin 7 për lidhjen e sinjalit DHT11 void setup () {Serial.begin (9600); // hap serialin} void loop () {int chk = DHT.read11 (DHT11PIN); // lexon DHT11 Serial.print (DHT.temperature, 0); // printon temp në Serial.print (","); // printon presje në serial Serial.print (DHT. lagështi, 0); // printon lagështi në serial Serial.println (); // vonesa e kthimit të karrocës (2000); // prisni 2 sekonda}

Kur të keni mbaruar, duhet të duket si Diagrami i mësipërm

Hapi 7: Ngarko kodin në Arduino

Ngarko kodin në Arduino
Ngarko kodin në Arduino
Ngarko kodin në Arduino
Ngarko kodin në Arduino
Ngarko kodin në Arduino
Ngarko kodin në Arduino
Ngarko kodin në Arduino
Ngarko kodin në Arduino

Së pari ruani skicën në vendndodhje dhe me një emër që do të mbani mend, Shembull: Temp_Hum.

Tjetra ju duhet të ngarkoni skicën në tabelën Arduino duke shtypur butonin e shigjetës me drejtimin e djathtë (ngarkim).

Shihni Diagramin

Kjo do të zgjasë disa sekonda; do të shihni një shirit përparimi në të djathtën e poshtme.

Pastaj do të shihni: U krye ngarkimi i mesazhit në pjesën e poshtme të majtë dhe teksti i bardhë në fund të IDE që ju tregon për kujtesën

Shihni Diagramin

Nëse merrni një kod gabimi (tekst portokalli në fund të IDE) ai duhet të jetë një nga sa vijon

  1. Biblioteka "DHTlib" nuk u kopjua si duhet
  2. Porta COM nuk është vendosur si duhet
  3. Sensori nuk ishte i lidhur siç duhet
  4. Kodi nuk është ngarkuar saktë në IDE Teksti portokalli mund të lëvizet dhe do të japë një ide se çfarë është e gabuar. Kthehuni dhe kontrolloni se ndoshta është një gabim i thjeshtë.

Pasi të bëhet kjo, shikoni nga afër bordin tuaj Arduino. Çdo dy sekonda LED i vogël pranë shkronjave "TX" do të pulsojë. Ky është Arduino që dërgon informacion në kompjuter. Për ta kontrolluar këtë klikoni në simbolin e xhamit zmadhues të vogël në këndin e sipërm të djathtë të IDE.

Shihni Diagramin

Kjo do të hapë monitorin serik dhe do të shfaqë të dhënat e temperaturës dhe lagështisë të ndara me presje. Ju do të vini re se të dhënat e temperaturës janë të listuara në Celsius. Kjo është në rregull, ne do të konvertohemi në Fahrenheit më vonë (ose jo nëse keni zgjedhur).

Shihni Diagramin

Pastaj mbyllni monitorin serik dhe më pas mbyllni IDE. (Ju kujtuat ta ruani, apo jo?). Tani shikoni përsëri tabelën Arduino (mos e shkëputni atë nga USB -ja ku është duke marrë energji dhe dërgoni të dhëna në portën serike në kompjuter). A po vezullon akoma? Po, shkëlqyeshëm. Pasi programi të jetë ngarkuar në Arduino, ai do të funksionojë për aq kohë sa të ketë fuqi.

Shënim për kodin: nëse shikoni kodin Arduino që fillon me "void loop ();". 5 rreshtat e ardhshëm të kodit i thonë Arduino të lexojë të dhëna nga DHT dhe t'i printojë ato në autobusin serial të ndarë me presje. Rreshti tjetër "vonesë (2000);" i thotë Arduino të presë 2 sekonda (2000 milisekonda) kështu që të dhënat merren çdo 2 sekonda. Pastaj kthehet në "void loop ();" - një komandë që i thotë Arduino ta bëjë përsëri. Ndryshimi i vlerës në vijën e vonesës do të ndryshojë sa shpesh merren të dhënat. Shembull: ndryshimi në (600000) do të ndryshojë ajo në 10 minuta (600000 milisekonda = 10 minuta). Marrja e të dhënave çdo 2 sekonda përfundon me shumë të dhëna, kështu që tani ju e dini se si të ndryshoni sa shpesh lexohen të dhënat. Vetëm mbani mend nëse e ndryshoni vlerën më vonë. duhet të ngarkoni programin e ri.

OK ulu dhe merr frymë se je më shumë se gjysma e rrugës atje. Po !!

Hapi 8: Shkarkoni dhe instaloni përpunimin

Shkarkoni dhe instaloni përpunimin
Shkarkoni dhe instaloni përpunimin
Shkarkoni dhe instaloni përpunimin
Shkarkoni dhe instaloni përpunimin

processing.org/download/

Mjaft përpara zgjidhni programin që korrespondon me kompjuterin tuaj për Windows 64bit kundrejt 32 bit. Nëse nuk e dini, hapni Panelin e Kontrollit në kompjuterin tuaj (pamja e ikonave jo pamja e kategorisë) dhe shkoni te sistemi do të listohet atje.

Shihni Diagramin

Shkarkoni dhe instaloni programin.

Herën e parë që hapni dhe ekzekutoni përpunimin, me siguri do të merrni një mesazh sigurie Java. Klikoni "lejoni" për rrjetet private. Java është gjuha kompjuterike e përdorur nga Processing (dhe Arduino IDE). Shtë interesante që unë kurrë nuk kam pasur mesazhin e sigurisë me Arduino IDE, vetëm përpunim.

Hapi 9: Kodi i përpunimit

Kodi i përpunimit
Kodi i përpunimit

OK tani për kodin e përpunimit.

Kjo ishte pjesa më sfiduese për mua, por edhe mundësia më e madhe për të mësuar. Ndërsa kodi Arduino ishte 20 apo më shumë rreshta ky kod ka +/- 270 rreshta në kodin kryesor dhe 70 të tjera në klasa.

Tani gjëja e parë që duhet të pyesni është "Çfarë janë klasat?". Pyetje e mirë. Kjo i referohet programimit të orientuar drejt objekteve. Me pak fjalë, ka një mori gjërash që po ndodhin në kodin kryesor: përcaktimi i madhësisë dhe ngjyrës së ekranit, një orë, një kohëmatës, kod për të treguar vendndodhjen e kursorit, kod për të ruajtur të dhënat në një skedar.csv dhe disa rreshta që merren me kodin që shfaq grafikët e shiritave. Ndërsa Arduino IDE kishte të gjithë kodin në një faqe, ky kod përpunimi ka tre skeda. E para është kodi kryesor dhe dy të tjerat janë kodi që shfaq grafikët e shiritave. (Ky kod në fakt ruhet në tre skedarë të veçantë brenda dosjes së kodit të përpunimit.) Skedat e veçanta quhen "klasa" dhe përcaktohen në rreshtat 48 dhe 56 dhe më pas shfaqen nga rreshtat 179-182 të kodit kryesor. Njerëzit që kanë shkruar programin e përpunimit e quajnë këtë programim të orientuar nga objekti. (shih: https://processing.org/tutorials/objects/ për një përshkrim të shkurtër).

Në thelb ajo që bëjnë klasat (Recta1, Recta2) në këtë kod është krijimi i drejtkëndëshave që lëvizin lart e poshtë bazuar në të dhënat e marra nga DHT11 përmes serisë. Mendoni për termometrin e modës së vjetër sa më i lartë të jetë merkuri aq më i nxehtë është, por kjo bëhet me të dhëna jo me merkur. Në fakt klasat krijojnë katër drejtkëndësha, dy drejtkëndësha statikë që përfaqësojnë sfondin e termometrit dhe dy drejtkëndësha dinamikë që i përgjigjen të dhënave dhe lëvizin lart e poshtë. Përveç lëvizjes së drejtkëndëshave, kodi ndryshon ngjyrën e drejtkëndëshit dinamik dhe ngjyrën e ekranit dixhital të Temp dhe Humidity bazuar në të dhënat e marra nga serialet.

Hapi 10: Përpunimi i skedarëve të kodit

Vetëm disa baza për përpunimin e kodit:

Unë rekomandoj shumë të lexoni Bëni: Fillimi me Përpunimin nga Casey Reas dhe Ben Fry themeluesit e Përpunimit.

processing.org/books/#reasfry2

Unë nuk do të përpiqem të shpjegoj të gjitha aspektet e Përpunimit ose shkrimit të kodit për përpunim. Siç thashë më herët, unë jam një fillestar dhe mendoj se ka njerëz shumë më të mirë për të mësuar. Sidoqoftë, e kuptoj kodin që kam shkruar (prova dhe gabimi janë mësues të mirë).

1. Së pari duhet të përfshihen bibliotekat (ashtu si në Arduino) dhe të deklarohen variablat (Linjat 1-25)

2. Pastaj vendosni tabelën e ekranit (Linjat 27-63)

3. Drejtoni një pjesë të përsëritur të kodit- ajo që dua të them është se kjo pjesë e kodit do të përsëritet për sa kohë që programi po funksionon. Ju do të mbani mend në Arduino "void loop ();" (Hapi 6). Në Përpunim kjo tani është "tërheqje e pavlefshme ();" (Linjat 65-184)

4. Tjetra është marrja e të dhënave nga porti serik dhe caktimi i tyre në variabla (int, float, String)

int-

noton-

Varg-

(Linjat 185-245)

4. Së fundmi një mënyrë për të mbyllur programin dhe ruajtur të dhënat (Linjat 246-271)

Ok: Shkarkoni skedarin Temp_Hum_F_3_2 (për Fahrenheit)

Ose Temp_Hum_C_3_1 (për Centigrade)

dhe zbërtheni skedarin. Hapur me Përpunimin.

Hapi 11: Fonti në Përpunim

Fonti në përpunim
Fonti në përpunim

E rëndësishme: Unë tërheq vëmendjen tuaj në rreshtat 36-37

36 font = loadFont ("SourceCodePro-Bold-48.vlw"); // ngarkon fontin e ruajtur në të dhëna

dosja 37 textFont (font);

Kjo bibliotekë fontesh "SourceCodePro-Bold-48.vlw" përfshihet në shkarkimet e skedarëve të Përpunimit dhe nuk ka nevojë të ndryshohet për të funksionuar.

Sidoqoftë, për të ndryshuar fontin në diçka tjetër do t'ju duhet të ngarkoni fontin e ri në skicën e Përpunimit DHE të zëvendësoni "SourceCodePro-Bold-48.vlw" me fontin e ri.

Me Për fat të mirë Përpunimi e ka bërë pjesën e parë shumë të lehtë.

Së pari hapni një skicë dhe klikoni:

Mjetet> Krijo font

kjo sjell një dritare

Shih diagramin

Shkoni poshtë tek fonti i ri që dëshironi, Klikoni mbi të dhe pastaj klikoni OK. Fonti tani është ngarkuar në dosjen e skicës.

Pastaj zëvendësoni tekstin "SourceCodePro-Bold-48.vlw" me emrin e saktë të fontit të ri (përfshirë formatin e skedarit.vlw)

Nëse kjo nuk është bërë, fonti i ri nuk do të ngarkohet në kod dhe kodi do të japë gabime (Ashtu si gabimet në Arduino- në kutinë e zezë në fund të programit).

Hapi 12: Përfundimi

Duke përfunduar lart
Duke përfunduar lart
Duke përfunduar lart
Duke përfunduar lart
Duke përfunduar lart
Duke përfunduar lart
Duke përfunduar lart
Duke përfunduar lart

Për të filluar programin e Përpunimit klikoni mbi shigjetën, mund të merrni një paralajmërim Java, Kliko: Lejo qasjen.

Shihni Diagramin

Në rregull, programi funksionoi? Nëse është kështu, do të merrni një ekran siç shihet në diagram.

(Jo? Shihni zgjidhjen e problemeve në hapin tjetër)

Po? Tani provoni ta mbani DHT11 në pëllëmbën tuaj të mbyllur ose vendoseni nën rrjedhën e ajrit të ngrohtë të një tharëse flokësh. Numrat duhet të ndryshojnë. Po? E madhe kjo do të thotë se gjithçka po funksionon mirë.

Për të mbyllur programin dhe ruajtur të dhënat, klikoni në kutinë që thotë "Kliko këtu për të mbyllur dhe ruajtur të dhënat".

Tani për të gjetur të dhënat e ruajtura, shkoni te dosja Temp_Hum_F_3_1 ose Temp_Hum_C_3_1 Processing (ju duhet të jeni në gjendje ta gjeni vetë tani) hapeni dhe gjeni dosjen Data. Hapeni këtë dhe duhet të shihni një skedar.csv të emëruar sipas datës dhe orës që keni mbyllur programin (Shembulli 1-10-18--22-30-16.csv do të thotë 10 janar 2018 10:30:16 pasdite). Hapeni këtë me Excel (ose ekuivalenti i fletës së hapur të zyrës së hapur). Duhet të shihni diçka si diagrami. Kolonat për datën, kohën, kohën e funksionimit, temperaturën dhe lagështinë me të dhëna. Tani mund t'i grafikoni të dhënat me excel ose çfarëdo që dëshironi të bëni me të. (Shënim: nëse shikoni hyrjen e parë të të dhënave të dhënat Temp dhe Lagështia nuk janë të sakta, kjo është normale dhe është vetëm një gabim kur programi fillon për herë të parë)

Ne rregull po !!!!!!

Ti e bëre

Nëse keni ndonjë pyetje, ju lutemi postoni dhe unë do të bëj çmos për t'ju përgjigjur dhe ndihmuar.

Faleminderit që qëndroni me këtë dhe fat të mirë. Shpresoj qe ky eshte vetem nje fillim ….

Tjetra për mua Bluetooth dhe ndoshta Android….

Hapi 13: Zgjidhja e problemeve

Zgjidhja e problemeve
Zgjidhja e problemeve
Zgjidhja e problemeve
Zgjidhja e problemeve

Problemet me Arduino

Nëse merrni një kod gabimi (tekst portokalli në pjesën e poshtme të IDE) duhet të jetë një nga sa vijon Biblioteka "DHTlib" nuk është kopjuar saktë

Porta COM nuk është vendosur si duhet

Sensori nuk ishte i lidhur siç duhet

Kodi nuk u ngarkua saktë në IDE

Nëse të gjithë Arduino duket se po shkojnë mirë mos harroni të hapni Monitor Serial dhe shikoni nëse të dhënat po shfaqen

Nëse shihni të dhëna të sakta kjo do të thotë që pala Arduino po punon- Mos harroni Mbyllni Monitorin Serial para fillimit të Përpunimit, nëse Monitoruesi Serial është i hapur. Përpunimi nuk mund t'i lexojë të dhënat.

Problemet e përpunimit:

Këto do të shfaqen në pjesën e poshtme të programit të Përpunimit.

Nëse merrni një gabim që përshkruan "font", kthehuni në hapin 11 dhe ngarkoni fontin siç përshkruhet.

Nëse merrni një gabim që duket si: Gabim, çaktivizimi i serialEvent () për COM4 null- thjesht rinisni skicën e Përpunimit duke klikuar shigjetën si në hapin 12

Nëse merrni një gabim që thotë: Gabim në hapjen e portës serike- provoni të ndryshoni linjat 32-34 në diçka si ajo ku "COM4" përputhet me portën COM në skicën tuaj Arduino

myPort = newSerial (kjo, "COM4", 9600); // Porta myPort.bufferUntil ('\ n') // prisni derisa seriali të ketë të dhëna

Recommended: