Bóson Treinamentos em Ciência e Tecnologia

Arduino – Piscando LEDs em sequência – Sketch 01

Arduino - Piscando LEDs em sequencia

Arduino – Piscando LEDs em sequência

Neste artigo vamos continuar a explorar o Arduino criando um novo projeto e utilizando componentes eletrônicos que não usamos ainda.

Nosso sketch de hoje é um projeto bem simples, no qual teremos quatro LEDs que acenderão e apagarão de forma sequencial. Neste projeto vamos precisar de alguns componentes eletrônicos, conforme mostra a listagem a seguir:

O diagrama do circuito que iremos montar pode ser visto na figura a seguir, criada com o software livre Fritzing:

Esquema de ligação dos componentes

 

Você pode ver pelo diagrama que cada LED é conectado a um dos pinos digitais do Arduino, os quais serão configurados como saída via código, e há um resistor limitador de corrente conectado entre cada LED e seu respectivo pino. Esse resistor visa a proteger os LEDs contra excesso de corrente que pode danificá-los (e eventualmente ao Arduíno também). Veja no quadro abaixo como calcular o valor da resistência para esses resistores:

Vamos calcular os valores dos resistores com a fórmula: R = (Vop – Vled) / I Onde Vop é a tensão de operação do circuito, que no caso é de 5V; Vled é a tensão direta no LED, a qual pode variar dependendo da cor; usaremos o valor de 2,0 V, que é a tensão para LEDs verdes geralmente (outras cores possuem tensões menores, à exceção dos LEDs azuis); e I é a corrente máxima que um LED suporta, em Ampères. No caso, é de 20 mA, que equivale a 0,02A.R é o valor da resistência a calcular.Então, temos o seguinte cálculo:R = (5 – 2) / 0,02R = 150 Ω

 

IMPORTANTE: AO CONECTAR OS COMPONENTES ELETRÔNICOS, CERTIFIQUE-SE DE QUE O ARDUINO NÃO ESTEJA ENERGIZADO PARA EVITAR QUE A PLACA SEJA DANIFICADA ACIDENTALMENTE.

Veja uma ilustração de nosso circuito montado na breadboard:


Após montado na matriz de contatos, ele ficará conforme mostra a foto abaixo:

Detalhe da mini breadboard com os quatro LEDs:

Vamos ao código-fonte do programa usado para fazer os LEDs piscarem em sequência. Digite-o no Arduino IDE:

int leds[] = {8, 9, 10, 11};
int contador = 0;
int timer = 150;
void setup() {
 for (contador = 0; contador < 4; contador++) {
   pinMode(leds[contador], OUTPUT);
 }
}
void loop() {
 for (contador = 0; contador < 4; contador++) {
   digitalWrite(leds[contador], HIGH);
   delay(timer);
   digitalWrite(leds[contador], LOW);
   delay(timer);
 }
}

No código apresentado começamos por declarar um array de LEDs. Poderíamos ter declarado uma variável para cada LED, mas é mais fácil criar um array, onde cada posição irá representar um dos pinos no qual cada LED será conectado. Ao criarmos o array já atribuímos um conjunto de dados com os números dos pinos digitais que serão usados. O array terá quatro posições (para 4 LEDs), numeradas de 0 a 3.

Criamos também uma variável contadora chamada contador que será usada na estrutura de controle que define qual LED acenderá ou apagará em sequência.

Usamos também uma variável chamada timer, a qual define o tempo de intervalo no qual cada LED acenderá e apagará, em milissegundos. A função delay(timer) realiza essa tarefa. Para que um LED acenda usaremos a função digitalWrite(), sendo chamada na forma digitalWrite(leds[contador], HIGH) para que o LED acenda, e para que o LED apague, a função executada será digitalWrite(leds[contador], LOW).

O laço for utilizado faz a contagem entre 0 e 3 com o uso da variável contador, para determinar qual LED será ativado e desativado. A posição 0 equivale ao primeiro valor armazenado no array (pino 8), a posição 1 equivale ao pino 9, e assim por diante.

Após digitar o código no IDE, carregue-o no Arduino, aguarde alguns segundos e verifique se os LEDs piscam sequencialmente. Se piscarem, o trabalho estará concluído. Caso contrário, verifique as conexões na breadboard e também o código utilizado.

É isso aí, no próximo artigo iremos construir mais um projeto bem interessante!

 

Sair da versão mobile