Menu
CoddyTech

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.

challenge icon

Desafio

Fácil

As 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

}
quiz iconTeste seus conhecimentos

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