Néha két dolgot kell egyszerre tennie. Például szeretne villogni egy LED-et, miközben egy gomb állapotát szeretné figyelni. Ebben az esetben nem használhatja a delay() parancsot, mert a program futása szünetel, amíg az időzítés le nem telik. Ha a delay() futása közben nyomja meg a gombot, akkor semmi sem fog történni.
Az alábbi példaprogram be fogja mutatni, hogy hogyan tud egy LED diódát úgy villogtatni, hogy közben nem kell használnia a delay() parancsot. Bekapcsolja a LED-et, majd feljegyzi az időt. Ezután minden alkalommal, amikor a program loop() része lefut, ellenőrzi, hogy a kívánt villogási idő eltelt-e. Ha igen, akkor be- vagy kikapcsolja a LED-et, és feljegyzi az új időt. Ilyen módon a LED folyamatosan villog, miközben a program futása nem szakad meg, ezáltal a többi parancs is végrehajtódik (többek között a gomb állapotának a figyelése).
Ennek a módszernek a könnyebb megértéséhez vegyünk egy példát az életből. Tételezzük fel, hogy szeretné megmelegíteni a pizzáját a mikrohullámú sütőben, de közben várja a postást, hogy hozzon egy fontos levelet. A delay() használata az olyan, mintha leülne a mikrohullámu sütő elé és befogott füllel végig figyelné, ameddig le nem jár a melegítés ideje. Ha közben kopogtat a postás, nem fogja hallani, mert befogott füllel figyeli a mikrót. Így marad le a fontos levélről, ugyan úgy, ahogy az Ön által megírt program a gombnyomásról. Ellenben a delay() használata nélküli program, az olyan, mintha betenné a pizzát a mikróba és időről időre megnézné, hogy felmelegedett-e. Közben van ideje figyelni a postást, tenni-venni, stb. Látható, hogy ebben az esetben nem marad le a postásról, ha a pizza felmelegítése közben jön.
Ebben az oktatóanyagban megtudhatja, hogyan állítson be hasonló időzítőt.
Szükséges hardver
- Arduino vagy a Genuino alaplap
- LED dióda
- 220 ohm értékű ellenállás
Az áramkör
Az áramkör felépítéséhez csatlakoztassa az ellenállás egyik végét az alaplap 13. érintkezőjéhez. Csatlakoztassa a LED hosszú lábát (a pozitív lábat, úgynevezett anódot) az ellenállás másik végéhez. Csatlakoztassa a LED rövid lábát (a negatív lábat, úgynevezett katódot) az alaplap GND kivezetéséhez, a fenti ábra és az alábbi kapcsolási rajz szerint.
A legtöbb Arduino és a Genuino alaplapnak már van gyárilag LED-je a 13 lábra kötve. Ha ezt a példaprogramot feltölti, akkor az alaplapon lévő LED fog villogni.
Kapcsolás
Miután összeállította az áramkört, csatlakoztassa az alaplapot a számítógéphez, indítsa el az Arduino szoftvert (IDE), és írja be az alábbi kódot.
Kód
Az alábbi kód a millis() függvényt használja, egy parancsot, amely eredményeképpen megtudhatja, hogy mennyi idő telt el (ezredmásodpercben), azóta, hogy elindult a program (minden alkalommal, amikor kikapcsolja a készüléket, ez nulláról indul ismét) és ezt használja a program a LED villogtatásához.