Neste tutorial, iremos aprender a fazer as “luzes” de uma ambulância usando o Arduino e modificar o programa de exemplo para acrescentar mais LEDs.

 
1. Introdução

No tutorial “Arduino – primeiros passos”, preparamos o ambiente de programação e aprendemos a carregar um programa de exemplo.

Agora, vamos novamente abrir a IDE do Arduino e carregar o programa de exemplo “Blink”:

 

Abrindo o exemplo Blink

Abrindo o exemplo Blink

 
2. O que é #define

#define é uma constante utilizada para substituir algum elemento (no nosso caso, os pinos). Essa substituição evita alguns contratempos como, por exemplo, reescrever pino por pino em cada linha, esquecer de trocar os pinos e etc.

 
3. Estrutura do programa

Baseado no Blink, vamos modificar alguns elementos para simular as “luzes” da ambulância. Temos duas maneiras de estruturar nosso programa (é válido tanto para o shield quanto para a protoboard):

  • Escrever em cada linha quais pinos utilizaremos (um a um)
  • Assim como no Blink, na primeira parte do programa (void setup), determinamos os pinos e a função que cada um exercerá. Utilizaremos os pinos 6 e 7 como saída (OUTPUT), ou seja, eles receberão um comando para acender ou apagar.

    Na segunda parte (void loop), descrevemos o passo-a-passo de como executaremos o programa, ou seja, as instruções. Digitando o comando digitalWrite definiremos entre os parênteses qual o pino e a ação que ele executará. No nosso exemplo, intercalaremos as ações, ou seja, enquanto um LED acender, o outro irá apagar. Para isso, vamos definir LOW para apagar e HIGH para acender.

    No entanto, isso não é o suficiente para completar o efeito da luz da ambulância que desejamos, é preciso inverter esse movimento e criar um tempo para alternar. Denominaremos esse tempo como delay e ele deverá constar no final de cada bloco de comando. Isso é necessário porque o programa executa em loop, ou seja, ele executa todas as linhas do programa infinitamente, a não ser que desconectemos a placa. Dessa forma, caso não coloquemos o delay no final do programa, os LEDs permanecerão acesos ou apagados “para sempre”. No nosso projeto, utilizaremos um delay de 200, ou seja, 200ms (200 milésimos de segundos).

    Estrutura do programa “Luzes Ambulância” com a definição dos pinos:

     

  • Definir uma constante #define com a respectiva saída na placa
  • Por esse método, teremos como diferença a definição de uma constante para cada pino utilizado, em outras palavras, vamos determinar um nome para cada pino, LED1 para o pino 6 e LED2 para o pino 7.

    Estrutura do programa “Luzes Ambulância” com #define:

 
4. Componentes e materiais

  • Três cabos jumper macho-macho.
  • Dois LEDs.
  • Uma Protoboard.
  • Dois resistores de 220 Ohm.
  • Um Arduino UNO.
  • Um cabo USB.

 

Cabos jumper

 

LEDs

 

Protoboard

 

Resistor

 

Arduino UNO

 

Cabo USB

 

5. Circuito

Todo circuito elétrico precisa de alguns elementos para funcionar: ser um circuito fechado, ter uma fonte de energia, algo que conduza essa energia e algum elemento que utilize-a. No nosso caso, temos o Arduino como fonte de energia, os cabos jumper como condutores e o LED e módulo de LED como elementos que utilizam a energia.

Em um circuito simples, quer dizer, sem o Arduino, precisaríamos apenas conectar um LED em uma bateria ou pilha (lado negativo e positivo), por meio de fios condutores, como no desenho abaixo:

 

Circuito simples

 

Isso é o que precisa acontecer no nosso sistema, a diferença é que adicionaremos a protoboard e os resistores.

 
6. Montagem

Como vimos no “Tutorial 0: Protoboard”, temos duas partes importantes na protoboard: o polo negativo (linha azul) e positivo (linha vermelha), assim como na bateria. Podemos conectar um cabo jumper (cabo preto) na parte negativa do Arduino (GND) e dois cabos (cabos verdes) que ligam os LEDs (números 1 na figura) com a polaridade negativa da protoboard, ou ainda conectar os cabos jumper de cada LED diretamente com o GND do Arduino. Os cabos em vermelho representam a polaridade positiva conectados com a placa Arduino.

Não basta colocar os elementos de qualquer forma, pois existem caminhos certos para o trajeto da energia: nos polos negativo (linha azul da protoboard) e positivo (linha vermelha da protoboard) temos os sentidos direito ou esquerdo, ou seja, a energia percorre horizontalmente; já na parte onde colocamos os LEDs (números 1 na figura) e resistores (números 2 na figura), temos os sentidos para cima ou para baixo, ou seja, o caminho a ser seguido é o vertical. Isso é importante para posicionar de forma correta nossos elementos.

Ok, mas e os resistores (números 2 na figura)? Os LEDs (números 1 na figura) suportam determinada carga de energia; caso a fonte seja maior do que sua capacidade, eles queimam. O papel dos resistores é criar uma resistência na energia que passa, para que os LEDs (números 1 na figura) não queimem. Aqui não importa a posição dos resistores, pois estamos falando de um circuito fechado, ou seja, a energia sempre volta, logo, ela sempre passa pelo resistor independente da sua posição.

Os LEDs (números 1 na figura) têm lados com polaridades específicas (lado negativo e positivo). Na nossa imagem, o lado positivo do LED é a “perninha” com dobra, mas existem outras variações (às vezes, uma das pernas é maior do que a outra, etc).

Segue uma imagem para simular o projeto “Luzes Ambulância”:

 

Projeto na protoboard

 

7. Upload

Lembre-se de conectar o Arduino à entrada USB do seu computador. Verifique se a placa e portas estão já estão configuradas na IDE. Em caso de dúvida, clique aqui e reveja como fazer.

Para efetuar o Upload, clique na seta indicada em vermelho.

 

upload

Upload do programa

 

8. Desafio

Agora que você já entendeu como funciona o programa, tente fazer algumas modificações como:

  • Altere o tempo do delay para mais ou menos.
  • Modifique a configuração do digitalWrite em cada circuito (coloque LOW e LOW, HIGH e HIGH) para que as luzes acendam ao mesmo tempo.

 
9. Dicas

  • Caso a placa não responda, desligue-a e reconecte-a ou/e mude a porta (entrada USB) e reconfigure.
  • Caso o programa apresente algum erro, verifique linha por linha (ponto e vírgula, erros de escrita, número de porta, letras em maiúsculo e minúsculo fazem diferença).

No próximo tutorial, iremos aprender a criar o efeito “luzes” de uma ambulância ao pressionar um botão.

Produtos
protoboard-830-2Out Of Stock

Protoboard transparente 830 pontos

R$24,90

Protoboard transparente com 830 pontos para prototipagem é ideal para trabalhos elétricos e eletrônicos com Arduino e microcontroladores em geral. É fácil tem muito espaço para conectar leds, cabos, resistores entre outros.

Os pólos negativos e positivos estão bem identificados para facilitar seu trabalho com vários componentes.

Promoção!
Arduino UnoArduino Uno

Uno SMD – Arduino compatível

R$59,90 R$54,90

Ideal para iniciantes, o Uno é um Arduino compatível bem capaz, barato e com diversos shields e sensores compatíveis disponíveis. Se você está começando a aprender sobre microcontroladores e Arduinos, esta é a placa perfeita! Ela é a nossa placa principal nos nossos tutoriais de Arduino.

Deixe uma resposta

Seu endereço de e-mail não será publicado. Campos obrigatórios estão marcados *

limpar formulárioPostar Comentário