Orodha ya maudhui:

Arduino 3-in-1 Kuonyesha Saa na Hali ya Hewa: Hatua 11
Arduino 3-in-1 Kuonyesha Saa na Hali ya Hewa: Hatua 11

Video: Arduino 3-in-1 Kuonyesha Saa na Hali ya Hewa: Hatua 11

Video: Arduino 3-in-1 Kuonyesha Saa na Hali ya Hewa: Hatua 11
Video: Arduino Millis function explained with 3 example 2024, Novemba
Anonim

Fuata Zaidi na mwandishi:

Kutumia ATtiny85
Kutumia ATtiny85
Kutumia ATtiny85
Kutumia ATtiny85
Pi Kugawanya Pai na kifaa cha kupogoa poligoni
Pi Kugawanya Pai na kifaa cha kupogoa poligoni
Pi Kugawanya Pai na kifaa cha kupogoa poligoni
Pi Kugawanya Pai na kifaa cha kupogoa poligoni
Udhibiti wa Dijiti kwa Amp ya Sauti ya Mwongozo
Udhibiti wa Dijiti kwa Amp ya Sauti ya Mwongozo
Udhibiti wa Dijiti kwa Amp ya Sauti ya Mwongozo
Udhibiti wa Dijiti kwa Amp ya Sauti ya Mwongozo

Napenda wadhibiti-PIC microcontroller na napenda programu katika lugha ya mkutano. Kwa kweli, katika miaka michache iliyopita, nimechapisha karibu miradi 40 kwenye wavuti yangu kulingana na mchanganyiko huo. Hivi karibuni nilikuwa nikiagiza sehemu kadhaa kutoka kwa mmoja wa wauzaji nipendao wa Merika na nikaona Arduino Nano, na kebo ya programu, kwa $ 1.20 tu zaidi ya Chip ya processor ya ATMEGA328. Kwa hivyo nilinunua michache yao. Kisha nikapakua Arduino IDE na kutolea kumbukumbu kumbukumbu yangu ya programu ya 'C ++'.

Mradi huu ni mchanganyiko wa saa ambayo hutumia GPS kwa muda na mpokeaji wa RF ambaye huamua ujumbe wa hali ya hewa kutoka kwa sensa ya kawaida ya AcuRite. Matokeo yake ni kiwango kidogo cha wakati na onyesho la joto. Saa za GPS na hali ya hali ya hewa imewekwa kama faili tofauti ikiwa ni pamoja na kwa hivyo ni rahisi kwenda kwenye utaratibu kuu na kuisanidi kufanya kazi ya saa tu au kazi ya hali ya hewa tu. Ondoa tu "#fafanua" inayofaa juu ya utaratibu kuu ikiwa unataka moja tu ya kazi.

Ikiwa kazi zote zinatumika, basi laini ya juu ya LCD inaonyesha wakati wa ndani na mstari wa chini wa LCD unaonyesha unyevu na joto katika Celsius na Fahrenheit zote mbili. Ikiwa kazi ya saa tu inatumiwa, basi laini ya juu huonyesha wakati wa ndani na mstari wa chini unaonyesha UTC. Ikiwa kazi ya hali ya hewa tu inatumiwa, basi laini ya juu huonyesha sensorer ya kwanza iliyopokelewa na mstari wa chini unaonyesha sensorer nyingine yoyote iliyopokelewa. Niliongeza uwezo huo kwa sababu nina sensorer mbili za hali ya hewa.

Hatua ya 1: Sura ya Hali ya Hewa

Sura ya Hali ya Hewa
Sura ya Hali ya Hewa
Sura ya Hali ya Hewa
Sura ya Hali ya Hewa
Sura ya Hali ya Hewa
Sura ya Hali ya Hewa

Sensor ya hali ya hewa ya AcuRite inayotumiwa hapa hutuma habari ya joto na unyevu kila sekunde 16. Nyuma inaonyesha idadi ya mfano ya 000592TXR lakini kwa kawaida hutangazwa kama mfano 06002M. Sensorer hii inatumiwa na anuwai ya anuwai nyingi za kituo cha hali ya hewa kwa hivyo ni rahisi kupata na niliweza kuzipata kwenye eBay chini ya $ 20. AcuRite inauza sensorer zinazofanana kwa baadhi ya vituo vyao vya hali ya hewa lakini wanaweza au wasizingatie itifaki hiyo hiyo ya mawasiliano. Kuna dalili kwenye wavuti kwamba sensa ya joto-tu ya 00606 hutumia muundo wa ujumbe huo huo lakini na baiti ya unyevu isiyofaa.

Kama inavyoonekana katika muundo wa kwanza wa mawimbi ulioonyeshwa hapo juu, ujumbe wa hali ya hewa hutumwa kwa kupasuka na pengo la 2ms kati ya ujumbe mfululizo. Umbo la wimbi la pili lililoonyeshwa hapo juu hupanua sehemu ya ujumbe mmoja ili kuona muda na mifumo kidogo. Kuna bits nne za usawazishaji ambazo ni juu ya 600us juu ikifuatiwa na 600us low. Biti za data zinawakilishwa na 400us juu ikifuatiwa na 200us low (1) au 200us high ikifuatiwa na 400us low (0).

Umbizo la ujumbe lina kaiti 7 za data. Baiti mbili za kwanza ni kitambulisho cha kitambuzi na hizi hazibadiliki (yaani: haitumii nambari ya kutembeza). Baiti ya mwisho ni hundi rahisi ya nyongeza ya ka sita za kwanza. Baiti ya tatu ni kiashiria cha kiwango cha betri na inapaswa kuwa hex 44 kila wakati ikiwa betri ni nzuri. Baiti ya nne ni unyevu na ni thamani isiyo na kipimo kati ya 0 na 99. Ni muhimu kuzingatia kwamba nambari muhimu zaidi ya 4, 5, na 6 ni usawa na sio sehemu ya kipimo maadili. Baiti 5 na 6 ni joto lililopimwa (Celsius) na vipande 4 vya chini vya baiti 5 vimeunganishwa na biti 7 za chini za 6 ili kuunda dhamana ya 11-bit. Joto huwakilishwa kama nambari nzuri na inakuwa hasi tu wakati kuongeza kunatumika. Kuongeza ni (C / 10) - 100. Mgawanyiko na 10 unahitajika kwa sababu azimio la joto ni katika sehemu ya kumi ya digrii. Utoaji unahitajika kwa sababu 100 inaongezwa na sensa ili kuweka dhamana iliyoambukizwa ikiwa chanya.

Hatua ya 2: Mpokeaji wa RF

Mpokeaji wa RF
Mpokeaji wa RF
Mpokeaji wa RF
Mpokeaji wa RF

Moduli ya RF ninayotumia kwa mradi huu ni RXB6. Ni mpokeaji mzuri wa heterodyne tofauti na vipokezi vya kuzaliwa upya visivyo vya kuhitajika. Ukiangalia moduli za bei rahisi za RF huko nje utapata kwamba bodi za kusambaza na za kupokea mara nyingi hufungwa pamoja. Wengi wa wale wanaopokea vifurushi ni aina kubwa za kuzaliwa upya kwa hivyo huwa na sifa za utendaji wa chini sana (pamoja na masafa) kuliko wapokeaji wa heterodyne bora. Tunahitaji tu moduli ya mpokeaji kwa mradi huu kwa sababu tutapata ishara kutoka kwa mtoaji wa sensa ya hali ya hewa.

Hatua ya 3: RF Antena

Antena za RF
Antena za RF

RXB6 haiji na antena. Unaweza kununua helical kwa bei rahisi lakini pia ni rahisi kutengeneza antenna yako mwenyewe. Kwa kweli, kebo ya jumper ya ubao wa mkate inaweza kuingizwa kwenye pini ya antena ya moduli ikiwa hautaki kupendeza sana. Kwa kweli, antenna ya waya moja kwa moja itakuwa urefu wa urefu wa 1/4 ambao hufanya kazi hadi inchi 6.8. Mwanzoni nilifanya kitu cha waya ya kuruka na sikuwa na shida kuokota sensorer yangu ya nje ingawa semina yangu ya umeme iko kwenye basement yangu.

Uwezekano mwingine ni kutengeneza antenna yako mwenyewe ya helical. Kuna mipango anuwai ya hiyo kwenye wavuti lakini ile iliyoonyeshwa kwenye picha hapo juu ndio nilifanya. Nilitumia waya wa msingi thabiti kutoka kwa kipande chakavu cha kebo ya Ethernet na kuipiga karibu na shank laini ya kuchimba visima vya inchi 5/32. Acha insulation isipokuwa kwa ncha ambayo wauzaji kwa bodi ya RF. Utahitaji zamu 20. Unaweza kutumia kitoboli cha inchi 7/32 na funga zamu 17 badala yake. Yoyote ya haya labda yatafanya kazi vizuri kwa safu ambazo unaweza kuwa nazo kwa sensorer zako. Kitufe halisi ni kuwa na mpokeaji mzuri wa RF kuanza. Sensorer za AcuRite pia zina transmita nzuri zenye nguvu.

Hatua ya 4: Itifaki ya Mawasiliano ya RF

Kuna mbinu kadhaa tofauti za kusambaza data lakini sensorer hizi hutumia rahisi zaidi ambayo ni OOK (on-off-keying) au ASK (amplitude-shift-keying). Kwa kuwa tunashughulika na bits 0/1 za data katika mfano huu, amplitude imejaa au imezimwa kabisa. Kwa hivyo, kwa madhumuni yetu, OOK na ASK ni sawa kwa sababu OOK inamaanisha kuwa carrier wa RF amejaa au amezimwa. Umbizo la ujumbe kwa ujumla hufafanuliwa na mtengenezaji wa kifaa kinachosambaza na wanaweza kutumia sana kiwango chochote cha usambazaji, mtindo wowote wa muundo, na urefu wowote wa ujumbe. Bendi ya 433-MHz imejaa usafirishaji wa vitu kama mita smart, n.k kwa hivyo programu inahitaji kuangaliwa ili kuchuja muundo wa ujumbe tu ambao tunataka kutumia.

Hatua ya 5: Takwimu za Wakati

Takwimu za Wakati
Takwimu za Wakati

Ninatumia kitengo cha bei rahisi cha GPS ili kupata data sahihi ya wakati ambayo itaanza upya kiatomati baada ya kukatika kwa umeme. Nina vitengo kadhaa vya GPS (bila maonyesho) ambayo hutoa sentensi za kawaida za NMEA lakini ndogo na ya bei rahisi zaidi ya vitengo nilivyo na NEO-6M. Moduli ya NEO-6M ni rahisi kuunganishwa na Arduino kwa sababu inatumia bandari ya kiwango cha TTL. Tofauti pekee ya kweli ni kwamba kiwango cha NMEA kinabainisha kiwango cha baud cha serial cha 4800 lakini chaguo-msingi la NEO-6M hadi baud 9600. Unaweza kuendesha programu ya bure ya "u-center" kubadilisha kiwango cha baud lakini niliiacha tu kwa chaguo-msingi cha kiwanda. Kuna pia programu ya matumizi ya bure inayoitwa GPSInfo (iliyowekwa na Globalsat) ambayo ni rahisi sana kutazama habari za GPS kwenye PC. Unaweza kuunganisha kitengo cha GPS kwa kebo ya kawaida ya USB hadi TTL kwa kuiangalia au kuiweka kwa kutumia PC. Kumbuka kwamba Chip ya GPS kwenye moduli inaendesha volts 3.3 (kupitia mdhibiti wa voltage ya bodi) kwa hivyo ikiwa unataka kuungana na bandari yake ya RXD unapaswa kusonga chini kutoka volts 5. Bandari ya TXD inaweza kuungana moja kwa moja na Arduino au PC.

Hatua ya 6: Kanda za Wakati

Kuonyesha wakati wa GPS ni jambo rahisi kufanya maadamu unataka tu kuonyesha UTC (Universal Coordinated Time). Sentensi za NMEA zinajumuisha herufi za ASCII ambazo zinaweza kutolewa moja kwa moja kwa LCD. Sehemu ya wakati iko katika muundo wa HHMMSS. FF (masaa, dakika, sekunde, na sekunde za sehemu). Kwa saa yetu sehemu ya sehemu sio muhimu kwa hivyo tunachohitaji kushughulikia ni wahusika sita. Shida ni kwamba basi unahitaji kubadilisha kuwa wakati wako wa ndani na kwa muundo wa masaa 12 AM / PM ikiwa unataka hiyo. Lakini wakati mwingine shida ndizo hufanya maisha yawe ya kupendeza kwa hivyo ndivyo sehemu hiyo ya programu ilivyo kweli.

Kama maeneo ya wakati, unaweza kufikiria kuwa kungekuwa na 24 kati yao na 12 kati yao mashariki mwa eneo la UTC (+ kanda) na 12 kati yao magharibi mwa eneo la UTC (- kanda). Kwa kweli, kuna chache isiyo ya kawaida ambayo ni masaa ya sehemu na wenzi ambao huzidi "kikomo" cha saa 12. Ikiwa unatokea kuishi katika moja ya maeneo hayo naomba radhi kwa sababu programu yangu inasimamia tu maeneo 24 ya saa nzima. Kuna pia wengine wetu ambao hutumia Mchana wa Akiba ya Mchana sehemu ya mwaka lakini hiyo haihesabiwi kiatomati katika programu. Hiyo itahitaji meza ya kutafuta tarehe za baadaye, ugumu zaidi katika programu, na hitaji la kusasisha programu ikiwa wiki za mwaka za switchover zimebadilika. Badala yake, vifaa hutumia swichi ya mawasiliano ya muda mfupi ili kuruhusu uwekaji rahisi wa eneo la wakati (kukabiliana na UTC).

Hatua ya 7: Mpangilio

Mpangilio
Mpangilio

Mpangilio umeonyeshwa hapo juu na unajumuisha unganisho la kiwambo cha 4-bit 1602 LCD. Takwimu za serial kutoka kwa mpokeaji wa RF ziko katika viwango vya mantiki vya dijiti kwa hivyo imeunganishwa moja kwa moja na moja ya pini za kuingiza data za Arduino. Pini imesanidiwa katika programu kufanya kazi ya kukatiza-kwenye-mabadiliko ili tuweze kupima upana wa kunde. Pato la GPS TXD limeunganishwa moja kwa moja na pembejeo ya Arduino RX.

Kuna swichi mbili zilizotumiwa. Kama ilivyosemwa hapo awali, swichi ya mawasiliano ya kitambo inaruhusu kuweka mpangilio wa UTC. Kubadili kunaweza kushinikizwa wakati wowote kuingia kwenye hali iliyowekwa. Hapo awali, onyesho litaonyesha idadi isiyo sahihi ya UTC ya "+77". Rejea sehemu ya "Programu ya Saa" kwa maagizo ya kuweka upeanaji wa UTC.

Kubadili ya pili ni rahisi kubadili / kuzima. Katika nafasi ya "kuzima" wakati utaonyeshwa kwa muundo wa saa 12 (AM / PM) na katika nafasi ya "on" wakati utaonyeshwa kwa muundo wa saa 24. Swichi hii inaweza kubadilishwa wakati wowote kugeuza kati ya fomati.

Ikiwa kazi ya saa tu inahitajika, basi moduli ya mpokeaji wa RF haiitaji kuunganishwa. Ikiwa kazi ya hali ya hewa inahitajika tu, basi GPS na swichi mbili hazihitaji kuunganishwa.

Hatua ya 8: Programu ya LCD

Mimi huwa na kutumia moja ya aina mbili za miingiliano ya LCD. Moja ni kiolesura cha kawaida cha 4-bit na nyingine ni kiunganishi cha waya-3 ambacho hutumia rejista ya mabadiliko. Nilibuni kiolesura hicho wakati nilikuwa nikifanya kazi na wadhibiti wadogo wa PIC ambao walikuwa na idadi ndogo ya pini za I / O. Nilitumia kiolesura cha 4-bit kwa mradi huu lakini nina LCD yangu pamoja na faili badala ya kutumia maktaba ya generic Arduino LCD. Hiyo inapunguza utumiaji wa kumbukumbu na ugumu wa nambari na pia inaniruhusu kurekebisha nambari kwa miradi maalum kama hii.

Hatua ya 9: Programu ya Saa

Kitengo cha GPS hutoa sentensi za kawaida za NMEA-0183 ambazo ni nyuzi za ASCII ambazo zina habari anuwai. Kwa programu hii nilichagua sentensi ya GGA kupata habari ya wakati kwa sababu ndio sentensi niliyotumia kwa mradi uliopita wa GPS. Sehemu za habari katika sentensi za NMEA zimetengwa na koma kwa hivyo, baada ya kichwa cha sentensi ya GGA kugunduliwa, programu hiyo kawaida ingehesabu koma na kupiga utaratibu unaofaa kwa kila uwanja wa habari wa GPS. Habari ya wakati tu inahitajika hapa na hiyo iko kwenye uwanja baada ya koma ya kwanza kwa hivyo hakuna kuhesabu inahitajika.

Nambari sita za wakati (HHMMSS) zimebadilishwa na kisha kusindika baada ya zote kupokelewa. GPS inaweza kutoa jumbe zingine ambazo hazijakamilika mapema kwa hivyo utaratibu wa kukataza unathibitisha kuwa kila mhusika ni nambari ya nambari ya ASCII. Ikiwa tabia mbaya inapokelewa, ujumbe hutupwa. Hii inaweza pia kutokea katika hafla nadra wakati wa operesheni ya kawaida, haswa ikiwa mawasiliano ya bandari ya serial hushuka kidogo. Nimeona hii mara moja tu na yote yaliyotokea ni kwamba wakati ulisimama kwa sekunde kisha akaruka sekunde mbili badala ya moja.

Ikiwa programu imesanidiwa kufanya onyesho la wakati tu, basi laini ya kwanza ya LCD itaonyesha wakati wa ndani na safu ya pili itaonyesha UTC. Kwa UTC programu hutuma tu herufi za ASCII moja kwa moja kwa utaratibu wa kuonyesha, na koloni (:) zimeingizwa ipasavyo.

Ili kubadilisha UTC iwe wakati wa ndani, kukabiliana kwa UTC (eneo la saa) lazima kutekelezwe. Kwa sababu wakati wa UTC kutoka GPS uko katika muundo wa ASCII, programu inabadilisha herufi za saa ASCII kuwa desimali na kisha inaongeza upendeleo wa UTC. Mpangilio wa UTC huhifadhiwa kama nambari nzuri ya BCD na ishara kidogo kwa hivyo inabadilishwa kuwa nambari kamili na kisha ikakanushwa ikiwa alama ya ishara imewekwa. Mara tu wakati wa saa ya saa unapohesabiwa, meza ya kutafakari hutumiwa kuibadilisha kuwa BCD, na kisha BCD inabadilishwa kurudi ASCII kwa onyesho. Jedwali la kutazama linahitaji kushughulikia muundo wa UTC wa saa 24 na pia maeneo ya saa +/- 12. Ili kufanya hivyo, nyakati za UTC kutoka 0000 hadi 2300 zinachukua viingilio 24 vya kati kwenye jedwali na viingilio 12 kabla na viingilio 12 baada ya kuhesabu maeneo ya wakati. Jedwali moja liko katika muundo wa masaa 12 kwa hivyo pia niliongeza meza ya kutafakari kwa sehemu ya AM / PM ya onyesho. Jedwali lingine liko katika muundo wa masaa 24. Kama ilivyoelezwa hapo awali, swichi ya kuwasha / kuzima inaruhusu uteuzi wa muundo wa masaa 12 au masaa 24.

Saa za eneo zinapatikana kutoka EEPROM wakati wa uanzishaji na kuonyeshwa kwa ufupi. Ikiwa haijawekwa angalau mara moja basi utaratibu wa kuweka unaitwa. Utaratibu wa kuweka pia unaweza kuitwa wakati wowote kwa kubonyeza kitufe cha mawasiliano cha kitambo. Utaratibu wa kuweka utaanzisha maonyesho kuwa "UTC OFFSET +77". Bonyeza kifupi cha swichi itabadilisha thamani kuwa "-00". Ikiwa eneo la wakati mzuri linahitajika, basi kitufe kingine kifupi kitabadilisha thamani kuwa "+00". Bonyeza kwa muda mrefu (> sekunde 1) itahamisha hali ya kuweka kwenye hatua inayofuata. Kwa wakati huu kila vyombo vya habari vifupi vitaongeza thamani ya muda hadi kiwango cha juu cha 12. Baada ya kufikia ukanda wa saa unayotaka, bonyeza na ushikilie swichi kwa zaidi ya sekunde 1 kisha uiachilie. Programu hiyo itaokoa thamani ya UTC katika EEPROM na kuonyesha kwa ufupi "OFFSET SAVED". Ukikosea wakati wa kuingia, toka tu kisha bonyeza kitufe tena ili kuiweka upya.

NEO-6M haiitaji urekebishaji mzuri wa nafasi ili kutoa wakati kwa hivyo inapaswa kutoa ujumbe mara tu inapopata setilaiti moja. Hadi wakati huo onyesho litasomeka "HAKUNA DATA".

Hatua ya 10: Programu ya hali ya hewa

Mdhibiti mdogo wa PIC ana uwezo wa kuweka kizima / kuzima kipima muda kwa kutumia mapigo ya nje. Mapigo sawa ya pembejeo pia yanaweza kutumika kama usumbufu wa nje kuashiria kusoma kwa muda wa kunde. Arduino haina uwezo halisi kwa hivyo nilitumia kazi ya kukatiza-kwenye-mabadiliko. Kwenye kando moja ya ujumbe wa RF pigo wakati wa sasa wa microsecond unaokolewa na mshughulikiaji wa usumbufu. Kwenye makali kinyume wakati uliopitishwa umehesabiwa kuamua upana wa kunde.

Programu ina ufafanuzi wa "DEBUG" ambayo inaruhusu kuonyesha muundo wa data ghafi ya ujumbe uliopokelewa. Kuna pia ufafanuzi kutaja pini ya kuingiza Arduino kwa mkondo wa serial kutoka kwa mpokeaji wa RF. Programu imewekwa ili kuhesabu mipangilio sahihi ya sajili ya kukatiza-kwenye-mabadiliko kulingana na ufafanuzi huu. Hesabu hufanya kazi tu kwa pini za dijiti za Arduino. Pini ya analogi inaweza kutumika badala yake lakini hiyo itahitaji uandishi mgumu wa maadili ya rejista.

Kidhibiti cha kukatiza huamua ikiwa hesabu iliyopigwa ni ndefu ya kutosha kuwa mapigo ya mwanzo. Kama ilivyoelezwa hapo awali, pengo kati ya ujumbe mwingi ni 2ms kwa hivyo ndivyo programu inavyotafuta. Kwa sababu ya trafiki yote ya 433-MHz, uchunguzi wa kwanza kwenye programu huhakikisha kuwa wakati uliopimwa ni angalau 1.8ms lakini sio zaidi ya 2.4ms. Baada ya kuanza kugunduliwa programu inatafuta vipande vya usawazishaji (600us) na inahesabu kuhakikisha kuwa nne kati yao zinapokelewa. Mara tu majaribio haya yakipitishwa, programu inatafuta nyakati sahihi za 200us na 400us.

Biti zilizopokelewa zinaundwa kwa ka na kila ka inahifadhiwa. Baada ya ka saba kupokelewa ujumbe checksum unathibitishwa kabla ya usindikaji zaidi kuruhusiwa. Ikiwa kawi mbichi zitatolewa (hali ya utatuzi), basi ka hubadilishwa kuwa herufi za ASCII na kupelekwa kwa LCD. Ikiwa matokeo ya unyevu na joto yanahitajika, basi ubadilishaji unaofaa unafanywa.

Hizi mbili za data ya Centigrade katika ujumbe wa RF zimechanganikwa pamoja kuunda dhamana ya 11-bit. Sehemu ya chini imehamishwa kushoto kidogo ili kuondoa usawa na kuilinganisha na bits kwenye sehemu ya juu. Hizi mbili hutengenezwa kwa kutofautisha kwa neno la 16-bit kisha kitu kizima ni sawa kuhamishwa kidogo kupata usawa wa mwisho. Neno la kutofautisha hubadilishwa kuwa kiwango cha kuelea kwa mahesabu ya hesabu.

Faida moja kubwa ya kutumia C ++ kwenye lugha ya Arduino dhidi ya mkutano kwenye PIC ni kwamba inarahisisha hesabu za hesabu. Kama ilivyotajwa hapo awali ubadilishaji wa Centigrade ni (C / 10) -100. Matokeo yake hubadilishwa kuwa kamba na kupelekwa kwa LCD kwa onyesho. Hesabu ya Fahrenheit ni (C * 1.8) + 32. Matokeo yake hubadilishwa kuwa kamba na kupelekwa kwa LCD kwa onyesho. Katika visa vyote viwili, ubadilishaji wa Kamba unajumuisha ishara hasi (ikiwa inafaa) na hatua ya desimali. Cheki hufanywa kwa nukta ya decimal ili kuhakikisha kuwa herufi moja tu baada ya decimal imetumwa kwenye onyesho. Hundi hiyo inahitajika kwa sababu kamba inaweza kuanzia herufi 3 hadi 5 kwa urefu.

Nina sensorer mbili za AcuRite kwa hivyo niliongeza cheki katika programu ili kuhakikisha kuwa data ya moja haichapishi data ya nyingine ikiwa programu imewekwa tu kufanya kazi ya hali ya hewa. Kitambuzi cha kwanza kilichopokelewa baada ya nguvu kuonyeshwa kwenye laini ya 1 na kingine kimeonyeshwa kwenye laini ya 2. Kwa kutumia hali ya utatuzi, ninaweza kuona kitambulisho ni nini kwa kila sensa ili niweze kukagua nambari rahisi ikiwa nitaweza tu nilitaka kusindika data kutoka kwa mmoja wao.

Programu inafuatilia hali ya betri (byte3) na huonyesha ujumbe ikiwa inaonyesha betri ya chini. Ujumbe huu unabatilisha data zingine zote kwa kitambuzi hicho.

Hatua ya 11: Maonyesho

Maonyesho
Maonyesho
Maonyesho
Maonyesho
Maonyesho
Maonyesho

Hapa kuna mifano ya maonyesho ya kazi anuwai. Nina Maagizo mengine machache lakini miradi yangu mingi ya udhibiti wa PIC inaweza kupatikana kwenye wavuti yangu kwa: www.boomerrules.wordpress.com

Ilipendekeza: