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 […]