Vsi vemo o Arduinu. Je ena izmed najbolj priljubljenih mikrokrmilnih plošč z odprtokodno kodo, ki je zelo koristna za samostojne projekte. Ta 3-smerni krmilnik semaforja, ki temelji na Arduinu, je preprost projekt Arduino DIY, ki je koristen za razumevanje delovanja semaforjev, ki jih vidimo okoli sebe. V tem semaforiziranem krogu smo zajeli enostavnejšo različico semaforjev. Tukaj smo to pokazali za tri strani ali načine. Zdaj pa pojdimo v projekt…
Potrebne komponente:
- 3 * rdeče LED luči
- 3 * zelene LED luči
- 3 * rumene LED luči
- 3 * 220ohm upori
- Breadboard
- Moški do moški konektorji
- Arduino Uno z ide kablom
Pojasnilo vezja:
Shema vezja za projekt Krmilnik semaforja Arduino je podana spodaj:
Preprosto je in ga je mogoče enostavno zgraditi na plošči za kruh, kot je razloženo v spodnjih korakih:
- Priključite LED v vrstnem redu kot rdeča, zelena in rumena na plošči.
- Postavite skupni negativni priključek LED in zaporedno priključite upor 220 ohm.
- Ustrezno priključite priključne žice.
- Drugi konec žice priključite na Arduino Uno v zaporednih nožicah (2,3,4… 10)
- Vklopite ploščo z zatičem Arduino 5v in GND.
Program in delovna razlaga:
Koda za ta projekt Arduino semaforja je preprosta in jo je mogoče enostavno razumeti. Tu smo prikazali semaforje za trismerno cesto in koda sveti LED na vseh treh straneh v določenem zaporedju, v katerem dejansko delujejo semaforji. Tako bosta hkrati na kateri koli od obeh strani dva rdeča signala in na preostali strani ena zelena lučka. In rumena luč bo prav tako svetila za vsako sekundo, vmes med prehodom iz rdeče v zeleno, pomeni, da najprej rdeča luč sveti 5 sekund, nato rumena luč sveti 1 sekundo in nato končno prižge zeleno luč.
V programu smo najprej deklarirali nožice (2,3… 10) kot izhod v nastavitvi void () za 9 LED (tri na vsaki strani, tj. Naprej, desno in levo).
void setup () {// konfiguriranje izhodnih zatičev pinMode (2, OUTPUT); pinMode (3, IZHOD); pinMode (4, IZHOD); pinMode (5, IZHOD); pinMode (6, IZHOD); pinMode (7, IZHOD); pinMode (8, IZHOD); pinMode (9, IZHOD); pinMode (10, IZHOD); }
Nato smo v funkcijo void loop () napisali kodo za vklop in izklop semaforjev v zaporedju, kot je navedeno zgoraj.
void loop () {digitalWrite (2,1); // omogoči 1. nabor signalov digitalWrite (7,1); digitalWrite (10,1); digitalWrite (4,0); digitalWrite (3,0); digitalWrite (6,0); digitalWrite (8,0); digitalWrite (9,0); digitalWrite (5,0); zamuda (5000);………………
Ta postopek je dobro prikazan v spodnjem videu. Najprej se odpre zgornja / sprednja stran (zelena), drugi strani (tj. Leva in desna stran) pa ostaneta zaprti z rdečim signalom z zakasnitvijo 5 sekund. Nato se na desni strani za 1 sekundo prižge rumena lučka, ki ji sledi zelena lučka, preostali dve strani (tj. Zgoraj in levo pa je rdeča) se zapreta z rdečo lučjo in zakasnitvijo 5 sekund. Nato rumena barva na levi strani sveti 1 sekundo, nato ji sledi zelena, navzgor pa na desni strani rdeča z zakasnitvijo 5 sekund. Ta postopek je zapet v funkcijo void loop () za neprekinjen postopek. Tu lahko spremenimo zamude, pri katerih rdeča, rumena in zelena lučka ostanejo prižgane in izklopljene.
Popolna Arduino kodo in video za to Arduino semaforje projekta je podan v nadaljevanju.