← Sair
SEMÁFORO
Modo Bancada · Plugada

SEMÁFORO

SENSORES

🎯 O que vamos aprender
  • • Identificar os componentes de um semáforo e suas respectivas cores e significados.
  • • Compreender a função dos sensores na automação de sistemas, como o semáforo.
  • • Aplicar lógica condicional para programar a sequência de funcionamento do semáforo.
  • • Montar um circuito simples utilizando sensores e atuadores para simular um semáforo.
  • • Criar um programa em blocos que controle a operação de um semáforo automatizado.
🔌 Montagem do robô

Placa: Arduino Nano

⬇ baixar SVG
🧰 Montagem do robôPlaca: Arduino Nano · 3 componentes · 3 ligações detectadas do códigoNANO133V3AREFA0A1A2A3A4A5A6A75VRSTGNDVIN12111098765432GNDRST10Arduino NanoD11 · sinalizaçãoLED verdeD9 · sinalizaçãoLED vermelhoD10 · sinalizaçãoLED amareloLEGENDA DOS FIOSDigital
🧰 Montagem do robôArduino Nanoplaca controladoraLED vermelhoD9LED amareloD10LED verdeD11
💻 O código
aula.ino
// Semáforo Automatizado com Arduino
// 5º ao 7º ano - Robótica Educacional

const int ledVermelho = 9;  // Pino do LED vermelho
const int ledAmarelo = 10;  // Pino do LED amarelo
const int ledVerde = 11;    // Pino do LED verde

void setup() {
  pinMode(ledVermelho, OUTPUT);  // Define o pino do LED vermelho como saída
  pinMode(ledAmarelo, OUTPUT);   // Define o pino do LED amarelo como saída
  pinMode(ledVerde, OUTPUT);     // Define o pino do LED verde como saída
}

void loop() {
  // Ação do semáforo: Verde aceso por 6 segundos
  digitalWrite(ledVerde, HIGH);  // Liga o LED verde
  delay(6000);                   // Espera 6 segundos
  digitalWrite(ledVerde, LOW);   // Desliga o LED verde

  // Ação do semáforo: Amarelo aceso por 2 segundos
  digitalWrite(ledAmarelo, HIGH); // Liga o LED amarelo
  delay(2000);                   // Espera 2 segundos
  digitalWrite(ledAmarelo, LOW);  // Desliga o LED amarelo

  // Ação do semáforo: Vermelho aceso por 6 segundos
  digitalWrite(ledVermelho, HIGH); // Liga o LED vermelho
  delay(6000);                    // Espera 6 segundos
  digitalWrite(ledVermelho, LOW);  // Desliga o LED vermelho
}
🔀 Como o programa pensa
flowchart TD A(["Início"]) --> B["Acender LED verde"] B --> C["Esperar 6 segundos"] C --> D["Apagar LED verde"] D --> E["Acender LED amarelo"] E --> F["Esperar 2 segundos"] F --> G["Apagar LED amarelo"] G --> H["Acender LED vermelho"] H --> I["Esperar 6 segundos"] I --> J["Apagar LED vermelho"] J --> B
🧱 Em blocos
quando @greenFlag for clicado
sempre
  ligar LED verde
  esperar 6 seg
  desligar LED verde
  ligar LED amarelo
  esperar 2 seg
  desligar LED amarelo
  ligar LED vermelho
  esperar 6 seg
  desligar LED vermelho
end
Pra fechar

Você chegou ao fim! 🎉

O que foi mais difícil? O que você faria diferente? Conte pra turma!

✓ Sair