Escolar Documentos
Profissional Documentos
Cultura Documentos
Semafaro 3 Tempos, Roland
Semafaro 3 Tempos, Roland
1. Algoritmo
//Semáforo de 3 tempos,
Sinalizador A = cruzamento major Nicácio com major Claudiano (pestalozzi)
Sinalizador B = Major Nicácio com CityPosto
Sinalizador C = Major Nicácio sentido Major Cláudiano
Sinalizador D = Major Nicácio sentido MacDonalds.
apaga(verde, A)
acende(amarelo, A)
conta(2)
apaga(amarelo, A)
acende(vermelho, A)
apaga(vermelho, B)
apaga(vermelho, D)
acende(verde, B)
acende(verde, D)
conta(5)
apaga(verde, D)
acende(amarelo, D)
conta(2)
apaga(amarelo, D)
acende(vermelho, D)
apaga(vermelho, C)
acende(verde, C)
conta(3)
apaga(verde, C)
apaga(verde, B)
acende(amarelo, C)
acende(amarelo, B)
conta(2)
apaga(amarelo, C)
apaga(amarelo, B)
apaga(vermelho, A)
}
2. Código
void setup()
{
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
void loop()
{
digitalWrite(11, 1);
digitalWrite(8, 1);
digitalWrite(4, 1);
digitalWrite(3, 1);
delay(5000);
digitalWrite(3, 0);
digitalWrite(2, 1);
delay(2000);
digitalWrite(2, 0);
digitalWrite(1, 1);
digitalWrite(4, 0);
digitalWrite(11, 0);
digitalWrite(13, 1);
digitalWrite(6, 1);
delay(5000);
digitalWrite(13, 0);
digitalWrite(12, 1);
delay(2000);
digitalWrite(12, 0);
digitalWrite(11, 1);
digitalWrite(8, 0);
digitalWrite(10, 1);
delay(3000);
digitalWrite(10, 0);
digitalWrite(6, 0);
digitalWrite(5, 1);
digitalWrite(9, 1);
delay(2000);
digitalWrite(5, 0);
digitalWrite(9, 0);
digitalWrite(1, 0);
}
3. Captura da tela do simulador com o circuito em funcionamento