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 o DBEAVEr via PPA no Ubuntu Linux e derivados.

Como instalar o DBEAVEr via PPA no Ubuntu Linux e derivados.

Vamos a mais um post HOW TO…. Abra o Terminal: Você pode fazer isso procurando por “Terminal” no menu de... Leia mais

Entendendo o Service Container no Laravel

Entendendo o Service Container no Laravel

Quando você trabalha com Laravel, uma das ferramentas mais poderosas sob o capô é o Service Container. Mas o que... Leia mais

Entendendo o Conceito de Estado no React

Entendendo o Conceito de Estado no React

Em React, o estado refere-se a uma estrutura de dados que determina o comportamento do componente e como ele será... Leia mais

Converter campos de um banco de dados do tipo json para array com laravel

Converter campos de um banco de dados do tipo json para array com laravel

Hoje boa parte dos banco de dados relacionais podem armazenar campos com valores no formato JSON o que garante maior... Leia mais