Projetos com LEDS e Arduino: Ideias para quem está começando
Está começando a explorar o mundo do Arduino e não sabe por onde começar? Os projetos com LEDs são um excelente ponto de partida! Simples, acessíveis e muito visuais, eles ajudam a entender os primeiros conceitos da eletrônica e da programação de forma prática.
Neste tutorial, selecionamos cinco projetos clássicos para quem está começando. Com poucos componentes e explicações diretas, cada exemplo foi pensado para ensinar um conceito importante, do controle básico de um pino digital até o uso de lógica condicional e variação de brilho com PWM.
Prepare os materiais e vamos a prática!
MATERIAIS NECESSÁRIOS
1 x Placa Uno SMD R3 + Cabo – Compatível com Arduino;
1 x Kit com LEDs Coloridos difuso 5mm;
1 x Kit com 20 Resistor 220 Ohms.
Dica! Para quem está começando e quer praticidade, o Kit Iniciante em Robótica com Tutorial para Arduino é uma excelente opção. Ele já vem com os componentes essenciais, além de uma apostila digital com 20 projetos explicados passo a passo, incluindo o jogo da memória. Com esse kit, dá para montar todos os projetos deste tutorial e ainda explorar muitos outros, sem complicações.
PROJETO 1: PISCA LED
O projeto Pisca LED (também conhecido como Blink) é o clássico “olá, mundo” do Arduino. Com ele, é possível aprender como controlar a saída digital de um pino, acendendo e apagando um LED em intervalos definidos.
Esquemático de ligação
Código
/*
---- PROJETO BLINK ----
=================================================
== BLOG DA ROBOTICA - www.blogdarobotica.com ==
=================================================
Autor: Carol Correia Viana
E-mail: [email protected]
Facebook: facebook.com/blogdarobotica
Instagram:@blogdarobotica
YouTube: youtube.com/user/blogdarobotica
=================================================
== CASA DA ROBOTICA - www.casadarobotica.com ==
=================================================
Facebook: facebook.com/casadaroboticaoficial
Instagram:@casadarobotica
=================================================
*/
int ledPin = 9;//Atribui o valor 9 a variável inteira ledPin, que irá representar o pino digital 9
void setup() {
pinMode(ledPin, OUTPUT);//Define ledPin (pino 9) como saída
}
void loop() {
digitalWrite(ledPin, HIGH);//Coloca ledPin em nível alto (5V)
delay(1000);//Espera 1000 milissegundos (1 segundo)
digitalWrite(ledPin, LOW);//Coloca ledPin em nível baixo (0V)
delay(1000);//Espera 1000 milissegundos (1 segundo)
}
PROJETO 2: SEMÁFORO SIMPLES
O projeto simula o funcionamento de um semáforo utilizando três LEDs (vermelho, amarelo e verde). Ele é ideal para praticar a programação de múltiplos pinos e aprender a controlar a ordem e o tempo de acionamento dos LEDs, simulando uma situação do cotidiano.
Esquemático de ligação
Código
/*
---- PROJETO SEMÁFORO SIMPLES ----
=================================================
== BLOG DA ROBOTICA - www.blogdarobotica.com ==
=================================================
Autor: Carol Correia Viana
E-mail: [email protected]
Facebook: facebook.com/blogdarobotica
Instagram:@blogdarobotica
YouTube: youtube.com/user/blogdarobotica
=================================================
== CASA DA ROBOTICA - www.casadarobotica.com ==
=================================================
Facebook: facebook.com/casadaroboticaoficial
Instagram:@casadarobotica
=================================================
*/
//Declarar as variáveis
int vermelho = 13;
int amarelo = 12;
int verde = 11;
void setup() { //Configurações iniciais do programa
pinMode(vermelho, OUTPUT); //Defino o pino como entrada
pinMode(amarelo, OUTPUT); //Defino o pino como entrada
pinMode(verde, OUTPUT); //Defino o pino como entrada
}
void loop() {
digitalWrite(verde, HIGH); //Liga o LED verde
delay (5000); //Aguarda 5 segundos
digitalWrite(verde, LOW); //Desliga o LED verde
digitalWrite(amarelo, HIGH); //Liga o LED amarelo
delay(2500); //Aguarda 2,5 segundos
digitalWrite(amarelo, LOW); //Desliga o LED amarelo
digitalWrite(vermelho, HIGH); //Liga o LED vermelho
delay (5000); //Aguarda 5 segundos
digitalWrite(vermelho, LOW);//Desliga o LED verde
}
PROJETO 3: SINALIZADOR DE CÓDIGO MORSE
O sinalizador de código Morse é um projeto que transforma o LED em um meio de comunicação. Por meio de piscadas rápidas e lentas, o Arduino envia mensagens codificadas, simulando o sistema Morse usado em radiocomunicações.
Ao programar o sinalizador, é possível aprender sobre estrutura de repetições e decisões condicionais.
Esquemático de ligação
Código
/*
---- SINALIZADOR DE CÓDIGO MORSE ----
=================================================
== BLOG DA ROBOTICA - www.blogdarobotica.com ==
=================================================
Autor: Carol Correia Viana
E-mail: [email protected]
Facebook: facebook.com/blogdarobotica
Instagram:@blogdarobotica
YouTube: youtube.com/user/blogdarobotica
=================================================
== CASA DA ROBOTICA - www.casadarobotica.com ==
=================================================
Facebook: facebook.com/casadaroboticaoficial
Instagram:@casadarobotica
=================================================
*/
int LED = 11; //Atribui o pino 11 à variável LED
void setup() {
pinMode(LED, OUTPUT); //Define LED como saída
}
void loop() {
// Letra S (•••) - Três pontos curtos
for (int i = 0; i < 3; i++) { //Estrutura de repetição que fará o LED piscar 3x
digitalWrite(LED, HIGH); //Liga o LED
delay(200); //Mantém o LED ligado por 200ms
digitalWrite(LED, LOW); //Desliga o LED
delay(400);//Pausa entre as letras
}
// Letra O (–––) - Três traços longos
for (int i = 0; i < 3; i++) {
digitalWrite(LED, HIGH); //Liga o LED
delay(600); // Mantém o LEd ligado por 500ms
digitalWrite(LED, LOW); //Desliga o LED
delay(400); //Pausa entre as letras
}
// Letra S (•••) novamente - Três pontos curtos
for (int i = 0; i < 3; i++) {
digitalWrite(LED, HIGH); //Liga o LED
delay(200); //Mantém o LED ligado por 200ms
digitalWrite(LED, LOW); //Desliga o LED
delay(400); //Pausa entre as letras
}
delay(1000); // Pausa entre repetições
}
PROJETO 4: LEDS SEQUENCIAIS
O projeto de LEDs sequenciais é uma ótima forma de aprender como o Arduino pode controlar vários componentes ao mesmo tempo, acendendo cada LED em uma ordem definida. Essa lógica é usada em brinquedos, painéis luminosos e até em efeitos especiais.
Neste projeto, os LEDs acendem um por um, criando uma sequência que pode ser modificada com facilidade. É uma excelente atividade para treinar o uso de arrays e estruturas de repetição, essenciais na programação com Arduino.
Esquemático de ligação
Código
/*
---- PROJETO LEDS SEQUENCIAIS ----
=================================================
== BLOG DA ROBOTICA - www.blogdarobotica.com ==
=================================================
Autor: Carol Correia Viana
E-mail: [email protected]
Facebook: facebook.com/blogdarobotica
Instagram:@blogdarobotica
YouTube: youtube.com/user/blogdarobotica
=================================================
== CASA DA ROBOTICA - www.casadarobotica.com ==
=================================================
Facebook: facebook.com/casadaroboticaoficial
Instagram:@casadarobotica
=================================================
*/
//Cria um vetor chamado 'portas' contendo os números das portas digitais de 5 a 13
int portas[9] = {5, 6, 7, 8, 9, 10, 11, 12, 13};
void setup() {
Serial.begin(9600); // Inicializa a comunicação serial com velocidade de 9600 bps
for (int i = 0; i < 9; i++) { // Configura todas as portas do vetor como saída (OUTPUT)
pinMode(portas[i], OUTPUT);
}
}
void loop() {
for(int i=0; i<9; i++){ //Acende os LEDs conectados nas portas de 5 a 13, um por um, com intervalo de 100 ms
digitalWrite(portas[i], HIGH); // Liga a porta
delay(100); // Espera 100 milissegundos
}
for(int i=9; i>=0; i--){ // Apaga os LEDs na ordem inversa (de 13 a 5), um por um, com intervalo de 100 ms
digitalWrite(portas[i], LOW); // Desliga a porta
delay(100); // Espera 100 milissegundos
}
delay(1000); // Espera 1 segundo antes de reiniciar o ciclo
}
PROJETO 5: FADE LED – CONTROLE DA INTENSIDADE DO BRILHO DO LED
Neste projeto, o objetivo é fazer o LED acender e apagar suavemente, criando um efeito de transição de brilho. Esse comportamento é possível graças ao uso de um sinal PWM (Modulação por Largura de Pulso), recurso presente em algumas portas do Arduino.
Com essa prática, é possível aprender como controlar gradualmente a intensidade de um sinal elétrico enviado a um componente, no caso, um LED. Esse controle é feito por meio da função analogWrite(), que permite simular níveis variados de tensão entre 0 e 255, resultando em diferentes níveis de brilho percebido.
Esquemático de ligação
Código
/*
---- FADE LED PWM ---
=================================================
== BLOG DA ROBOTICA - www.blogdarobotica.com ==
=================================================
Autor: Carol Correia Viana
E-mail: [email protected]
Facebook: facebook.com/blogdarobotica
Instagram:@blogdarobotica
YouTube: youtube.com/user/blogdarobotica
=================================================
== CASA DA ROBOTICA - www.casadarobotica.com ==
=================================================
Facebook: facebook.com/casadaroboticaoficial
Instagram:@casadarobotica
=================================================
*/
int ledPin = 9;//Porta que o LED está conectado
int brilho = 0;//variável que armazenará o brilho do LED
int fade = 5;//Variável que determina quantos pontos o brilho deve aumentar ou diminuir
void setup()
{
pinMode(ledPin, OUTPUT);//Define ledPin como saída
}
void loop()
{
analogWrite(ledPin,brilho);//Envia um PWM proporcional ao valor do brilho para o LED ligado ao pino 9
brilho = brilho + fade;//Acrescenta 5 pontos no brilho a cada loop
//Inverte a direção do Fade caso ultrapasse os limites da escala do analogWrite()
if(brilho == 0 || brilho == 255){//Se brilho for igual a 0 ou brilho for igual a 255
fade = -fade;//Inverte a direção do Fade
}
delay (30);//Intervalo de 30 milissegundos
}
Continue explorando, testando e criando. A robótica e a eletrônica estão cheias de possibilidades, e esse é só o começo da jornada.
Se quiser compartilhar seus resultados ou tirar dúvidas, deixe um comentário no Blog da Robótica. Vamos adorar ver o que você construiu!
Bacharel em Engenharia Elétrica com ênfase em Eletrônica, mestra em Engenharia Industrial e especialista em Docência com ênfase em Educação Inclusiva. Atua no setor de Desenvolvimento de Produtos na Casa da Robótica. Editora chefe e articulista no Blog da Robótica. Fanática por livros, Star Wars e projetos Maker.
