Arduino Watchdog: Pehea e hana ai

ʻīlio kiaʻi Arduino

Ma kēia ʻatikala hou e ʻike mākou i ka mea a ke kiaʻi, he aha ia e hoʻohana ai, a pehea e hoʻohana ai i kāu mau papahana ʻO Arduino. ʻO nā mea āpau e pono ai ʻoe e ʻike e pili ana i kēia hana hoihoi akā ʻike ʻole ʻia. A ʻae, e like me ka manaʻo o kona inoa (watchdog), hiki ke hoʻohana ʻia e nānā i kekahi mau pilikia.

Maanei kakou e ike ai ʻO nā mea āu e ʻike ai pili ana…

He aha ka ʻīlio kiaʻi?

Ma ka helu helu, a ʻīlio kiaʻi he hana hoʻomalu i hoʻohana ʻia e nānā i ka hana ʻana o kahi ʻōnaehana a papahana paha. ʻO kāna hana nui, ʻo ia ka ʻimi a pane ʻana i nā kūlana ʻino a i ʻole ka hāʻule ʻana o ka ʻōnaehana, e like me ka hāʻule ʻana a i ʻole ka hoʻokuʻu ʻana, a e hana i nā hana hoʻoponopono e hōʻoia i ka hoʻomau ʻana i ka hana a i ʻole ka hoʻihoʻi ʻana o ka ʻōnaehana.

ʻO ka ʻīlio kiaʻi hana ma ka manawa i hoʻonohonoho ʻia no kahi manawa kikoʻī. Inā ʻaʻole hana ka ʻōnaehana a i ʻole ka papahana i kahi hana kikoʻī a mana paha i ka ʻīlio kiaʻi (e. Hiki ke ʻokoʻa kēia hana ma o ka hoʻokō ʻana a hiki ke hoʻokomo hou i ka ʻōnaehana, ka hana ʻana i nā moʻolelo kuhi hewa, ka hoʻoulu ʻana i nā ala ala, a i ʻole ka hana ʻana i nā hana kikoʻī e hoʻoponopono i ka pilikia.

Hoʻohana ʻia ka ʻīlio kiaʻi ma nā ʻōnaehana kamepiula a me nā mea hana like ʻole, mai nā ʻōnaehana hana a me nā kikowaena i nā polokalamu hoʻokomo a koʻikoʻi nā ʻōnaehana manawa maoli, me Arduino. ʻO kāna pahuhopu nui ka hoʻomaikaʻi ʻana i ka hilinaʻi a me ka loaʻa ʻana o ka ʻōnaehana ma o ka ʻike ʻana a me ka pane ʻana i nā pilikia, a laila e hōʻemi ana i ka pono o ka hana lima i nā kūlana hemahema.

He aha ka ʻīlio kiaʻi Arduino?

puke e pili ana i ka arduino

Pono e hoʻoponopono ʻia ka manawa kiaʻi o Arduino e like me nā pono o ka noi. He Mea mākaʻi kiaʻi manawa ke hoʻohana nei i kahi kumu wati 128 kHz i loko (hiki ke hoʻololi i ka papa a me ka MCU i hoʻohana ʻia). Ke hoʻāla ʻia, hoʻomaka ka helu ʻana mai ka ʻole a hiki i ka waiwai i koho mua ʻia e ka mea hoʻohana. Inā ʻaʻole hoʻihoʻi ka Watchdog Timer i kona hiki ʻana i kēia waiwai, hoʻihoʻi ia i ka microcontroller.

ʻO ka microcontroller, a i ʻole MCU, kahi mea uila liʻiliʻi e hoʻohui i kahi kikowaena hoʻoponopono kikowaena (CPU), hoʻomanaʻo, nā kikowaena hoʻokomo/puka, a i kekahi manawa nā pilina kamaʻilio ma kahi pahu hoʻokahi. Hoʻolālā ʻia e hoʻomalu a hoʻokō i nā hana kikoʻī.

Ka Manawa Kiai ATmega328P, i hoʻokō ʻia ma Arduino UNO, hāʻawi i nā hoʻonohonoho manawa like ʻole 10, e hoʻoholo ana kēlā me kēia i ka wā e kahe ai ka manawa a no laila e hoʻonohonoho hou. ʻO nā manawa manawa like ʻole penei: 16 ms, 32 ms, 64 ms, 0.125 kekona, 0.25 kekona, 0.5 kekona, 1 kekona, 2 kekona, 4 kekona a me 8 kekona, e like me kā mākou e ʻike ai ma hope o ka papa aʻu e hoʻokomo ai.

Inā ʻaʻole maopopo iā ʻoe ka mea hiki iā ʻoe ke hana me Watchdog Timer Arduino UNO, e ike kakou ʻO kahi laʻana no laila hiki iā ʻoe ke hoʻomaopopo i ke kiʻi. Ma kēia laʻana, e hoʻohana mākou i kahi kukui LED maʻalahi (blink). Hoʻomaka nā LED no kahi manawa i hoʻonohonoho ʻia ma mua o ke komo ʻana i ka loop while(). Hoʻohana ʻia kēia loop while() ma ke ʻano he ʻokoʻa i kahi ʻōnaehana pale. No ka mea ʻaʻole i hoʻonohonoho hou ʻia ka Watchdog Timer i ka wā () loop, e hoʻomaka hou ka ʻōnaehana, a e hoʻomaka hou nā LED ma mua o ka hāʻule ʻana o ka ʻōnaehana a hoʻomaka hou. E hoʻomau kēia pōʻaiapuni…

Nā manaʻo a me nā hiʻohiʻona

Ka Manawa Kiai Ua pio i ka hoʻomaka o ke code. Hoʻopili ʻia kahi lohi o x kekona ma mua o ka hiki ʻana i ka Watchdog. He mea koʻikoʻi kēia lohi e ʻae i ka bootloader Arduino e nānā inā e hoʻouka ʻia ana ke code hou a e ʻae i ka manawa kūpono e kākau ai i ke code i ka hoʻomanaʻo uila. Pili kēia ʻano i mea e mālama ai. Hiki mai ke kūlana ma muli o ke kuhi hewa ʻole a i ʻole ka noʻonoʻo pono ʻole, hoʻihoʻi ke code i kākau ʻia i ka microcontroller i nā manawa pōkole loa. Hiki i kēia ke hōʻino i ka papa Arduino a pale i nā code mai ka hoʻouka pono ʻana iā ia. Inā hiki kēia, pono ʻoe e puhi i ka bootloader me ka hoʻohana ʻana i Arduino ʻē aʻe ma ke ʻano he ISP ma ka Arduino paʻa ...

Ke hoʻohana mākou i ka ʻīlio kiaʻi Arduino, pono e hoʻohana kakau bit e wehewehe i ke ano o ka chip. ʻO nā papa inoa kūpono a me ko lākou manaʻo ua kikoʻī ʻia i ka ʻikepili microcontroller i loaʻa ma ka papa Arduino. Eia nō naʻe, hele mai ka Arduino integrated development environment (IDE) me kekahi mau hana a me nā macros i hoʻolālā ʻia e hoʻomaʻamaʻa i kēia kaʻina hana, hiki ke lawe ʻia mai me ka hoʻokomo ʻana i ka waihona. #hoʻokomo e hoʻohana i ka ʻīlio kiaʻi o ka chip AVR.

Ma kēia ala, hiki iā mākou ke hoʻonohonoho i ka ʻīlio kiaʻi hiki iā ia ma o ka hana wdt_enable().. Hoʻoholo ka hoʻopaʻapaʻa o kēia hana i ka manawa ma mua o ka hoʻihoʻi ʻana o ka papa inā ʻaʻole i hoʻonohonoho hou ʻia ka manawa. No nā waiwai āu e hoʻonohonoho ai i ke code, hoʻokomo wau iā lākou ma aneʻi:

ʻO ka manawa ma mua o ka hoʻomaka ʻana o ka ʻīlio kiaʻi wtd_enable() hoʻopaʻapaʻa
15 ms WDTO_15MS
30 ms WDTO_30MS
60 ms WDTO_60MS
120 ms WDTO_120MS
250 ms WDTO_250MS
500 ms WDTO_500MS
1 s WDTO_1S
2 s WDTO_2S
4 s WDTO_4S
8 s WDTO_8S
No ka ʻike hou aku, hiki iā ʻoe ke nīnau i ka datasheet Arduino, kahi e ʻike ai ʻoe i nā kikoʻī hou aku e pili ana i ka microcontroller i hoʻohui ʻia iā ia iho, nā papa inoa i hiki ke hoʻohana ʻia me ka kiaʻi kiaʻi, pinout, peripherals, nā kikoʻī loea, nā voltages, ka hoʻohana mana, etc.

Ka laʻana o ka hoʻohana ʻana i ka ʻīlio kiaʻi ma Arduino

Arduino IDE, ʻano ʻikepili, hoʻolālā

ʻO ka hope, e ʻike kākou pehea e hoʻohana ʻia ai ka ʻīlio kiaʻi me kahi laʻana i ka Arduino IDE. E like me kā mākou e ʻike nei, he mea maʻalahi loa ia, hiki iā ʻoe ke loaʻa i nā code kumu like ʻole e like me kēia ma ka Pūnaewele, hiki iā ʻoe ke hoʻomaʻamaʻa, hoʻololi, a hana i kāu mau code ponoʻī e hoʻohana i ka kiaʻi i kāu mau papahana. E nana kakou kā mākou laʻana:

#include <avr/wdt.h> // Incluir la biblioteca watchdog (wdt.h)
 
void setup()
{
  wdt_disable(); // Desactivar el watchdog mientras se configura, para que no se resetee
  wdt_enable(WDTO_2S); // Configurar watchdog a dos segundos
}
 
void loop()
{
  wdt_reset(); // Actualizar el watchdog para que no produzca un reinicio
  //Aquí iría el código de tu programa...
}

E like me ka mea i ʻike ʻia ma kēia hiʻohiʻona o kahi sketch no Arduino, aia ʻekolu hana o nā ʻōlelo papahana kaulana no ka mālama ʻana i ka ʻīlio kiaʻi, a ʻo kēia:

  • wdt_disable() e hoʻopau i ka manawa i ka hoʻonohonoho ʻana iā Arduino.
  • wdt_enable() e hoʻokaʻawale i kahi manawa i ka manawa a hoʻomaka, e kuhikuhi ana i ka manawa kūpono e like me kaʻu i hōʻike ai ma ka papa mua.
  • wdt_reset() e hoʻohou i ka wā i hāʻawi ʻia a i ʻole e hoʻomaka hou ka papahana.

Hoʻopili ka ʻike o ka ʻatikala i kā mākou kumumanaʻo o ka hoʻoponopono hoʻoponopono. E hōʻike i kahi kaomi hemahema ʻaneʻi.

E lilo i mea mua e wehewehe

E waiho i kāu manaʻo

Kāu leka uila aae? E,ʻaʻole e paʻiʻia. i hāliu aku i koi 'ia kula *

*

*

  1. He kuleana no ka ʻikepili: Miguel Ángel Gatón
  2. Ke kumu o ka ʻikepili: kaohi SPAM, hoʻokele ʻōlelo.
  3. Legitimation: Kou ʻae
  4. Ka kamaʻilio ʻana o ka ʻikepili: ʻaʻole e hōʻike ʻia ka ʻikepili i nā ʻaoʻao ʻekolu koe ka mana o ke kānāwai.
  5. Pūnaewele mālama: Pūnaewele i mālama ʻia e Occentus Networks (EU)
  6. Nā Kuleana: I kēlā me kēia manawa hiki iā ʻoe ke palena, hoʻōla a kāpae i kāu ʻike.