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

 
1. Introdução

No tutorial “Luzes Ambulância”, aprendemos a criar o efeito de “luzes” de ambulância, usando dois LEDs piscando em sincronia. Agora, iremos acrescentar um botão para acionar/ativar a “ambulância”.

 
2. Botão

Primeiro, deve-se entender que, o programa seguirá o seguinte princípio: “os LEDs somente acenderão SE o botão for pressionado”.

Baseado no programa “Luzes Ambulância” com #define, iremos acrescentar o botão, nomeá-lo como BOT1 e associá-lo ao pino 2 do Arduino. Dessa forma, o pino 2 funcionará como ENTRADA (INPUT_PULLUP), ou seja, ele irá RECEBER o sinal quando o botão for pressionado.

Ao usarmos a função digitalRead(), é possível “ler o estado do pino”, isso quer dizer que ela faz uma “leitura” do sinal recebido pelo pino 2. Assim, conforme a lógica digital, só há dois estados de leitura possíveis: BAIXO (LOW) e o ALTO (HIGH). Dessa forma, considera-se o estado LOW a ser lido quando o botão é pressionado.

 
3. if == else

if (se)
== (exatamente igual)
else (senão)

Os comandos if e else têm o objetivo de estabelecer uma condição entre as duas sentenças: SE uma for verdadeira (botão pressionado, LOW), iremos executar uma determinada ação (acender/apagar um dos LEDs); SENÃO (botão não pressionado, HIGH), outra ação será executada (os dois LEDs continuam apagados).

 
4. Estrutura do programa

Aqui, temos o programa completo, mas calma! Ele será explicado logo mais.

Na linha 5, introduzimos a função setup() que conterá as definições das constantes, responsáveis por armazenar o valor a ser emitido/lido pelos pinos. Como dito anteriormente, o pino 2 será uma ENTRADA. Já os pinos 6 e 7 serão configurados como SAÍDA (OUTPUT), ou seja, eles irão EMITIR os sinais responsáveis por acender os LEDs (LED1, LED2).

Por último, na linha 11, temos a função loop() para executar e repetir as instruções (fica em loop), ou seja, é nela que inserimos o “princípio” citado no tópico 2, ou seja, a “lógica”.

Na linha 13, a função digitalWrite() serve para “escrever” uma informação no pino, portanto ela é a responsável por emitir os sinais no pino 6 e 7. Para acendermos os LEDs, usa-se o estado HIGH; para que eles apaguem, usa-se o estado LOW. Assim, é possível criar uma alternância entre eles: ao pressionar o BOT1 (LOW), o LED1 permanecerá apagado (LOW), enquanto o LED2 acenderá (HIGH) durante o tempo de 200ms (200 milésimos de segundo). Após esse tempo e considerando o botão ainda pressionado (LOW), o processo será invertido, dessa forma, o LED1 acende (HIGH) e o LED2 apaga (LOW). Esse tempo é chamado de delay (linha 15).

 
5. Componentes e materiais

  • Cinco cabos jumper macho-macho.
  • Dois LEDs.
  • Um botão (push button).
  • Uma protoboard.
  • Dois resistores de 220 Ohm;
  • Um Arduino UNO;
  • Um cabo USB.

 

cabo-jumper

Cabos jumper

 

led

LEDs

 

botao acionamento

Botão

 

protoboard

Protoboard

 

resistor

Resistor

 

placa arduino uno

Arduino UNO

 

cabo usb

Cabo USB

 

6. Montagem

Em “Luzes Ambulância”, estruturamos a placa de uma forma, confira aqui. Entretanto, neste tutorial, iremos fazer de outra forma para exemplificar como a ordem de alguns elementos na placa não interferem no circuito.

Vamos conectar a parte negativa da protoboard (linha azul da placa) com o terra (GND) do Arduino através de um jumper preto. Dois cabos vermelhos ligam o polo positivo de cada LED com seu respectivo pino na placa de Arduino (pinos 6 e 7). As partes negativas do LED e da protoboard serão conectadas pelos dois resistores, ao invés de um cabo jumper.

O botão deverá ter a mesma estrutura, mas existe um sentido correto do botão quando encaixado na placa. Temos quatro lados do botão, porém eles trabalham em pares, como se fossem fios contínuos escondindos.

 

sentido botao

Sentido corrente do botão

 

O botão deverá ser encaixado no sentido que a energia corre na parte onde colocamos os LEDs e resistores (vertical).

Em seguida, devemos conectar uma das partes do botão com a parte negativa da protoboard (cabo verde) e a outra com o pino do Arduino (cabo vermelho).

 

fritizing-botao-acionamento-protoboard-paint

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. Desafios

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 utilizar um botão para ativar o efeito “luzes” de ambulância e outro para desativar.

Produtos
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.

sensor-ultrassonico-distancia

Sensor ultrassônico HC-SR04

R$17,90

Mensure distâncias com este ótimo sensor ultrassônico. Faça uma régua eletrônica, um theremin digital, ou até mesmo seus robôs evitarem obstáculos no meio do caminho com este simples e excelente sensor de distância!

 

display-lcd

Display LCD 16X2 caracteres com I2C

R$24,90

Nosso display 16×2 vem equipado com uma placa I2C. Isto significa que com apenas duas conexões para alimentação e mais duas para comunicação pode-se fazer o display funcionar!

Muito mais simples que as conexões paralelas dos outros displays.

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.

1 Comentário

Deixe uma resposta

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

limpar formulárioPostar Comentário