Jau mokame mirksėti vienu LED'u. Jungiame 3. Mums reikės:
1. 3 Šviesos diodų (raudono, geltono ir žalio)
2. 3 varžų – 220 Om
3. 4 jungimo laidų
4. Montažinės plokštės
5. Arduino
Mūsų šviesoforo schema, sumodeliuota Fritzing programa (nors ji man ir labai nepatinka, bet …)
Raudonas LED'as per varžą jungiamas prie 2 išėjimo kojos, geltonas – prie 3, žalias – prie 4.
Scenarijus: uždegamas raudonas LED'as, po 7 sekundziu uzdegamas geltonas LED'as, po 1 sekundės gesinamas raudonas ir geltonas LED'ai, uždegamas žalias. Žalias dega 4 sekundes, užgęsta, 4 kartus sumirksi – mirksėjimo trukmė – 0,5 sekundės, užgęsta, uždegamas geltonas 1 sekundei, jis užgęsta ir vėl iš pradžių – užsidega raudomas ir t.t. Scenarijus – tai komandų seka žmogui suprantama kalba, įgudę programuotojai programos scenarijų prasuka galvoje, bet blokschemas pasibraižo, ateity ir mes išmoksim braižyti blokschemas…
Turint scenarijų nesunku visa tai parašyti ir kontroleriui suprantama kalba:
/* Šviesoforas, mokomoji programa programos ver. 1 */ void setup() { // skaitmeninių išėjimų nustatymas pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); } // amžinas ciklas void loop() { digitalWrite(2, HIGH); // įjungiam raudoną delay(7000); // laukiam 7 sekundes digitalWrite(3, HIGH); // įjungiam geltoną delay(1000); // laukiam 1 sekundę digitalWrite(2, LOW); // išjungiam raudoną digitalWrite(3, LOW); // išjungiam geltoną digitalWrite(4, HIGH); // įjungiam žalią delay(4000); // laukiam 4 sekundes digitalWrite(4, LOW); // išjungiam žalią delay (500); // laukiam 0,5 sekundes digitalWrite(4, HIGH); // įjungiam žalią delay(500); // laukiam 0,5 sekundes digitalWrite(4, LOW); // išjungiam žalią delay (500); // laukiam 0,5 sekundes digitalWrite(4, HIGH); // įjungiam žalią delay(500); // laukiam 10 sekundziu digitalWrite(4, LOW); // išjungiam žalią delay (500); // laukiam 0,5 sekundes digitalWrite(4, HIGH); // įjungiam žalią delay(500); // laukiam 10 sekundziu digitalWrite(4, LOW); // išjungiam žalią delay (500); // laukiam 0,5 sekundes digitalWrite(4, HIGH); // įjungiam žalią delay(500); // laukiam 10 sekundziu digitalWrite(4, LOW); // išjungiam žalią digitalWrite(3, HIGH); // įjungiam geltoną delay(1000); // laukiam 1 sekundę digitalWrite(3, LOW); // išjungiam geltoną }
Vat ir viskas, štai koks rezultatas 🙂
Arduino programavimo pradžiamokslis
[…] Pamokų sąrašas […]