Ciao a tutti!
In questa guida vi farò vedere come realizzare un semaforo pedonale e stradale.
Quando un “pedone” premerà il pulsante il semaforo delle auto cambierà da verde a giallo e poi rosso mentre quello dei pedoni diventerà verde.
Scaduto il timer del verde pedonale ritornerà il rosso e in quello delle auto il verde.
Il materiale necessario per questo progetto è:
– Arduino Uno
– Breadboard (Basetta)
– Fili per i collegamenti
– 6 Resistenze da 220Ohm
– Un pulsante
– 5 Led (2 verdi, 2 rossi, 1 giallo)
Lo sketch da caricare sulla nostra scheda lo trovate nel link seguente:
[c]
#define vermelhoCarro 1
#define amareloCarro 2
#define verdeCarro 3
#define vermelhoPedestre 6
#define verdePedestre 7
#define bt 9
int flag = 0;
void abreSinal();
void fechaSinal();
void abreSinalPedestre();
void setup(){
pinMode(vermelhoCarro, OUTPUT);
pinMode(amareloCarro, OUTPUT);
pinMode(verdeCarro, OUTPUT);
pinMode(vermelhoPedestre, OUTPUT);
pinMode(verdePedestre, OUTPUT);
digitalWrite(vermelhoPedestre, HIGH);
abreSinal();
}
void loop(){
flag = digitalRead(bt);
switch(flag){
case(0): //Botao solto
abreSinal();
break;
case(1): //Botão pressionado
fechaSinal();
abreSinalPedestre();
abreSinal();
break;
}
}
void abreSinal()
{
flag = 0;
digitalWrite(vermelhoCarro, LOW);
digitalWrite(verdeCarro, HIGH);
flag = digitalRead(bt);
while(flag = 0){
flag = digitalRead(bt);
}
}
void fechaSinal()
{
digitalWrite(verdeCarro, LOW);
digitalWrite(amareloCarro, HIGH);
delay(4000);
digitalWrite(amareloCarro, LOW);
digitalWrite(vermelhoCarro, HIGH);
}
void abreSinalPedestre()
{
int i;
digitalWrite(vermelhoPedestre, LOW);
digitalWrite(verdePedestre, HIGH);
delay(7000);
digitalWrite(verdePedestre, LOW);
for(i = 0; i < 50;i++){
digitalWrite(vermelhoPedestre, HIGH);
delay(30);
digitalWrite(vermelhoPedestre, LOW);
}
digitalWrite(vermelhoPedestre, HIGH);
}
[/c]
DOWNLOAD: – – http://adf.ly/vKuC1 – –
Adesso passiamo ai collegamenti:
Una volta collegato il tutto caricate lo sketch ed il gioco è fatto!
A seguire un po’ di foto del progetto:
[embedyt] https://www.youtube.com/watch?v=qlqgXhBvXrQ[/embedyt]