Orodha ya maudhui:

Kuonyesha Joto na Unyevu na Ukusanyaji wa Takwimu na Arduino na Usindikaji: Hatua 13 (na Picha)
Kuonyesha Joto na Unyevu na Ukusanyaji wa Takwimu na Arduino na Usindikaji: Hatua 13 (na Picha)

Video: Kuonyesha Joto na Unyevu na Ukusanyaji wa Takwimu na Arduino na Usindikaji: Hatua 13 (na Picha)

Video: Kuonyesha Joto na Unyevu na Ukusanyaji wa Takwimu na Arduino na Usindikaji: Hatua 13 (na Picha)
Video: Создание приложений для мобильных устройств, игр, Интернета вещей и многого другого с помощью AWS DynamoDB, Рик Хулихан 2024, Julai
Anonim
Kuonyesha Joto na Unyevu na Ukusanyaji wa Takwimu na Arduino na Usindikaji
Kuonyesha Joto na Unyevu na Ukusanyaji wa Takwimu na Arduino na Usindikaji

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:

Nini Utahitaji
Nini Utahitaji
Nini Utahitaji
Nini Utahitaji

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

Unganisha Arduino kwa DHT11
Unganisha Arduino kwa DHT11
Unganisha Arduino kwa DHT11
Unganisha Arduino kwa DHT11
Unganisha Arduino kwa DHT11
Unganisha Arduino kwa DHT11
Unganisha Arduino kwa DHT11
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
Pakua Arduino IDE

Pakua Arduino IDE na usakinishe kwenye kompyuta

www.arduino.cc/en/Main/Software

Hatua ya 4: Unganisha Arduino kwenye Kompyuta

Unganisha Arduino kwenye Kompyuta
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
Pakia Maktaba
Pakia Maktaba
Pakia Maktaba
Pakia Maktaba
Pakia Maktaba
Pakia Maktaba
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

Pata Nambari ya Arduino
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

Nambari ya mzigo hadi Arduino
Nambari ya mzigo hadi Arduino
Nambari ya mzigo hadi Arduino
Nambari ya mzigo hadi Arduino
Nambari ya mzigo hadi Arduino
Nambari ya mzigo hadi Arduino
Nambari ya mzigo hadi Arduino
Nambari ya mzigo 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

  1. Maktaba ya "DHTlib" haikunakiliwa kwa usahihi
  2. Bandari ya COM haijawekwa kwa usahihi
  3. Sensorer haikuunganishwa kwa usahihi
  4. 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

Pakua na usakinishe Usindikaji
Pakua na usakinishe Usindikaji
Pakua na usakinishe Usindikaji
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

Msimbo wa usindikaji
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

Fonti katika Usindikaji
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

Kumaliza
Kumaliza
Kumaliza
Kumaliza
Kumaliza
Kumaliza
Kumaliza
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

Utatuzi wa shida
Utatuzi wa shida
Utatuzi wa shida
Utatuzi wa shida

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: