Você está na página 1de 3

LABORATÓRIO DE HARDWARE

Aluno..: Rômulo Augusto Paixão

Projeto: [ ] SEMÁFORO [ X ] SEMÁFORO 3 TEMPOS [ ] PESAGEM VEÍCULOS

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.

def controla_sinal(sinal_a, sinal_b, sinal_c, sinal_d){


//função de sinal de 3 tempos
acende(vermelho, B)
acende(vermelho, C)
acende(vermelho, D)
acende(verde, A)
conta(5)

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

Você também pode gostar