Sei sulla pagina 1di 6

Imprimir

/ Tecnologia

22/06/2009 05:50:30

Introdução ao Arduino
Uma plataforma que disponibiliza aos profissionais de eletrônica uma maneira fácil de programar
microcontroladores para os seus projetos

Pedro Werneck

O Arduino é uma plataforma que foi criada para suprir a demanda do hobbyista ou entusiasta de
eletrônica que gostaria de uma forma barata e mais fácil de usar e programar microcontroladores para
seus circuitos mais complexos. Com o Arduino, aqueles que já têm algum conhecimento mínimo de
programação têm um equipamento prático de utilizar sem exigir grandes conhecimentos de eletrônica;
outros que conhecem eletrônica têm uma plataforma fácil de realizar uma interação de alto nível; e
alguns que não têm conhecimento nenhum, podem partir do zero e chegar a algo funcional com
facilidade.

Há outras plataformas para microcontroladores de diversos tipos criadas com esse objetivo, mas o
Arduino foi gerado com foco em características como custo e facilidade de uso, sendo disponível como
hardware e software livre, e buscando como público-alvo pessoas entre professores, estudantes,
amadores, hobbyistas, e até mesmo aqueles que procuram somente uma forma melhor de interagir com
o computador e usá-lo em seu trabalho, como alguns artistas. Recebeu menção honrosa no festival
“Ars Eletrônica 2006” e possui licença da Creative Commons como hardware livre.

A plataforma consiste em uma placa com circuitos de entrada/saída para um microcontrolador AVR, um
ambiente de desenvolvimento e o bootloader que já vem gravado no microcontrolador, ou que pode ser
gravado facilmente caso construa seu próprio Arduino a partir dos esquemas disponíveis. Quem já
domina o assunto e quiser usá-lo, poderá também programá-lo como qualquer AVR.

Hardware

As especificações da placa são disponíveis livremente. Ela é fornecida comercialmente com o nome
“Arduino” através do fabricante original, e com outros nomes por vários fabricantes diferentes, podendo
ser adquirida em várias versões. Ela também pode ser montada pelo próprio interessado,
confeccionando tudo por conta própria a um custo baixo (figura 1).

As versões mais recentes, como o Arduino “Duemilanove” (2009, em italiano), usam o microcontrolador
ATmega168. Todas as versões utilizam comunicação serial e podem até ser ligadas a qualquer
dispositivo compatível, mas as versões recentes têm um conversor USB-serial que permite a ligação
direta com uma porta USB do computador. Entre outras variações da placa original, há uma versão
com Bluetooth permitindo fácil acesso sem fio, versões “mini”, próprias para embutir permanentemente
em um projeto, entre outras.
A placa inclui um cristal oscilador de 16 MHz para o clock, um regulador de tensão de 5 V, botão de
reset, plugue de alimentação, pinos conectores, e alguns LEDs para facilitar a verificação do
funcionamento. A porta USB já fornece alimentação enquanto estiver conectado ao computador, e a
tensão de alimentação quando desconectado pode variar de 7 V a 12 V, graças ao regulador presente
na placa.

A placa tem 13 pinos de entrada/saída, podendo ser configurados conforme desejado para leitura de
botões, circuitos, controle de dispositivos, etc. Além desses, há mais 6 pinos de entrada analógica para
leitura de sensores e sinais de entrada de diversos tipos. Dentre os 13 pinos de saída, 6 podem ser
configurados para usar “Pulse Width Modulation” (PWM), que permite a interação fácil com dispositivos
que utilizam essa forma de modulação, como servomotores, assim como o controle da intensidade do
sinal entregue pela saída. Na figura 2 temos a pinagem da placa.

Software

O ambiente de desenvolvimento é uma aplicação multiplatataforma, desenvolvida em Java, com


código-fonte aberto, que funciona em Windows, Linux e Mac. Ele tem o visual de um editor simples,
fácil de usar para editar, compilar e gravar o código na placa. A linguagem usada é baseada em C e
algumas construções de C++, e inclui também uma biblioteca própria, além das funções de uma parte
da biblioteca padrão C. Além da biblioteca original, há muitas outras disponíveis na comunidade,
desenvolvidas por usuários colaboradores, que facilitam diversas outras tarefas.

Como um dos pontos mais importantes do projeto é a facilidade de uso por amadores e leigos, as
bibliotecas de controle são muito fáceis de usar, frequentemente exigindo não mais do que uma única
chamada de função até para realizar tarefas bem complexas, como movimentar um motor de passo ou
ler um valor de um sensor, sendo ideal para iniciantes, amadores, e quem nunca animou-se muito em
aprender a usar microcontroladores por dificuldade com programação Assembly.

Exemplo 1

O primeiro circuito de exemplo ilustra o uso de uma das saídas PWM do Arduino com um servomotor.
Qualquer servo com um terminal de controle compatível funciona. Aqui usamos um polar rotor do tipo
usado em antenas parabólicas (figura 3).
Os fios preto e vermelho correspondem ao negativo e positivo da alimentação, respectivamente, e
neste exemplo pode- mos conectá-lo diretamente aos pinos de alimentação do Arduino. O vermelho é
conectado ao pino 5 V, e o preto a qualquer um dos pinos GND. Note que há dois pinos GND, um ao
lado do outro no bloco de pinos inferiores. O fio branco é o terminal de controle, e deve ser conectado
a uma das saídas digitais com PWM, qualquer um dos pinos 3, 5, 6, 9, 10 ou 11. Aqui usaremos o 10.
Na figura 4 temo a conexão do servo à placa.

No exemplo usamos um código que lerá um caracter recebido pela porta serial, digitado pelo usuário
através do “Serial Monitor” do ambiente de desenvolvimento ou enviado diretamente pela porta USB,
usando um terminal ou uma biblioteca de linguagem de programação caso queiramos uma interação
maior. De acordo com o caracter recebido, o Arduino controla o servo movimentando-o até uma
posição fixa.
Exemplo 2

O segundo exemplo mostra como utilizar uma das entradas analógicas do Arduino, assim como um dos
pinos digitais como saída. Usaremos um potênciometro que controlará a velocidade com que um LED
pisca na saída.

O potênciometro linear de 100 kohms é conectado tendo um dos seus pinos extremos ligado ao GND, o
outro extremo ao pino AREF, que fornece a tensão de referência, e o pino central conectado a qualquer
uma das entradas analógicas, na parte inferior esquerda. Aqui usaremos a entrada 1. Observe a figura
5.

O Arduino possui soldado na placa um LED e um resistor já conectados ao pino 13, para facilitar a
depuração e diagnóstico. Faremos com que esse LED pisque com um intervalo proporcional à posição
do potênciometro. Em um extremo ele alternará o estado a cada 10 ms, no outro extremo a cada 500
ms.

Exemplo 3

O terceiro e último exemplo do artigo apenas combina o que fizemos nos outros dois, usando o
potenciômetro para movimentar o servo. Ligamos o potenciômetro da mesma forma, terminais extremos
ao GND e AREF, terminal central à entrada analógica 1. Ligamos o servo também da mesmo forma,
com os dois fios de alimentação ao GND e 5 V, e o fio de controle ao pino digital 10 (figura 6).
Do mesmo modo que convertemos o valor entre 0 e 1023 vindo do potênciometro para um valor entre
10 e 500, usamos a função map() para converter para um valor entre 0 e 180 graus.

Esses exemplos são apenas uma pequena amostra do potencial e da facilidade de uso. Com
criatividade, é possível realizar projetos de níveis variados.

Referências

Site oficial: www.arduino.cc

*Originalmente publicado na revista Saber Eletrônica Nº437

Extraído do Portal Saber Eletrônica Online - Todos os direitos reservados - www.sabereletronica.com.br

Potrebbero piacerti anche