Talaan ng mga Nilalaman:
- Hakbang 1: Makagambala sa Handler
- Hakbang 2: Itakda ang Pansamantalang Pagitan ng Oras
- Hakbang 3: Makagambala sa Simula
- Hakbang 4: Kung saan idaragdag ang Iyong Code
Video: Arduino - Pana-panahong Gagambala: 4 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Ang Instructable na ito ay tungkol sa paggamit ng isang pana-panahong makagambala para sa tiyempo sa mga programa ng Arduino. Ito ay isang hakbang para sa isang namumuo na Arduino programmer na alam na ang Arduino ay maaaring gumawa ng higit pa, ngunit hindi masyadong alam kung paano ito mangyari.
Kung mayroong isang problema sa pagganap ipinapalagay ko na gumagamit ka ng isa o higit pang mga pagpapaandar () na pagpapaandar. Ang bilis ng kamay ay upang mapupuksa ang (mga) pagpapaandar na pagkaantala at palitan ang isang makagambala. Pinipilit ng pagpapaandar ng () pagpapaandar ang Arduino na walang gawin habang hinihintay ang pagkakatagal () upang makumpleto. Ang paggamit ng isang nakakagambala ay nagbibigay-daan sa iyong programa na gumawa ng ibang mga bagay habang hinihintay ang pagtatapos ng pagkaantala. Karaniwan ay may isang malaking halaga ng hindi nagamit na oras ng patay na maaaring magamit para sa iba pang mga bagay kapag gumagamit ng pagkaantala (). Nalulutas ng paggamit ng isang nakakagambala ang problemang ito.
Hakbang 1: Makagambala sa Handler
1. Idagdag ang makagambala na handler sa iyong programa. Kopyahin at i-paste lamang sa isang lugar sa itaas ng pag-setup ();
hindi pinirmahan ng mahabang TIMER0_COUNT = 500; // 500 msec timer interval
// TIMER0 makagambala ang handler pabagu-bago ng oras ng bool = false; ISR (TIMER0_COMPA_vect) {static unsigned long count = 0; kung (++ count> TIMER0_COUNT) {count = 0; oras = totoo; // oras ay nakatakda sa totoo bawat TIMER0_COUNT ms} // (ang oras ay kailangang i-clear sa pangunahing gawain)}
Hakbang 2: Itakda ang Pansamantalang Pagitan ng Oras
2. Itakda ang agwat ng oras. Ang nakagawian na piggybacks mismo papunta sa makagambala ng TIMER0, na nakatakda sa sunog bawat ~ 1 msec.
Ang iyong "agwat" ay ang bilang ng mga paggambala ng TIMER0 upang iproseso. Ang bawat agwat ay ~ 1 msec, kaya talagang itinatakda mo kung gaano karaming TIMER0 ang gumagambala upang mabilang bago i-aktibo ang iyong agwat. IOW, itakda ang variable TIMER0_COUNT sa gayunpaman maraming mga millisecond na nais mong maghintay. Halimbawa, gumamit ng 500 para sa isang kalahati ng isang segundo. Gumamit ng 3000 sa loob ng 3 segundo.
Hakbang 3: Makagambala sa Simula
3. Idagdag ang "TIMER0 initialization" code sa iyong setup () na pamamaraan. Muli, kopyahin lamang at i-paste sa pag-setup ().
// *** TIMER0 initialization ***
Tala (); // patayin ang lahat ng nakakagambala TIMSK0 = 0; // i-off ang timer0 para sa mas mababang jitter OCR0A = 0xBB; // arbitrary interrupt count TIMSK0 | = _BV (OCIE0A); // piggy back papunta makagambala sei (); // turn interrupts pabalik sa
Hakbang 4: Kung saan idaragdag ang Iyong Code
4. Idagdag ang "time check" code sa iyong loop () na pamamaraan. Kopyahin at i-paste sa loop ().
kung (oras) {
oras = maling; // do something here}
Ang "time = false;" linya ay mahalaga. Nang walang linya na ito ang (gumawa ng isang bagay dito "na linya (s) ay naisakatuparan sa tuwing ang programa ay nagpapatupad ng loop ().
Siyempre, pinapalitan mo ang iyong sariling mga aktibidad sa linya na "gumawa ng isang bagay dito". Magsimula sa pag-print ng ilang teksto o pag-flash ng LED.
Tapos ka na!
Inirerekumendang:
Arduino Car Reverse Parking Alert System - Hakbang sa Hakbang: 4 na Hakbang
Arduino Car Reverse Parking Alert System | Hakbang sa Hakbang: Sa proyektong ito, magdidisenyo ako ng isang simpleng Arduino Car Reverse Parking Sensor Circuit gamit ang Arduino UNO at HC-SR04 Ultrasonic Sensor. Ang Arduino based Car Reverse alert system na ito ay maaaring magamit para sa isang Autonomous Navigation, Robot Ranging at iba pang range r
Hakbang sa Hakbang Pagbubuo ng PC: 9 Mga Hakbang
Hakbang sa Hakbang ng PC Building: Mga Pantustos: Hardware: MotherboardCPU & CPU coolerPSU (Power supply unit) Storage (HDD / SSD) RAMGPU (hindi kinakailangan) CaseTools: ScrewdriverESD bracelet / matsthermal paste w / applicator
Tatlong Loudspeaker Circuits -- Hakbang-hakbang na Tutorial: 3 Mga Hakbang
Tatlong Loudspeaker Circuits || Hakbang-hakbang na Tutorial: Ang Loudspeaker Circuit ay nagpapalakas ng mga audio signal na natanggap mula sa kapaligiran papunta sa MIC at ipinapadala ito sa Speaker mula sa kung saan ginawa ang pinalakas na audio. Dito, ipapakita ko sa iyo ang tatlong magkakaibang paraan upang magawa ang Loudspeaker Circuit na ito gamit ang:
Sinusubaybayan ng RC ang Robot Gamit ang Arduino - Hakbang sa Hakbang: 3 Mga Hakbang
Sinusubaybayan ng RC ang Robot Gamit ang Arduino - Hakbang-hakbang: Hey guys, bumalik ako kasama ang isa pang cool na chassis ng Robot mula sa BangGood. Inaasahan mong dumaan ka sa aming nakaraang mga proyekto - Spinel Crux V1 - Ang Kinokontrol na Robot ng Gesture, Spinel Crux L2 - Arduino Pick at Place Robot na may Robotic Arms at The Badland Braw
DIY Arduino Robotic Arm, Hakbang sa Hakbang: 9 Mga Hakbang
DIY Arduino Robotic Arm, Hakbang-Hakbang: Ang tutorial na ito ay magtuturo sa iyo kung paano bumuo ng isang Robot Arm sa pamamagitan ng iyong sarili