vineri, 5 ianuarie 2018

ARDUINO - Proiect Semafor

Ne propunem să creem un semafor care va folosi 3 led-uri ( roșu, galben, verde). Știm că semaforul functionează astfel:

  • -          Lumina roșie aprinsă ( adică stop )
  • -          Stă aprinsă un timp
  • -          Se aprinde lumina galbenă
  • -          Se stinge lumina roșie iar cea galbenă va rămâne aprinsă
  • -          Se stinge lumina galbenă
  • -          Se aprinde lumina verde și va sta aprinsă un timp
  • -          Se aprinde lumina galbenă după un timp
  • -          Se stinge lumina verde în timp ce lumina galbenă va ramâne aprinsă
  • -          Se stinge lumina galbenă
  • -          Se reia ciclul de la aprinderea luminii roșii



În figura următoare este arătată ordinea de aprindere a luminilor semaforului:


Schema electronică este prezentată în următoarele figuri:


Algoritm:
  • 1.        Declarăm pinii folosiți
  • 2.       Aprindem led-ul roșu
  • 3.       Îl ținem aprins un timp t1
  • 4.       Aprindem led-ul galben
  • 5.       Îl ținem aprins un timp t2;t1
  • 6.       Stingem led-ul roșu
  • 7.       Aprindem led-ul verde
  • 8.       Îl tinem aprins un timp t4;t3
  • 9.       Stingem ledul galben
  • 10.   Stingem ledul verde și ne intoarcem la punctul 1.


Programul ce îl scriem în Arduino IDE: 

int TimpAsteptare=10000;
int ledrosu=10;
int ledgalben=9;
int ledverde=8;
void setup()
{
                pinMode(ledrosu,OUTPUT);
                pinMode(ledgalben,OUTPUT);
                pinMode(ledverde,OUTPUT);
}
void loop()
{
            digitalWrite(ledrosu,HIGH);
delay(TimpAsteptare);
digitalWrite(ledgalben,HIGH);
delay(2000);
digitalWrite(ledrosu,LOW);
digitalWrite(ledverde,HIGH);
digitalWrite(ledgalben,LOW);
delay(TimpAsteptare);
digitalWrite(ledverde,LOW);
}