PauloRB.dev

Desenvolvedor de Software

Controlando um Semáforo e Servo Motor com Arduino: Um Projeto Prático para Iniciantes | PauloRB.dev Controlando um Semáforo e Servo Motor com Arduino: Um Projeto Prático para Iniciantes – PauloRB.dev
Controlando um Semáforo e Servo Motor com Arduino: Um Projeto Prático para Iniciantes

Controlando um Semáforo e Servo Motor com Arduino: Um Projeto Prático para Iniciantes

A robótica e a eletrônica são áreas fascinantes que combinam criatividade e lógica para construir soluções incríveis. Hoje, vamos explorar um projeto simples e educativo com Arduino, que é perfeito para ensinar adolescentes sobre conceitos básicos de programação, automação e controle.

Neste projeto, vamos simular um sistema de semáforo com três LEDs (vermelho, amarelo e verde) e um servo motor que controlará uma cancela, abrindo-a apenas quando o LED verde estiver aceso. Este é um ótimo exercício para quem está começando a explorar o mundo da programação e eletrônica.

Materiais Necessários

Para construir este projeto, você precisará de:

  • 1 Arduino Uno ou similar;
  • 3 LEDs (vermelho, amarelo e verde);
  • 3 resistores de 220 ohms;
  • 1 Servo motor (modelo SG90 ou similar);
  • Jumpers para conexão;
  • Protoboard.

Montagem do Circuito

  1. Conexão dos LEDs:
    • Conecte os LEDs aos pinos digitais 2, 3 e 4 do Arduino.
    • Use resistores de 220 ohms em série com cada LED para limitar a corrente.
  2. Conexão do Servo Motor:
    • Conecte o fio de sinal do servo motor ao pino digital 6.
    • O fio de alimentação (vermelho) vai ao 5V, e o fio de terra (preto) ao GND do Arduino.
  3. Protoboard:
    • Monte tudo na protoboard para facilitar as conexões e organizar os componentes.

Diagrama esquemático:

Código para o Arduino

Aqui está o código que você pode carregar no Arduino para controlar o sistema:

#include <Servo.h> // Inclui a biblioteca Servo para controlar o servo motor

// Declaração do servo motor
Servo cancela;

// Pinos para os LEDs
const int ledVerde = 2;
const int ledAmarelo = 3;
const int ledVermelho = 4;

// Variáveis para o estado da cancela
const int posAberta = 90; // Posição da cancela aberta
const int posFechada = 0; // Posição da cancela fechada

void setup() {
    // Configuração dos pinos dos LEDs como saída
    pinMode(ledVerde, OUTPUT);
    pinMode(ledAmarelo, OUTPUT);
    pinMode(ledVermelho, OUTPUT);

    // Configuração do servo motor
    cancela.attach(6); // Associa o servo motor ao pino digital 6
    cancela.write(posFechada); // Define a posição inicial da cancela como fechada
}

void loop() {
    // Simulação de sequência de semáforo
    digitalWrite(ledVermelho, HIGH); // Acende o LED vermelho
    digitalWrite(ledAmarelo, LOW);
    digitalWrite(ledVerde, LOW);
    cancela.write(posFechada); // Mantém a cancela fechada
    delay(3000); // Aguarda 3 segundos

    digitalWrite(ledAmarelo, HIGH); // Acende o LED amarelo
    digitalWrite(ledVermelho, LOW);
    digitalWrite(ledVerde, LOW);
    delay(1000); // Aguarda 1 segundo

    digitalWrite(ledVerde, HIGH); // Acende o LED verde
    digitalWrite(ledAmarelo, LOW);
    digitalWrite(ledVermelho, LOW);
    cancela.write(posAberta); // Abre a cancela
    delay(3000); // Aguarda 3 segundos

    // Volta para a posição inicial (vermelho)
    digitalWrite(ledVermelho, HIGH); // Acende o LED vermelho
    digitalWrite(ledAmarelo, LOW);
    digitalWrite(ledVerde, LOW);
    cancela.write(posFechada); // Fecha a cancela
    delay(3000); // Aguarda 3 segundos
}

Como Funciona

  1. LEDs e Semáforo:
    • O código simula o funcionamento de um semáforo: vermelho -> amarelo -> verde.
    • Quando o LED verde está aceso, ele indica que a passagem está liberada.
  2. Servo Motor e Cancela:
    • O servo motor simula a cancela, movendo-a para abrir ou fechar conforme a luz verde ou vermelha do semáforo.
  3. Sequência:
    • Vermelho: Cancela fechada.
    • Amarelo: Indicação de atenção.
    • Verde: Cancela aberta.

Dicas para a Aula de Robótica

  • Explique os conceitos: Antes de montar o projeto, explique como os LEDs, resistores e servo motor funcionam.
  • Incentive a experimentação: Peça aos alunos para modificar o código, como alterar os tempos de espera ou adicionar um buzzer para sinalização sonora.
  • Divida em equipes: Incentive o trabalho em grupo para montagem e programação.

Este projeto simples é uma ótima introdução ao mundo da robótica e da programação com Arduino. Ele ensina conceitos básicos de controle de hardware e lógica de programação, além de ser divertido e envolvente. Com um pouco de prática, os alunos poderão expandir o sistema para incluir novos recursos, como sensores ou controle remoto.

Mais Posts

Como Instalar e Usar o MailHog com Laravel para Testes de Email

Como Instalar e Usar o MailHog com Laravel para Testes de Email

No desenvolvimento de aplicações web, especialmente no Laravel, enviar emails é uma tarefa comum. Porém, testar o envio de emails... Leia mais

Recursão com a Torre de Hanoi em PHP

Recursão com a Torre de Hanoi em PHP

Recursão é um conceito essencial em programação que se refere a uma função que se chama a si mesma dentro... Leia mais

Tutorial de Desenvolvimento: Criando um Jogo de Tetris

Tutorial de Desenvolvimento: Criando um Jogo de Tetris

E vamos a mais um tutorial de outro joguinho clássico só que dessa vez vamos recriar o Tetris. Link do... Leia mais

Como iniciar, parar e reiniciar o Apache Web Server no Linux

Como iniciar, parar e reiniciar o Apache Web Server no Linux

Comandos  para controlar o funcionamento do apache em ambientes de desenvolvimento locais: Estes Comandos Servem para ambientes Ubuntu/Debian: Leia mais