Tutorial Arduino Mega 2560 - Piscando um LED

No post anterior você aprendeu a instalar o Ambiente de Desenvolvimento do Arduino Mega e Configurar a Porta e Placa, caso ainda não saiba fazer isso clique aqui: Tutorial para Iniciantes - Arduino Mega Primeiros Passos.

Piscar um LED é mais que Piscar um LED

Agora você poderá fazer sua primeiro implementação. Piscar um LED pode parecer bem pouco, porém isso poder ser pensado como um passo para um grande e complexo programa. Nesse caso piscar um LED pode significar:
  • Um forma de interagir com o usuário e notifica-lo sobre algum evento que está ocorrente;
    • Tudo está bem, 
    • Atenção;
    • Vai explodir....
  • Também, vc pode imaginar que um determinado dispositivo está sendo acionado, um motor, uma solenoide, uma atuador....
  • Ou poderá usar o LED para notificar que determinada trecho de código foi executado;
    • Um piscada erro um, duas, erro dois, ocorreu uma determinada interrupção, ai vai....
Um vez conheci um engenheiro de manutenção que sabia onde estava o problema da planta tomando com base a velocidade com que a luz de alerta piscava. Nesse caso, algum desenvolvedor deve ter gasto algumas horas relacionado a localização dos defeitos com a frequência de acionamento da sinalização.

Conhecendo o Hardware Necessário

Conforme as atividades vão sendo realizada o hardware necessário será apresentado, porém se você quer conhecer mais sobre o hardware do Mega 2560 visite esse post: Arduino Mega 2560.

Todo os componentes necessário ao experimento estão na placa do Arduino, então conecte o seu Arduino ao PC e vamos lá!

Na Figura 1 está representado o esquema do hardware da placa utilizado para piscar o led. No conector 10x1F-H8.5 tem um pino denominado de 13, esse será o pino utilizado. No microcontrolador do Mega ele recebe a denominação PB7, como pode ser visto na Figura 1. O IC7A é um buffer que fornece a corrente ao LED amarelo. O resistor RN3B é utilizado para limitar a corrente no LED.


Figura 1 - Esquema do hardware utilizado.


Código para Piscar o Led

Neste primeiro exercício não será necessário digitar um código, pois vamos utilizar um código pronto. Para acessar o código clique em Arquivo, Exemplos, 01. Basics e Blink, veja a Figura 2.

Figura 2 - Abrindo o código exemplo (Blink).

O código que deve abrir é esse abaixo (na cor azul), caso queria, pode copia-lo diretamente daqui. 
/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the Uno and
  Leonardo, it is attached to digital pin 13. If you're unsure what
  pin the on-board LED is connected to on your Arduino model, check
  the documentation at http://arduino.cc

  This example code is in the public domain.

  modified 8 May 2014
  by Scott Fitzgerald
 */


// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}

Vamos compreender o que significa cada trecho de código:
  • Comentários, o texto entre /* texto */  é desconsiderado pelo compilador, ou seja é apenas um comentário do programado para tornar o programa mais legível. Logo todo o trecho abaixo é um comentário de varias linhas
/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the Uno and
  Leonardo, it is attached to digital pin 13. If you're unsure what
  pin the on-board LED is connected to on your Arduino model, check
  the documentation at http://arduino.cc

  This example code is in the public domain.

  modified 8 May 2014
  by Scott Fitzgerald
 */

  • O trecho após "//" também é um cometário, porém de um unica linha:
// the setup function runs once when you press reset or power the board

  • Tudo que estiver entre as chaves, {}, depois de void setup(), faz referência a configuração ou é cometário:
void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}
  • Logo, "pinMode(13, OUTPUT);" significa que estamos configurado o pino 13 como saída;
  • Por sua vez, tudo que for escrito entre as chaves de "void loop()" será executado indefinidade, ou seja quando você ligar o Arduino esse código será executado até que ele seja desenergizado. Dessa forma, "digitalWrite(13, HIGH);" coloca o pino 13 em nível alto (5V, nesse caso), ou seja, liga o LED. Depois disso, aguarda 1000ms, "delay(1000);" matem o LED ligado. Após esse tempo "digitalWrite(13, LOW);", coloca o pino em nível baixo, desligando o LED, aguarda novamente 1000ms ("delay(1000)"), e começa o loop novamente.

Verificando, compilando e carregando o programa no Arduino

Nas Figuras 3 e 4 são mostrados as duas maneiras para verificar e compilar o programa. A primeira utiliza a a barra de ferramentas, na seguinte ordem: Clicar em Sketch, Verifica / Compilar. Na seguindo utiliza o ícone em destaque na Figura 4.

Figura 3 -  Verificando e compilando o código.

Figura 4 - Verificando e compilando o código.

Para carregar o programa na placa basta clicar no ícone seta a direta, Figura 5. Para isso o Arduino deve estar conectado a porta USB. 

Figura 5 - Carregando o programa no Arduino.

Verifique se o LED amarelo está piscando. Caso esteja parabéns, se não, procure identificar qual dos passo não foi implementado de forma correta.

No próximo post vamos, mudar o tempo com que o LED pisca e incrementar um pouco o programa.

Ver0 LM 1

Comentários

Postagens mais visitadas deste blog

Pinagem USB

Símbolos Elétricos

Tabela de Equivalência de Lâmpadas LED