Šviesoforas. I dalis

   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 …)

arduino sviesoforas

   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 🙂

 

Vienas komentartas

    Arduino programavimo pradžiamokslis

    […] Pamokų sąrašas […]

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *

*
*

Time limit is exhausted. Please reload CAPTCHA.

Brukalų kiekiui sumažinti šis tinklalapis naudoja Akismet. Sužinokite, kaip apdorojami Jūsų komentarų duomenys.