Utente:DaviBosco04/Arduino

Semaforo ad un IncrocioModifica

Il progetto che segue è un incrocio regolato da due semafori

Descrizione del progettoModifica

I due semafori si accendono insieme uno con il rosso e l'altro con il verde. il semaforo 2 diventa giallo e poi rosso e nello stesso momento il semaforo 1 diventa verde e cosi continua in loop come un semaforo stradale.

Schema elettricoModifica

 

Attaccare con dei cavetti i pin ai morsetti della resistenza che va poi collegata all'anodo del led e ripetere questo per ogni diodo led.

Dal catodo di ogni led si deve far partire un cavetto che si deve collegare al ground dell'Arduino.


Schema di montaggioModifica

 
Diodo Led


 

 
Resistore


Componenti Numero Valore Colore
Resistenza 6 220Ω
Diodi led 6 2rosso, 2 giallo, 2verde


CodiceModifica

const int led_red_01 = 2;
const int led_yel_01 = 3;
const int led_gre_01 = 4;
const int led_red_02 = 5;
const int led_yel_02 = 6;
const int led_gre_02 = 7;




void setup() {
  pinMode(led_red_01, OUTPUT);
  pinMode(led_yel_01, OUTPUT);
  pinMode(led_gre_01, OUTPUT);
  pinMode(led_red_02, OUTPUT);
  pinMode(led_yel_02, OUTPUT);
  pinMode(led_gre_02, OUTPUT);
}




void loop() {
  digitalWrite(led_gre_01, HIGH);// il led1 verde si accende
  digitalWrite(led_gre_02, LOW);// il led2 verde rimane spento
  digitalWrite(led_red_01, LOW);//il led1 rosso rimane spento 
  digitalWrite(led_red_02, HIGH);//il led2 rosso si accende
  delay(3000);
  digitalWrite(led_gre_01, LOW);//il led1 verde si spegne
  digitalWrite(led_yel_01, HIGH);//il led1 giallo si accende
  delay(1000);
  digitalWrite(led_yel_01, LOW);//il led1 giallo si spegne
  digitalWrite(led_red_01, HIGH);//il led1 rosso si accende
  digitalWrite(led_red_02, LOW);// il led2 rosso si spegne 
  digitalWrite(led_gre_02, HIGH);//ilo led2 verde si accende
  delay(2000);
  digitalWrite(led_gre_02, LOW);// il led2 verde si spegne 
  digitalWrite(led_yel_02, HIGH);//il led2 giallo si accende
  delay(1500);
  digitalWrite(led_yel_02, LOW);// il led2 giallo si spegne 
  digitalWrite(led_red_02, HIGH);//il led2 rosso si accende
  delay(500);
  digitalWrite(led_red_01, LOW);// il led1 rosso si spegne 
  digitalWrite(led_gre_01, HIGH);// il de1 verde si accende 
  delay(3000);
}

ConclusioniModifica

Questo progetto è semplice ma può essere migliorato magari con un pulsante per la chiamata per i pedoni e con esso un semaforo per i pedoni.