Arduino taimeriteek viivitamiseks

Arduino Taimeriteek Viivitamiseks



Taimer on üks Arduino põhikomponente ajatundlike ülesannete täitmiseks. Arduino taimerid kasutavad tavaliselt viivituse () funktsiooni, et anda viivitus või peatada täitmine väikesteks ajavahemikeks. Multitegumtööks on aga vaja spetsiaalset funktsioonide viivitamiseks teeki.

See juhend hõlmab erinevaid Arduino taimeriteeke viivitamiseks koos lühikirjeldustega. Enne seda mõistame Arduino delay() funktsiooni piiranguid.







Viivituse piirangud ()

Funktsiooni delay() ei saa kasutada, kui soovite korraga täita erinevaid ülesandeid, kuna see on blokeerimisfunktsioon. See tähendab, et kui funktsiooni delay() kasutatakse ülesande täitmise peatamiseks, ei luba see vahepeal ühelgi teisel funktsioonil käivitada. Seega, kui keegi soovib peatada ühe programmi teiste käivitamise ajal, ei saa delay() kasutada.



Mida siis teha?



Arduino taimeriteek funktsioonikõnede viivitamiseks

Selle probleemi lahendamiseks peaksite kasutama spetsiaalseid viite sooritamiseks loodud teeke. Need teegid võimaldavad mõneks ajaks peatada mõned programmi funktsioonid ja vahepeal käitada teisi. Need teegid on taimeriteekid, mis ei blokeeri multitegumtöötlust. Neid saab kasutada funktsioonide helistamiseks vastavalt vajadusele.





Kuidas kaasata Arduino taimeri raamatukogu Arduino koodi

Taimeri teegi kaasamiseks peame esmalt lisama ZIP-faili, minnes aadressile Kaasa raamatukogu jaotis Arduino IDE-s. Arduino teekide lisamise üksikasjaliku kirjelduse saamiseks lugege artiklit kuidas installida raamatukogu Arduino IDE-sse .

Samm 1

Esiteks peate alla laadima Arduino taimeri raamatukogu.



2. samm

Pärast taimeri teegi allalaadimist avage Arduino IDE ja minge Sketch, seejärel Include Library ja seejärel klõpsake nuppu Lisa ZIP-teek.


Arduino kuvatakse 'Teek on installitud' väljundis.

3. samm

Pärast ZIP-teegi lisamist Arduino IDE-sse kuvatakse see Arduino IDE-s valikute Kaasa teegi ripploendis. Siit kaasa arvatud Taimer raamatukogu.


Kui lisate 'Taimer' teeki, ilmub visandile eelprotsessori direktiiv. Vastasel juhul võite teegi käsitsi kaasamiseks järgida 4. sammu.

# sisaldama < Taimer.h >

4. samm

Arduino taimeri raamatukogu lisamiseks Arduino koodi peate kasutama #kaasa direktiiv koos (.h) laiendustaimeri teegi nimi ja seejärel looge taimer, nagu allpool näidatud.

#include
auto taimer = timer_create_default ( ) ;


Pärast taimeri loomist peate selle taimeri kutsumiseks tegema funktsiooni. Võimalik, et peate helistama taimerile teatud ajahetkel, pärast lühikest viivitust või teatud aja möödumist. Allpool on toodud näited taimerite helistamiseks sellistes tingimustes.

Kui soovite lühikest viivitust

timer.in ( viivitus, kõne_funktsioon ) ;
timer.in ( viivitus, kõne_funktsioon, argument ) ; // või valikulise argumendiga jaoks funktsioon_to_call


Sel juhul saame kasutada timer.in() funktsiooni viivituse sisseviimiseks enne konkreetse funktsiooni kutsumist. Viivituse parameeter tähistab aega millisekundites, mille tahame enne koodi käivitamist oodata.

Pärast määratud viivitust, funktsioon_to_call kasutatakse. Argumendi saab määratleda ka nii, et see edastaks funktsioonile väljakutse ajal.

Kui soovite taimerile kindlal ajal helistada

See funktsioon seadistab taimeri konkreetse funktsiooni täitmiseks kindlal ajal. Ajaparameeter määrab aja, millal funktsioon tuleks välja kutsuda. See võib olla konkreetne ajatempel või viiteväärtus millisekundites. The funktsioon_to_call on funktsiooni parameeter, mis tuleb käivitada pärast taimeri aegumist.

taimer.at ( aega , funktsioon_to_call ) ;
taimer.at ( aega , kutsutav_funktsioon, argument ) ; // argumendiga


timer.at(aeg, funktsioon_kõne_kõneks, argument) funktsioon saab kutsutavale funktsioonile argumendi edastada. Argumendi parameeter on väärtus, mis tuleb funktsioonis edasi anda.

Kui soovite pärast teatud ajavahemikku taimerile helistada

Sel juhul saate funktsiooni timer.every() abil teatud aja tagant funktsiooni korduvalt välja kutsuda. Intervalli parameeter näitab aega millisekundites käivitatavate ajavahemike vahel.

Määrake soovitud intervall ja funktsioon_to_call kasutatakse pärast seda intervalli korduvalt. Nagu eelmistel juhtudel, saate lisada valikulise argumendi, mis edastatakse funktsiooni kutsumisel.

taimer.iga ( intervall, kõne_funktsioon ) ;
taimer.iga ( intervall, funktsioon_kutsuda, argument ) ; // Kirjutage oma intervall siia


Lisateavet selle meetodi kohta, kuidas funktsioonikutsete viivitamiseks kasutada taimeri teegi, saate lingi kaudu Arduino taimeriteek funktsioonide viivitamiseks .

Mõned muud raamatukogud Arduino viivitamiseks

Allpool toodud link viib teid Arduino taimeriteekidesse, kus saate installida funktsioonikõnede edasilükkamiseks taimeriteeke.

Taimeri raamatukogu Michael Contreras

Samuti on autor, kes on funktsioonikõnede viivitamiseks pakkunud enda loodud mitteblokeeriva Arduino taimeriteeki. Ta on kasutanud Arduino sisseehitatud funktsioone, nagu millis() ja micros(), et viivitada ilma blokeerimata. Allpool on link tema raamatukogule:

MichaelUray Arduino taimeri raamatukogu

Järeldus

Kuigi funktsioon delay() on Arduinos juba olemas, ei saa seda kasutada mitme ülesande samaaegseks täitmiseks. Mitme ülesande samaaegseks täitmiseks on Arduino kogukond loonud mitteblokeerivad taimeriteekid, mida saab vajaduse korral kasutada.