ʻAʻole wau he loea Arduino, me ka loaʻa ʻole o ka pā no ka manawa lōʻihi ʻaʻole wau i hoʻokolokolo. ʻO nā manawa aʻu i hoʻohana ai ia, he mea hana kope a hoʻopili ʻana i ke code i hana ʻia akā me ka ʻole o ka hoihoi i ke aʻo maoli ʻana pehea e hana ai akā me ka manaʻo e hana a pono ia iaʻu. I kēia Kalikimaka ua hoʻoliʻiliʻi wau i ka hanana Nānau me kekahi mau LED a me kahi sensor ultrasound HC-SR04. A kū wau e ʻike i ka mea e pono ai.
Makemake wau e hana i nā mea like ʻole me nā LED ʻelua mai ka hōʻailona like. Auwē Kūleʻa koke wau i ka mea aʻu e manaʻo ai ʻo kekahi o nā palena mua āu i ʻike ai ke hoʻomaka ʻoe e huikau me Arduino. A ʻaʻole pono ʻoe e hana i ka paʻakikī loa. Ke kamaʻilio wale nei wau e pili ana i kekahi mau LED, ʻike ʻoe ʻaʻole hiki iā ʻoe ke hana pololei i kāu makemake.
E hoʻomaopopo mai ka hoʻomaka ʻaʻohe o multitasking ma Arduino, ʻelua mau hana ʻaʻole hiki ke hoʻokō ʻia i ka lua. Akā aia kekahi mau hana e hana wikiwiki ai i nā kelepona e like me ka hana i ka manawa like.
ʻ telllelo wau i ka hihia ma ke kikoʻī. I ka Kalikimaka ua hoʻonohonoho wau i kahi Scene Nativity a makemake i kekahi mau kukui Kākoʻo e hoʻā i ka wā e hoʻokokoke aku ai kaʻu mau kaikamahine. ʻAʻohe mea paʻakikī. Makemake au i ʻelua mau lālā o nā kukui i alakaʻi ʻia e hana ʻokoʻa i nā waiwai o kahi mea hoʻopili kokoke.
Makemake au i ka wā i kokoke ai kekahi ma mua o 10 cm
- ʻO kekahi o nā lālā o nā kukui e hele i nā hōkū e noho mau no 10 kekona
- ʻO kēlā mea ʻē aʻe e hele i loko o nā hale e noho mau no 10 kekona akā ʻoiai ua kaʻawale lākou mai ka wahi hānau.
Simple no? ʻoiai hiki i kēia ke hoʻopilikia iā ʻoe. Ma muli o ka hiki ʻole iā Arduino ke hoʻonui i ka multitasking, hana ia i kekahi kauoha ma hope o kekahi.
Ua hana wau i ke kau nei me ka HC-SR04 ultrasound sensor a me 2 LEDs, ua like kēlā me kēia me ka lālā o Betelehema. ʻAno ʻakaʻaka ʻole ka ʻāpana mua, no ka mea e hoʻonohonoho i ka hoʻonohonoho a me ka hana o ka ultrasound sensor i ka LOOP, akā hiki iā ʻoe ke loaʻa i kēia ma nā wahi he mau kaukani. E like me kekahi lā inā ʻimi au i nā mea hou aʻe hana wau i kahi mea kūikawā, no kēia manawa eia ʻoe (e kala mai ʻaʻole e waiho i nā hōʻaiʻē, akā ʻaʻole wau e hoʻomanaʻo kahi i loaʻa mai ai iaʻu)
HC-SR04 code ma Arduino
int ledPin1 = 8; int ledPin2 = 7; mamao loa; manawa lōʻihi; lōʻihi o kēia manawa; timepast lōʻihi; hakahaka hoʻonohonoho () {// hoʻokumu i ka pine digital LED_BUILTIN ma ke ʻano he hopena. pinMode (ledPin1, OUTPUT); pinMode (ledPin2, OUTPUT); Serial.begin (9600); pinMode (3, OUTPUT); / * ka hoʻoulu ʻana o ka pin 9 ma ke ʻano he puka: no ka ultrasound pulse * / pinMode (2, INPUT); / * ka hoʻoulu ʻana o ka pin 8 ma ke ʻano he hoʻokomo: ultrasound bounc time * /} // holo ka hana loop a mau loa a mau loa ka loop loop () {digitalWrite (3, LOW); / * Ma muli o ka hoʻonāukiuki ʻana o ke kiʻina * / delayMicroseconds (5); digitalWrite (3, kiʻekiʻe); / * ke hoʻouna nei i ka pulse ultrasonic * / delayMicroseconds (10); manawa = pulseIn (2, Kiʻekiʻena); / * Hana e ana i ka lōʻihi o ka pulse e hiki mai ana. Ana i ka manawa i hala ma waena o ka hoʻouna ʻana i ka pulse ultrasonic a ke loaʻa i ka mea ʻike ke ea, ʻo ia hoʻi: mai ka manawa e hoʻomaka ai ka pin 12 i ka lele, kiʻekiʻe, a kū ka hana ʻana pēlā, LOW, ka lōʻihi o ka pulse e hiki mai ana * / mamao = int (0.017 * manawa); / * haʻilula e helu ai i kahi mamao e loaʻa ai kahi helu helu * / / * Nānā i nā kenimika e ka monitor serial * / Serial.println ("Distance"); Serial.println (mamao); Serial.println ("cm"); hoʻolohi (1000);
Me kēia, e loiloi a mālama ʻia ka mamao i ana ʻia e ka mīkini ultrasound
Pāʻoihana hana LEDS
ʻO ka mea mua i hiki i ka noʻonoʻo e hoʻomaka i ka hoʻopaneʻe ʻana. ʻAʻole maopopo iaʻu ke kumu akā noʻonoʻo ka poʻe hoʻomaka i ka hoʻopaneʻe () a palena palena loa i nā koho no ka mea ʻoiai e lohi ana () ʻaʻole hoʻomau ka hana a ka papa a no laila ʻaʻole hiki iā ʻoe ke hana i kekahi mea ʻē aʻe i kēlā manawa hoʻomaha. ʻO ka hopena e hoʻohana i ka millis ()
Maʻaneʻi ua loaʻa iaʻu kahi hopena maʻalahi e pili ana i ka a me nā helu helu. Ma ke ʻano he kumu naʻu e ʻōlelo ai, hiki i kekahi mea ke hoʻolālā ʻia me nā inā inā he lālani. Akā ʻoiaʻiʻo ʻaʻole nani ka ʻoiaʻiʻo.
// inā ʻoi aku ka mamao ma mua o 10, huli mākou i nā LED ʻelua a i ʻole nā lālā a hoʻomaka i ka helu ʻana i ka manawa me millis () inā (mamao <10) {digitalWrite (ledPin1, HIGH); digitalWrite (ledPin2, kiʻekiʻe); nowtime = millis (); } // inā ʻoi aku ka mamao ma mua o 10 e nānā mākou i ka manawa i hala ma hope o ka hōʻaia ʻana a inā ʻoi aku ia ma mua o ka mea i kuhikuhi ʻia e hoʻopau mākou i ka LED1 inā (mamao> 10) {timepast = millis () - kēia manawa ; digitalWrite (ledPin1, LOW); // inā ʻoi aku ka mamao ma mua o 10000 e hoʻopau mākou iā LED2 inā (timepast> 10000) {digitalWrite (ledPin2, LOW); }}}
ʻO ka mea a kēia code e manaʻo nei e hoʻokō mau ana ka Arduino i kēlā mau ʻekolu inā hiki iā ia ke hele wikiwiki iā lākou me he mea lā ke hana nei ia i kekahi mau mea i ka manawa like. Akā e like me kā mākou e ʻike nei, hoʻomau ia i ka hoʻokō ʻana i nā ʻōlelo i hoʻokahi.
Ke ana ʻia ka mamao a mālama ʻia i ka loli mamao, e loiloi ʻia nā inā
- ʻO nā kaha mua inā he emi ka mamao ma mua o 10 kenimika i makemake ʻia. Inā pēlā, huli mākou i nā LED ʻelua a hoʻomaka i ka helu ʻana i ka manawa me millis ()
- a hele mākou i ka lua inā no ka mamao ma mua o 10 cm. Inā kūlike ia, helu mākou i ka manawa i hala a kāpae i ke alakaʻi ʻana 1 kaukaʻi wale ʻia i ka mamao.
- E hele mākou i ke kolu inā mākou e nānā inā ʻoi aku ma mua o 10 kekona i hala ma hope o ka hoʻouka ʻia ʻana o ka counter, a inā pēlā, pio ka pin 2
- A no laila hele ka loop. A hou aku.
I ka hopena, a ʻoiai ua holo ka hopena, ua maopopo iaʻu ua ʻike ʻia kēia pilikia e nā poʻe he nui a aia paha kahi hopena ʻoi aku ka orthodox. Ua hoʻomaka wau e nānā a loaʻa kahi mea maikaʻi (ʻoiai ʻaʻole ʻo ia wale nō) mai nā keikikāne o Hoʻolālā Adafruit a me nā papahana hoʻonohonoho pahuhopu. Aia ia i ka hana ʻana i nā mea me nā papa i wehewehe ʻia e hana i nā kelepona wikiwiki a ʻaʻole pono e hana hou i ke code i mau manawa i kā mākou papahana.
ʻO ka mea i ka hopena "like" me kaʻu hopena me inā + mau helu helu akā ʻoi aku ka nani a hāʻawi i kahi pāʻālua ʻoi aku ka heluhelu a me ka ʻoi aku ka maikaʻi.
ʻO ka mālama ʻana i ka multitasking hiki ʻole ke alakaʻi i ka hoʻokele manawa ma Arduino. I ka manawa mua ʻaʻole i hoʻokomo ʻia kēia i loko o ka ʻatikala akā manaʻo wau he hoihoi loa ia.
Nā hana Arduino a me ka manawa
E like me kaʻu i ʻōlelo ai Manaʻo wau aia kekahi hilinaʻi nui me ka hoʻopaneʻe () , no ka mea paha e hoʻomaka ana ka poʻe e ʻike i kēia hana i nā laʻana āpau e waiho maʻamau ʻia mai ka blink a i kekahi kukui uila a i ʻole kahi hana o LEDS ma waho a ma waho.
He pilikia nui ka hoʻopaneʻe, a ʻo ia hoʻi ke kāhea mākou i ka lohi () no kekahi manawa, pau nā mea a pau. ʻAʻole heluhelu ka papa i kekahi sensor, ʻaʻole hoʻi e hoʻomau i ka hoʻokō ʻana i nā ʻōlelo, ʻaʻole hoʻi e hana i kekahi mea, e kali wale i ka manawa a mākou i ʻōlelo ai iā ʻoe e hala a ʻoiaʻiʻo inā makemake mākou e hoʻohana i ka papa no nā mea ʻoi aku ma mua o hoʻokahi mea. i ka manawa like, ʻaʻole pono kēia.
E nānā mākou millis () hiki i ka hoʻopaneʻeMicroseconds() A loaʻa iā mākou nā micros () e hoʻihoʻi i ka helu o nā microseconds mai ka wā i hoʻomaka ai ka papahana e hoʻokō.
Blink me ka hoʻokaʻulua ʻole
ʻO kahi laʻana maikaʻi e ʻike pehea e hana ai e holo i ka blink mythical akā me ka hoʻokaʻulua ʻole. ʻO ka ʻokoʻa nui ke poina iā mākou e pili ana i ka hana lohi () a hoʻohana i nā millis () e hiki ke helu i ka manawa ma waena o nā hana.
ʻO ka ʻike e pili ana i ke ola o nā interrupts i ka arduino hiki ke kōkua iā ʻoe e hoʻokō i nā papahana me kahi kekelē o ka multitasking.
Aloha Leandro, mahalo nui loa. ʻAʻole wau i ʻike i ke kumuhana o nā kahamaha. E nānā wau e ʻike :)
HE MANAʻO KULA E ʻae ai i kekahi mau hiʻohiʻona i ka manawa like