Ciclo do semáforo
Parte da seção Projetos do Journey de Arduino da Coddy. Lição 1 de 24.
Este projeto monta uma faixa de pedestres em quatro etapas: luzes para carros, temporização melhor, um botão para quem está a pé e um sinal de travessia com um sinal sonoro. A faixa de pedestres inteira já está conectada, então o circuito permanece igual em todas as etapas. Hoje, apenas as três luzes para carros são usadas.
Um semáforo passa pelas mesmas etapas para sempre: verde, amarelo, vermelho e, depois, verde novamente. Em cada etapa, uma luz fica acesa e as outras duas ficam apagadas por um tempo.
Quando as mesmas poucas linhas aparecem repetidamente, coloque-as em uma função. Esta liga a luz que recebe e desliga as outras:
void showLight(int pin) {
digitalWrite(redPin, LOW);
digitalWrite(yellowPin, LOW);
digitalWrite(greenPin, LOW);
digitalWrite(pin, HIGH);
}Então, cada etapa em loop() tem duas linhas: showLight(greenPin); e um delay() pelo tempo que aquela luz permanecer acesa.
Desafio
FácilAs luzes do carro estão nos pinos 12 (vermelho), 11 (amarelo) e 10 (verde). Faça-as alternar:
- configure os três pinos como saídas
- verde por 3000 ms
- amarelo por 1000 ms
- vermelho por 3000 ms e, em seguida, comece novamente
Apenas uma luz do carro pode ficar acesa por vez. Pressione Run para observar o cruzamento e, em seguida, Check.
Experimente você mesmo
// As luzes do carro
const int redPin = 12;
const int yellowPin = 11;
const int greenPin = 10;
void setup() {
// configure os três pinos das luzes como saídas
}
void loop() {
// verde por 3 s, amarelo por 1 s, vermelho por 3 s
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Projetos
Pratique por conta própria: Playground de Arduino