Orodha ya maudhui:
- Hatua ya 1: Kile Utakachohitaji:
- Hatua ya 2: Unganisha Arduino kwa DHT11
- Hatua ya 3: Pakua Arduino IDE
- Hatua ya 4: Unganisha Arduino kwenye Kompyuta
- Hatua ya 5: Pakia Maktaba
- Hatua ya 6: Pata Nambari ya Arduino
- Hatua ya 7: Weka Nambari ya Kupakia hadi Arduino
- Hatua ya 8: Pakua na usakinishe Usindikaji
- Hatua ya 9: Msimbo wa Usindikaji
- Hatua ya 10: Inasindika Faili za Msimbo
- Hatua ya 11: Fonti katika Usindikaji
- Hatua ya 12: Kumaliza
- Hatua ya 13: Utatuzi wa matatizo
Video: Kuonyesha Joto na Unyevu na Ukusanyaji wa Takwimu na Arduino na Usindikaji: Hatua 13 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
Intro: Huu ni Mradi unaotumia bodi ya Arduino, Sensor (DHT11), kompyuta ya Windows na Usindikaji (programu inayoweza kupakuliwa bure) kuonyesha Joto, data ya Unyevu katika fomu ya dijiti na bar, kuonyesha wakati na tarehe na kuhesabu timer wakati wa programu na rekodi data zote katika muundo wa.csv wakati programu imefungwa.
Uvuvio:
Kwanza LAZIMA niseme mimi ni Kompyuta kabisa na nimejifunza mengi kutoka kwa mradi huu. Kwa hivyo ninajaribu kuandika hii inayoweza kufundishwa ili isomwe na ieleweke na mwanzoni kabisa.
Nilikuwa nimeona miradi anuwai ya Arduino kupima joto na unyevu lakini nilitaka programu ambayo:
1) Joto lililopimwa na unyevu
2) Ilionyesha data katika grafu zote mbili (nilichagua grafu ya bar) na fomu ya dijiti
3) Ina kazi ya saa
4) Ina hesabu ya saa ya "Run Time"
5) Huhifadhi data hii katika fomati ya faili ya.csv (bora).
Nilikuwa na msukumo kutoka kwa programu zilizoundwa na Sowmith Mandadi, R-B na aaakash3, lakini hakuna hata moja kati ya haya ndio hasa nilitaka. Kwa hivyo nilijifunza kuandika nambari fulani ya kimsingi na nikafanya kile ninachotaka.
Hatua ya 1: Kile Utakachohitaji:
Sehemu na Vifaa: * Kompyuta - nilitumia mfumo wa uendeshaji wa Windows 10 Windows
(Nina hakika Linux au Mac inaweza kutumika, sina moja hata hivyo sitafunika jinsi ya kutumia mifumo hii ya uendeshaji)
* Bodi ya Arduino - Nilitumia Bodi ya Arduino Uno, lakini bodi yoyote ya Arduino iliyo na USB itafanya
Cable ya USB -USB A / B kebo-sawa na aina ya zamani "kebo ya printa" (kawaida huja na Bodi ya Arduino)
* DHT 11 Joto / sensorer ya unyevu- isiyo na gharama $ 4 hadi 8
(Kumbuka: kuna matoleo 2 nilitumia toleo la pini 3, toleo la pini 4 litahitaji matumizi ya ubao wa mkate na kontena la 10K, pini 3 ina bodi ya mzunguko iliyochapishwa ambayo inajumuisha kontena la 10K) angalia michoro za Fritzing katika hatua zifuatazo
* Waya za unganisho
Waya za Dupont (ncha mbili za kike) ikiwa unganisha kwa pini 3 DHT11 bila ubao wa mkate
Wiring jumper M / F waya (mwisho mmoja wa kiume mwisho mmoja wa kike) na waya za kuruka za M / M (zote mbili zinaishia kiume) kuunganisha pini 4 DHT11 - angalia hatua ya 2 kwa habari zaidi
* Arduino IDE - mpango wa kuandika mipango ya Arduino (inayoitwa michoro) bure @
www.arduino.cc/en/Main/Software
* Usindikaji - mpango wa kuandika michoro za usindikaji bure @
processing.org/download/
* Faili ya "DHTLib" - faili ya maktaba (hii ni faili inayoingia kwenye mpango wa Arduino IDE chini ya folda inayoitwa "Maktaba" hii itahitaji kuongezwa kwenye mchoro wa Arduino kabla Arduino haijasoma data kutoka kwa DHT11 -ona hatua ya 5 ya kupakua faili na maagizo
Hatua ya 2: Unganisha Arduino kwa DHT11
Kwanza amua ni DHT11 ipi unayo
Nilitumia pini 3 kwani tayari ina kontena la 10K linalohitajika.
Ikiwa una pini 4 utahitaji kontena la 10K na ubao wa mkate
Unganisha DHT11 na Bodi ya Arduino. Programu hii inahitaji pini ya ishara ya DHT 11 kushikamana na pini ya Arduino # 7, Pos (+) iliyounganishwa na 5V kwenye Arduino na Neg (-) kwa GND kwenye Arduino.
Rejea Michoro na Michoro ya Fritzing
Hatua ya 3: Pakua Arduino IDE
Pakua Arduino IDE na usakinishe kwenye kompyuta
www.arduino.cc/en/Main/Software
Hatua ya 4: Unganisha Arduino kwenye Kompyuta
Sakinisha Arduino IDE kwanza ina madereva ya unganisho la USB la Arduino.
Unganisha Arduino kwenye kompyuta kupitia USB.
Subiri kompyuta itambue bodi ya Arduino na usakinishe madereva yoyote.
Fungua programu ya IDE na uangalie unganisho la serial.
Ikiwa bodi ya Arduino haionyeshi kwenye Zana> bandari (duara nyekundu), Funga IDE na ufungue tena.
* Muhimu * mara tu IDE itakapofunguliwa na bodi ya Arduino imeunganishwa kupitia USB. Bodi ya Arduino lazima iunganishwe kwenye bandari sahihi ya serial. Kwenye kompyuta za Windows hii inajulikana kama Port Port. Ili kufanya hivyo katika IDE nenda kwenye Zana> Bandari:> Bandari za serial. Kama inavyoonekana kwenye Mchoro bandari ya serial (duara nyekundu) lazima ilingane na bandari iliyoorodheshwa kwenye kona ya chini kulia ya mpango wa IDE (mduara wa manjano).
Hatua ya 5: Pakia Maktaba
Pakia maktaba ya DHT11. Hii ilikuwa inanichanganya mwanzoni lakini ni rahisi sana.
Pakua faili inayoitwa "DHTLib" na unzip. Nakili faili ya "DHTLib" isiyofunguliwa.
Rejea kwenye maktaba hii inaweza kupatikana kwa:
playground.arduino.cc/Main/DHTLib
(Iliandikwa na Rob Tillaart kulingana na kazi kutoka kwa wengine)
Pata folda ya Arduino kwenye kompyuta yako na uifungue. (Itakuwa popote ulipopakua IDE na kuiweka kwenye kompyuta)
Tazama Mchoro
Pata faili inayoitwa "maktaba" na uifungue kisha ubandike folda ya "DHTLib" kwenye faili ya "maktaba". Funga na kisha uanze tena IDE.
Tazama Mchoro
Mara tu IDE itakapofunguliwa unaweza kuangalia kuona maktaba ya DHT iliwekwa. Mchoro> Jumuisha Maktaba.
Tazama Mchoro
Kumbuka Kubonyeza DHTLib katika kichupo cha "pamoja na maktaba" kutaweka maktaba kwenye nambari ya Arduino kama "# pamoja na dht.h".
Huna haja ya kufanya hivyo kwa sababu tayari iko kwenye nambari ambayo utapakua katika hatua inayofuata.
Hatua ya 6: Pata Nambari ya Arduino
Pakua faili ya Temp_Hum_Instructable.zip na unzip. Fungua Temp_Hum_Instructable.ino na Arduino IDE.
Badala yake angalia nambari ifuatayo na unakili na ubandike au chapa haswa kwenye IDE ya Arduino:
# pamoja
dht DHT; #fafanua DHT11PIN 7 // seti pin 7 kwa uunganisho wa ishara ya DHT11 ya kuweka batili () {Serial.begin (9600); // inafungua serial} kitanzi batili () {int chk = DHT.read11 (DHT11PIN); // inasoma DHT11 Serial.print (DHT.joto, 0); // chapa koma katika serial Serial.print (DHT. unyevu, 0);
Ukimaliza inapaswa kuonekana kama Mchoro hapo juu
Hatua ya 7: Weka Nambari ya Kupakia hadi Arduino
Kwanza Hifadhi mchoro katika eneo na kwa jina utakumbuka, Mfano: Temp_Hum.
Ifuatayo unahitaji kupakia mchoro kwenye ubao wa Arduino kwa kubonyeza kitufe cha kulia kinachoelekeza (pakia).
Tazama Mchoro
Hii itachukua sekunde chache; utaona mwambaa wa maendeleo upande wa kulia chini.
Kisha utaona: Imefanywa kupakia ujumbe katika maandishi ya chini kushoto na nyeupe chini ya IDE kukuambia juu ya kumbukumbu
Tazama Mchoro
Ikiwa unapata nambari ya makosa (maandishi ya machungwa chini ya IDE) inapaswa kuwa moja ya yafuatayo
- Maktaba ya "DHTlib" haikunakiliwa kwa usahihi
- Bandari ya COM haijawekwa kwa usahihi
- Sensorer haikuunganishwa kwa usahihi
- Nambari hiyo haikupakiwa kwenye IDE kwa usahihi maandishi ya machungwa yanaweza kupigwa na itatoa kidokezo juu ya kile kibaya. Rudi nyuma na uangalie labda ni kosa rahisi.
Mara hii ikimaliza angalia kwa karibu bodi yako ya Arduino. Kila sekunde kadhaa LED ndogo karibu na herufi "TX" itapepesa. Huyu ndiye Arduino anayepeleka habari tena kwenye kompyuta. Kuangalia bonyeza hii kwenye ishara ndogo ya glasi kwenye kona ya juu ya IDE.
Tazama Mchoro
Hii itafungua mfuatiliaji wa serial na kuonyesha hali ya joto na unyevu iliyotengwa na koma. Utagundua kuwa data ya joto imeorodheshwa katika Celsius. Hiyo ni sawa tutabadilisha Fahrenheit baadaye (au la ikiwa ulichagua).
Tazama Mchoro
Halafu funga mfuatiliaji wa serial na kisha funga IDE. (Ulikumbuka kuiokoa, sivyo?). Sasa angalia bodi ya Arduino tena (usiikate kutoka kwa USB ndio inapopata nguvu, na kutuma data kwenye bandari ya serial kwenye kompyuta). Bado ni kupepesa? Ndio, nzuri. Mara baada ya programu kupakiwa kwenye Arduino itaendelea mradi ina nguvu.
Kumbuka juu ya nambari: ukiangalia nambari ya Arduino inayoanza na "batili kitanzi ();". Mistari 5 inayofuata ya nambari iambie Arduino asome data kutoka kwa DHT na aichapishe kwa basi ya serial iliyotengwa na koma. Mstari unaofuata "kuchelewesha (2000);" inamwambia Arduino asubiri sekunde 2 (milisekunde 2000) ili data ipokewe kila sekunde 2. Halafu inarudi kwa "batili kitanzi ();" - amri ambayo inamwambia Arduino afanye tena. Kubadilisha thamani kwenye laini ya kuchelewesha kutabadilisha ni mara ngapi data inapokelewa. Mfano: badili hadi (600000) itabadilika ni kwa dakika 10 (milisekundi 600000 = dakika 10) Kupokea data kila sekunde 2 inaishia kuwa data nyingi, kwa hivyo sasa unajua jinsi ya kubadilisha data inasomwa mara ngapi. Kumbuka tu ikiwa utabadilisha thamani baadaye baadaye unahitaji kupakia programu mpya.
Sawa kaa chini na uvute pumzi uko zaidi ya nusu ya njia huko. Ndio !!
Hatua ya 8: Pakua na usakinishe Usindikaji
processing.org/download/
Moja kwa moja mbele chagua programu ambayo inalingana na kompyuta yako kwa windows 64bit vs 32 bit. Ikiwa haujui, fungua Jopo la Udhibiti kwenye kompyuta yako (tazama icon sio mtazamo wa kategoria) na nenda kwenye mfumo itaorodheshwa hapo.
Tazama Mchoro
Pakua na kisha usakinishe programu.
Mara ya kwanza kufungua na kuendesha usindikaji labda utapata ujumbe wa usalama wa Java. Bonyeza "ruhusu" kwa mitandao ya kibinafsi. Java ni lugha ya kompyuta inayotumiwa na Usindikaji (na Arduino IDE). Cha kufurahisha sijawahi kupata ujumbe wa usalama na Arduino IDE, Inasindika tu.
Hatua ya 9: Msimbo wa Usindikaji
Sawa sasa kwa nambari ya kusindika.
Hii ilikuwa sehemu yenye changamoto kubwa kwangu, lakini pia nafasi nzuri zaidi ya kujifunza. Wakati nambari ya Arduino ilikuwa na mistari 20 au zaidi msimbo huu una mistari ya +/- 270 katika nambari kuu na nyingine 70 + kwenye madarasa.
Sasa jambo la kwanza unapaswa kuuliza ni "Je! Ni madarasa gani?". Swali zuri. Hii inahusu programu inayolenga kitu. Kwa kifupi, kuna rundo la vitu vinavyoendelea kwenye nambari kuu: kufafanua saizi na rangi ya onyesho, saa, kipima muda, nambari kuonyesha eneo la mshale, nambari ya kuhifadhi data kwenye faili ya.csv na mistari michache. ambayo inashughulika na nambari inayoonyesha grafu za bar. Wakati IDE ya Arduino ilikuwa na nambari yote kwenye ukurasa mmoja, nambari hii ya usindikaji ina tabo tatu. Ya kwanza ni nambari kuu na mbili zifuatazo ni nambari inayoonyesha grafu za bar. (Nambari hii kweli imehifadhiwa katika faili tatu tofauti ndani ya folda ya nambari ya Usindikaji.) Tabo tofauti zinaitwa "madarasa" na hufafanuliwa katika mistari ya 48 na 56 na kisha kuonyeshwa kwa mistari 179-182 ya nambari kuu. Watu walioandika Programu ya Usindikaji huita programu hii inayolenga kitu. (angalia: https://processing.org/tutorials/objects/ kwa maelezo mafupi).
Kimsingi yale ambayo madarasa (Recta1, Recta2) katika nambari hii hufanya ni kuunda rectangles ambazo zinaenda juu na chini kulingana na data iliyopokea kutoka kwa DHT11 kupitia serial. Fikiria kipima joto cha zamani ambacho zebaki inaendelea kuwa moto zaidi, lakini hii inafanywa na data sio zebaki. Kwa kweli madarasa huunda mistatili minne, mistatili miwili tuli inayowakilisha msingi wa kipima joto na mistatili miwili yenye nguvu inayoitikia data na kusonga juu na chini. Mbali na kusonga mstatili, nambari hubadilisha rangi ya mstatili wenye nguvu na rangi ya onyesho la dijiti la Joto na Unyevu kulingana na data inayopokelewa na serial.
Hatua ya 10: Inasindika Faili za Msimbo
Misingi michache tu juu ya Msimbo wa Usindikaji:
Ninapendekeza sana kusoma Fanya: Kuanza na Utaratibu na Casey Reas na Ben Fry waanzilishi wa Usindikaji.
processing.org/books/#reasfry2
Sitajaribu kuelezea mambo yote ya Usindikaji au nambari ya kuandika ya usindikaji. Kama nilivyosema hapo awali mimi ni Kompyuta na nadhani kuna watu bora zaidi wa kujifunza kutoka kwao. Ninaelewa nambari niliyoandika (majaribio na makosa ni walimu wazuri).
1. Kwanza lazima iwe na maktaba (kama vile katika Arduino) na utangaze vigeuzi (Mistari 1-25)
2. Ifuatayo weka ubao wa kuonyesha (Mistari 27-63)
3. Run sehemu inayorudiwa ya nambari- ninachomaanisha ni kwamba sehemu hii ya nambari itarudia mradi mpango huo unaendelea. Utakumbuka Katika Arduino "batili kitanzi ();" (Hatua ya 6). Katika kusindika hii sasa ni "batili kuteka ();" (Mistari 65-184)
4. Ifuatayo ni kupata data kutoka kwa bandari ya serial na kuipatia vigeuzi (int, kuelea, Kamba)
ndani-
kuelea-
Kamba-
(Mistari 185-245)
4. Mwishowe njia ya kufunga programu na kuhifadhi data (Mistari 246-271)
Sawa: Pakua faili Temp_Hum_F_3_2 (kwa Fahrenheit)
Au Temp_Hum_C_3_1 (kwa Centigrade)
na unzip faili. Fungua na Usindikaji.
Hatua ya 11: Fonti katika Usindikaji
Muhimu: Ninakuelekeza kwenye mistari 36-37
Font ya 36 = loadFont ("SourceCodePro-Bold-48.vlw"); // mizigo font iliyohifadhiwa kwenye data
folda 37 maandishiFont (font);
Maktaba hii ya fonti "SourceCodePro-Bold-48.vlw" imejumuishwa kwenye Upakuaji wa faili za Inasindika na haiitaji kubadilishwa ili ifanye kazi.
Walakini kubadilisha font kuwa kitu kingine utahitaji kupakia fonti mpya kwenye Mchoro wa Usindikaji NA Badilisha "SourceCodePro-Bold-48.vlw" na fonti mpya.
. Usindikaji wa bahati imefanya sehemu ya kwanza iwe rahisi sana.
Kwanza fungua mchoro kisha bonyeza:
Zana> Unda font
hii inaleta dirisha
Tazama mchoro
Nenda chini kwa fonti mpya unayotaka, Bonyeza juu yake na kisha bonyeza sawa. Fonti sasa imepakiwa kwenye folda ya mchoro.
Ifuatayo badilisha maandishi ya "SourceCodePro-Bold-48.vlw" na jina halisi la fonti mpya (pamoja na fomati ya faili ya.vlw)
Ikiwa hii haijafanywa fonti mpya haitaingiza ndani ya nambari na nambari itatoa makosa (Kama makosa katika Arduino- kwenye sanduku jeusi chini ya programu).
Hatua ya 12: Kumaliza
Ili kuanza programu ya Usindikaji bonyeza mshale, unaweza kupata onyo la Java, Bonyeza: Ruhusu ufikiaji.
Tazama Mchoro
Sawa, mpango ulifanya kazi? Ikiwa ndivyo, utapata onyesho kama inavyoonekana kwenye mchoro.
(Hapana? Tazama utatuzi katika hatua inayofuata)
Ndio? Sasa jaribu kushikilia DHT11 kwenye kiganja chako kilichofungwa au mahali chini ya mkondo wa joto wa hewa wa kukausha nywele. Nambari zinapaswa kubadilika. Ndio? Kubwa. hiyo inamaanisha kila kitu kinafanya kazi vizuri.
Ili kufunga programu na kuokoa data bonyeza sanduku linalosema "Bonyeza Hapa Kufunga na Kuokoa Data".
Sasa kupata data iliyohifadhiwa, nenda kwenye folda ya Usindikaji ya Temp_Hum_F_3_1 au Temp_Hum_C_3_1 (unapaswa kupata hii mwenyewe kwa sasa) ifungue na upate folda ya Takwimu. Fungua hii na unapaswa kuona faili ya.csv iliyoitwa baada ya tarehe na saa uliyofunga programu (Mfano 1-10-18-22-22-16-16.csv inamaanisha Januari 10 2018 10:30:16 PM). Fungua hii na Excel (au sawa Ofisi ya Open spread spread sheet). Unapaswa kuona kitu kama mchoro. Nguzo za Tarehe, Saa, wakati wa kukimbia, temp na unyevu na data. Sasa unaweza kuonyesha data kwa ubora au chochote unachotaka kufanya nayo. (Kumbuka: ukiangalia uingizaji wa data ya kwanza data ya Temp na Humidity sio sahihi, hii ni kawaida na ni kosa tu wakati mpango unapoanza)
Sawa ndio !!!!!!
Ulifanya hivyo
Ikiwa una maswali yoyote tafadhali chapisha na nitajitahidi kujibu na kusaidia.
Asante kwa kukaa na hii na bahati nzuri. Natumai huu ni mwanzo tu….
Ifuatayo kwangu Bluetooth na labda Android….
Hatua ya 13: Utatuzi wa matatizo
Shida za Arduino
Ikiwa unapata nambari ya makosa (maandishi ya machungwa chini ya IDE) inapaswa kuwa moja ya yafuatayo Maktaba ya "DHTlib" haikunakiliwa kwa usahihi
Bandari ya COM haijawekwa kwa usahihi
Sensorer haikuunganishwa kwa usahihi
Nambari hiyo haikupakiwa kwenye IDE kwa usahihi
Ikiwa Arduino yote inaonekana kwenda sawa kumbuka kufungua Monitor Serial na uone ikiwa data inaonyeshwa
Ukiona data sahihi hii inamaanisha kuwa upande wa Arduino unafanya kazi- Kumbuka Funga Monitor Monitor kabla ya kuanza Usindikaji, ikiwa Monitor Monitor iko wazi Usindikaji hauwezi kusoma data.
Inasindika Matatizo:
Hizi zitaonyeshwa katika sehemu ya chini ya Programu ya Usindikaji.
Ukipata hitilafu kuelezea "fonti" rudi kwenye hatua ya 11 na upakie font kama ilivyoelezewa.
Ukipata hitilafu inayoonekana kama: Kosa, kulemaza serialEvent () kwa COM4 null- anza upya mchoro wa Usindikaji kwa kubonyeza mshale kama katika hatua ya 12
Ukipata hitilafu inayosema: Kosa kufungua bandari ya serial - jaribu kubadilisha laini 32-34 kuwa kitu kama "COM4" inalingana na bandari ya COM kwenye mchoro wako wa Arduino
// myPort = newSerial (hii, "COM4", 9600); // Port myPort.bufferUntil ('\ n') // subiri hadi serial iwe na data
Ilipendekeza:
M5STACK Jinsi ya Kuonyesha Joto, Unyevu na Shinikizo kwenye M5StickC ESP32 Kutumia Visuino - Rahisi Kufanya: Hatua 6
M5STACK Jinsi ya Kuonyesha Joto, Unyevu na Shinikizo kwenye M5StickC ESP32 Kutumia Visuino - Rahisi Kufanya: Katika mafunzo haya tutajifunza jinsi ya kupanga ESP32 M5Stack StickC na Arduino IDE na Visuino kuonyesha Joto, Unyevu na Shinikizo ukitumia sensa ya ENV (DHT12, BMP280, BMM150)
Jinsi ya kutumia DHT22 Unyevu wa unyevu na joto la joto na Arduino: Hatua 6
Jinsi ya kutumia unyevu wa DHT22 na sensorer ya joto na Arduino: Katika mafunzo haya tutajifunza jinsi ya kutumia unyevu wa DHT22 na Sensor ya Joto na Arduino na kuonyesha maadili kwenye OLED Onyesha video
Jinsi ya kutumia Sensor ya Joto la DHT11 na Arduino na Joto la Uchapishaji wa Joto na Unyevu: Hatua 5
Jinsi ya Kutumia Sensorer ya Joto la DHT11 Na Arduino na Joto la Uchapishaji Joto na Unyevu: Sura ya DHT11 hutumiwa kupima joto na unyevu. Unyevu wa DHT11 na sensorer ya joto hufanya iwe rahisi sana kuongeza data ya unyevu na joto kwenye miradi yako ya elektroniki ya DIY. Ni kwa kila
Joto -Joto La Kudhibitiwa la Joto La joto: Hatua 6
Joto -Joto La Kutabasamu La Kudhibiti Joto: ******************************************* ************************************************** +
Kituo cha Ukusanyaji wa Takwimu za IoT kilichowezeshwa na ESP8266 & PubNub: Hatua 9 (na Picha)
Kituo cha Ukusanyaji wa Takwimu za IoT Kimewezeshwa na ESP8266 & PubNub: Mafunzo mengi kwenye ESP8266 yanaweza kuwa katika kiwango cha newbie (kupepesa kwa mbali inayoongozwa) au ngumu sana kwa mtu ambaye anatafuta kitu cha kuboresha na kuboresha kwa ustadi wake wa kupepesa macho. malengo ya kufundisha kuziba pengo hili kwa ubunifu