PISCAR
Neste projeto trabalharemos o mais simples dos projetos de robótica: piscar um LED (Diodo Emissor de Luz). Essa prática, ainda que trivial, é de suma importân-cia para o processo de aprendizagem, pois ensinará como utilizar a IDE do Br.ino. Além disso, será explicado como controlar portas digitais, outro conceito vital para as próximas práticas. O projeto de piscar um LED tem um papel equivalente ao algoritmo “Olá, Mundo!”, do inglês “Hello world”, na programação embarcada1. O Arduino possui um LED que está conectado ao Pino 13, em sua placa. Os pi-nos são Entradas e Saídas eletrônicas do Arduino. Eles são controlados por meio de códigos e são fundamentais para qualquer projeto. Também conhecidos como portas, os pinos são as ferramentas utilizadas para entender o ambiente, por meio da entrada de sinais, ou para atuar sobre ele, por meio da saída de sinais.
Nesta atividade, o Pino 13 será ligado e desligado intermitentemente para que o LED da placa pisque em um intervalo de tempo definido. Em seguida, será co-nectado um LED externo ao Arduino, controlado por meio do mesmo algoritmo.
O Código
Siga as instruções a seguir para programar seu projeto:
1. Abra a IDE do Br.ino e digite o código a seguir: // Projeto 1 – Piscar Numero pinoLed = 13; Configuracao(){ Pino.definirModo(pinoLed, Saida); } Principal(){ Pino.ligar(pinoLed); esperar(2000); Pino.desligar(pinoLed); esperar(2000); }
2. Conecte seu Arduino ao computador.
3. Abra as ferramentas da IDE e selecione a porta e a placa que você está uti-lizando.
4. Clique em “Verificar e Carregar”.
1. A programação embarcada é a programação dedicada diretamente aos microcontrola-dores e microprocessamicrocontrola-dores para controle de seus atuamicrocontrola-dores, sensores e demais
periféri-OBS: se uma janela solicitando o nome do rascunho aparecer, insira “Piscar”, cli-que em “OK”.
5. Espere até o log da IDE (área embaixo do editor) mostrar que o rascunho foi compilado e carregado.
OBS: caso ocorra qualquer erro, verifique o seu código, a placa e a porta serial selecionadas.
Depois de carregado, observe o LED da sua placa acender por dois segundos e depois desligar também por dois segundos.
Analisando o código
A primeira linha do código é:
//Projeto 1 – Piscar
Essa linha é apenas um comentário com o nome do projeto. Ela será ignorada pelo compilador, mas é extremamente importante para a compreensão do códi-go por seres humanos.
A linha seguinte é:
Numero pinoLed = 13;
Essa linha cria uma variável do tipo Numero com o nome pinoLed para armaze-nar o número do pino em que o LED interno do Arduino está conectado. Logo depois, declaramos a função Configuracao:
Configuracao(){
Pino.definirModo(pinoLed, Saida); }
A função Configuracao() é um dos métodos obrigatórios a todo rascunho Br.ino e é responsável por preparar o necessário para a execução da função Principal. Neste caso, ela possui apenas uma instrução em seu bloco de código:
Pino.definirModo(pinoLed, Saida);
Essa linha define o modo do pino do LED(pinoLed), que possui o valor 13, como Saida, ou seja, o Arduino irá emitir, quando ordenado, um sinal elétrico de 0 ou 5 Volts através do pino previamente definido. O método definirModo() do con-junto Pino tem como argumentos o número do pino e o modo, que pode ser
En-trada ou, como neste caso, Saida. Depois de executar a configuração, o Arduino inicia o método Principal() que nesse rascunho é:
Principal(){ Pino.ligar(pinoLed); esperar(2000); Pino.desligar(pinoLed); esperar(2000); }
A função Principal() é o segundo método obrigatório a todo rascunho Br.ino e será repetido enquanto o Arduino estiver ligado. Sua primeira linha é:
Pino.ligar(pinoLed);
O método ligar do conjunto Pino liga o pino fornecido como argumento, no caso pinoLed, que definimos como sendo 13 no começo do código. Quando ligamos uma porta, enviamos 5 volts para ela, e quando desligamos, enviamos 0 volts. É esperado que o led do Arduino acenda. A linha seguinte é:
esperar(2000);
A função esperar é um método do Arduino que faz uma “pausa” na execução do código durante o número de milissegundos indicados entre os parênteses, no caso 2000, que equivale a 2 segundos. Depois de esperar o tempo definido o Arduino executa a próxima linha:
Pino.desligar(pinoLed);
Se a função ligar fazia com que o pino ligasse, o método desligar faz o contrário e desliga o pino. Ou seja, essa linha irá enviar 0 V pelo pino digital pinoLed, fazendo o LED apagar. Depois disso o código apresenta outra espera de dois segundos e reinicia o método Principal, repetindo-o enquanto o Arduino permanecer ligado.
Agora, antes de demonstrar esse projeto utilizando um LED externo, lista-mos os materiais necessários para a montagem do hardware, ou seja, a parte fí-sica do projeto:
◊ Uma placa Arduino
◊ Protoboard
◊ Jumpers
◊ LED
Montando o hardware:
Primeiramente, reproduza o circuito abaixo, com seu Arduino desligado. Se ne-cessário consulte também o diagrama ou esquemático das ligações:
IMAGEM 6.1
Analisando o hardware
O hardware montado para esse projeto é bem simples. Conectamos à porta 13 do Arduino um resistor de 470 Ω e, ao resistor, um LED que tem sua outra perna conectada ao Ground do circuito. O resistor é utilizado para provocar uma que-da de corrente e tensão no circuito, pois o Arduino envia, em caque-da porta, quan-do ligada, 5V de tensão e até 40 mA de corrente e seu LED geralmente utiliza uma corrente de 20 mA e uma tensão abaixo dos 3V. Para calcular o melhor re-sistor para seu circuito, deve-se buscar o datasheet1 do LED e verificar a corrente e tensão nominais dele. Com esses dados em mãos, aplica-se a seguinte fórmula:
R = Vs - Vi i
Em que R é o valor da resistência que deve ser usada; Vs é a voltagem forneci-da (no caso os 5V do Arduino); Vi é a voltagem nominal do LED; e i é a corrente nominal do LED. Nessa apostila no capítulo 4 há uma parte reservada para me-lhor explicar as associações deste componente.
Vale lembrar que o resistor é um componente que não tem polaridade, ou seja, pode ser conectado em qualquer sentido. Já o LED possui polaridade, sen-do sua perna maior o polo positivo. Caso seja conectasen-do ao contrário, o LED não acenderá!
Mais tutoriais disponíveis em:
http://brino.cc
2. O datasheet é um documento que contém todas as informações técnicas de um deter-minado componente.