
Entendendo as Diferenças Entre Programação Orientada a Objetos e Funcional: Java vs. Elixir
A escolha entre programação orientada a objetos (OOP) e programação funcional (FP) é mais do que uma preferência de estilo;... Leia mais
Desenvolvedor de Software
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.
Para construir este projeto, você precisará de:
Diagrama esquemático:
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
}
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.
A escolha entre programação orientada a objetos (OOP) e programação funcional (FP) é mais do que uma preferência de estilo;... Leia mais
Segue uma lista das extensões que mais utilizo em meu dia a dia como desenvolvedor quando uso o editor VisualStudio... Leia mais
No dia a dia, muitas vezes nos deparamos com a necessidade de unir vários arquivos PDF em um único documento.... Leia mais
Para rodar uma migration específica no Laravel, você pode usar o comando migrate com a opção --path. Siga os passos... Leia mais