Documente Academic
Documente Profesional
Documente Cultură
Arduino
Aps descobrir o Arduino e perceber a infinidade de documentao e projetos disponveis, a grande questo
:
Por qual modelo de Arduino optar?
Vamos descobrir juntos?
Para deixar mais claro, primeiramente vamos elucidar o porque de tantos modelos.
Era uma vez um cara que criou uma estrutura para um microcontrolador AVR. Sua ideia era facilitar o
acesso de indivduos que no dominavam essa poderosa tecnologia que envolvia programao complexa e
muita eletrnica. E assim chamou a Bela de Arduino.
Mas no s isso ele tambm era open hardware e open software. E esse novo conceito livre e aberto que
acompanha as novas tendncias das tecnologias e comunidades mais modernas, como; Linux, Firefox, Wiki e
outros que acabou por criar uma legio de Arduinomaniacos.
Podemos dizer que o Arduino criou um BOOM! Como no surgimento dos videogames. Ter um Atari era o
motivo de tietagem dos vizinhos.
Bem Sendo Open software e Open Hardware o Arduino disponibilizou toda sua documentao, assim,
qualquer um poderia montar o seu em casa, fazer modificaes bsicas e criar uma variao do Arduino que
melhor se adaptava ao seu projeto e publica-la para que outros pudessem conhece-la.
Ento foram surgindo Arduinos mais compactos para projetos com pouco espao, j outros maiores para
projetos com maior necessidade de sensores e pinos.
Tudo deu to certo que o prprio Arduino passou a sofrer atualizaes, tanto em Hardware(na placa do
arduino) como em software(programas e bibliotecas que escrevem o cdigo) e assim o Arduino passou de
NG, para Diecimila, depois para Duemilanove e em seguida UNO, Mega, Leonardo e por ltimo o Due.
Estas mudanas de Hardware so evolues e adaptaes necessrias para que a famlia de Arduinos possa
se adaptar s diferentes necessidade de nossas aplicaes e criaes.
Tutorial Arduino
Normalmente essas mudanas no representam uma alterao drstica a ponto de no se poder usar um ou
o outro. Muito pelo contrrio. priorizado a compatiblidade entre eles.
O mesmo acontece com o aplicativo de interface com o usurio IDE (interface de desenvolvimento do
Arduino) que constantemente atualizada, trazendo consigo a compatibilidade para os novos modelos.
IDE o software mnimo necessrio em seu computador para que se possa programar seu Arduino.
Ciente de tudo isso agora fcil escolher o seu modelo de Arduino.
Existem basicamente trs linhas de arduino que recomendo:
-Os bem pequenos: NANO
-Os de tamanho Mdio e tradicional: Duemilanove ou UNO
-Os Grandes: Mega ou Due
Recomendo ento:
-Os Arduinos UNO ou Duemilanove para projeto de tamanho padro como robs, interface IHM, central de
monitoramento, dentre outros.
-Os Arduinos Mega ou Due para projetos com maior demanda de memria, sensores e rels.
-O arduino NANO para projetos que precisam ser leves e ocupar pouco espao. Possui a mesma
configurao do Duemilanove/UNO mas em tamanho reduzido.
Vamos as fotos e descries:
-Arduino NANO
Tutorial Arduino
-Arduino Duemilanove
Tutorial Arduino
Tutorial Arduino
-Arduino MEGA2560
Tutorial Arduino
Tutorial Arduino
Assim que estiver com o Arduino nas mos preciso fazer algumas etapas simples para que tudo funcionar
corretamente.
1- O Arduino usa um programa para fazer as gravaes dos cdigos.
Vai encontr-lo para baixar neste link: BAIXAR IDE do Arduino.
Faa o download da verso compatvel com seu PC. Se roda Windows, Linux ou, MAC
Perceba que ha verses de IDE anteriores a 1.0
E importante lembrar que muitas bibliotecas no rodam nesta verso pois modificaes mais drsticas
foram feitas.
Pode ser preciso usar a 022 que esta compatvel com cdigos mais antigos. Mas s uma questo de tempo
para tudo ficar padro no 1.0
BemFeito isso, basta descompactar o arquivo .zip e imediatamente a interface de programao estar
pronta para funcionar.
Tutorial Arduino
A verso 1.0 apresenta uma verso um pouco diferente mas todas as funcionalidades so iguais.
Temos os cones principais:
Verify: Para Verificar se o programa est sem erros.
Upload: Carrega o programa no Microcontrolador. (Grava codigo no Arduino)
Serial Monitor: Ativa a leitura da porta serial. (Mostra valores numa tela especial)
Tutorial Arduino
Tutorial Arduino
Apos compilar (clicando em Upload ou Verify ) uma informao aparece mostrando o tamanho do cdigo e
o espao disponvel para mais cdigo.
10
Tutorial Arduino
Outra dica importante que ao clicar em uploud e o codigo for gravado no arduino, os LEDs RX e TX que se
encontram na placa arduino devero piscar informando que o codido esta sendo carregado.
Obviamente o cabo USB deve estar ligado a placa Arduino e ao PC.
Perfeito. Passando por estas etapas voce esta pronto para iniciar seu primeiro projeto.
11
Tutorial Arduino
Video da configurao
J imaginou programar um Chip bem pequeno como os 555 que possuem 8pinos?
Seria possvel levar as facilidades do Arduino e tecnologia AVR para os projetos extremamente pequenos e
ainda reduzir ao mximo o custo.
A Proposta ento usar o seu Arduino como uma ferramenta de gravao dos Attiny45 ou Attiny85.\
12
Tutorial Arduino
13
Tutorial Arduino
Vamos dar uma olhada no Datasheet e ver as configuraes de cada pino: Datasheet do Attiny
Simplificando Os dados que so minimamente necessrios para montar e programar podem ser vistos nas
imagens abaixo:
Ento temos:
3x Portas analgicas.
2x Portas I/O com PWM
1x Pino de Reset
2x Pinos de alimentao (+Vcc, -GND )
14
Tutorial Arduino
Lembrando: postas analgicas podem ser lidas como portas I/O ento na prtica tm 5x portas de I/O.
Sumrio da Instalao, se precisar, siga o Passo a Passo nos tpicos descritos nas etapas mais abaixo:
Download: Attiny texto de configurao
Localize a pasta sketchbook Arduino (voc pode encontrar a sua localizao no dilogo de preferncias no
software do Arduino)
Criar uma nova sub-pasta chamada hardware na pasta sketchbook ( possvel que ela j exista).
Copie a pasta Attiny de dentro do zip. Para a pasta de hardware. Voc deve ter agora, uma estrutura de
pastas como segue:
Documentos> Arduino> hardware> attiny
Neste diretrio, voc colocar os arquivos do zip, incluindo o boards.txt e possivelmente encontrar uma
outra pasta chamada de variantes.
Reinicie o ambiente de desenvolvimento IDE do Arduino.
Voc deve encontrar vrias opes Attiny no menu Ferramentas> Board.
Passo a Passo
Etapa 1- Inicialmente precisamos preparar a interface para receber esse novo modelo de micro controlador.
Vamos usar a interface IDE : se precisar, BAIXAR AQUI
15
Tutorial Arduino
Se tudo ocorrer corretamente ao abrir a IDE do Arduino voc ter novas opes de micros controladores
quando for a TOOLs>BOARD
Caso a IDE j esteja aberta voc deve fechar e reinicializar-la para aparecer a atualizao.
16
Tutorial Arduino
17
Tutorial Arduino
18
Tutorial Arduino
Etapa 3 Agora com seu cdigo que permite a gravao do Attiny monte o circuito abaixo numa
protoboard.
19
Tutorial Arduino
20
Tutorial Arduino
OBS: Caso voc no tenha preparado o Arduino como interface de gravao, o cdigo no ser gravado no
Attiny.
A presena do capacitor de 10uF-16V permitir que o cdigo seja gravado no Attiny. Assim com presena
do capacitor no pino de RESET do Arduino no ser possvel a gravao de cdigos no Arduino. Basta
retirar o fio do Reset que tudo retorna ao normal.
Aps a gravao uma mensagem em vermelho pode aparecer na IDE do Arduino mas isso no afeta na
gravao.
Feito os testes e aps tudo estar supimpa voc pode montar uma sheild para gravao de Attiny.
Com ajuda de um saca Chip voc pode retirar o Attiny do socket e por outros e ir gravando, ou mesmo
usar a interface para prototipagem.
possvel usar uma placa de fcil prototipagem ou fazer num software de CAD como o Proteus e corroer a
trilha.
Veja como pode ficar:
21
Tutorial Arduino
pinMode()
digitalWrite()
digitalRead()
analogRead()
analogWrite()
shiftOut()
pulseIn()
millis()
micros()
delay()
delayMicroseconds()
SoftwareSerial (has been updated in Arduino 1.0)
22
Tutorial Arduino
Carregue o arquivo de Configurao do IDE seguindo as mesmas orientaes dadas para a configurao do
Attiny 45 ou 85.
Video de Demonstrao
Lista das ligaes ao Arduino:
Arduino
13
12
11
10
5v
GND
ATtiny2313
19 PB7/SCK
18 PB6/MISO
17 PB5/MOSI
1 PA2/Reset
20 VCC
10 GND
Carregar o ArduinoISP para o Arduino no ligar o capacitor ainda.Mais informaes sobre este passo.
Nota: o ArduinoISP tem alguns problemas na ver. 1,00, Veja esta correo para uma soluo.
Conecte um capacitor mF 10 de reinicializao para a terra sobre o Arduino (lado negativo para o terra).
Se voc estiver usando um Duemilanove, um resistor de 120 ohm deve ser conectado ao Vcc.
Selecionar a placa de ATtiny2313 @ 1MHZ.
23
Tutorial Arduino
24
Tutorial Arduino
Voc acabou de adquirir sua placa Arduino. Conectou o cabo USB e Opa!!! Nada aconteceu?
Ou Pior! O Windows no reconhece sua placa!
Se voc est nessa situao fique tranquilo, pois est no lugar certo!
comum o Windows no reconhecer automaticamente o FTDI que vem no Arduino. E preciso fazer
manualmente essa tarefa.
Este tutorial serve tambm para o modelo UNO, mesmo no tendo o FTDI.
Basta seguir os passos que tudo se resolve. Vamos l?
Vou usar para esses passos o Arduino Mega, apenas para fins ilustrativos, mas poderia ser qualquer outro
modelo.
O comentado FTDI esse da foto acima, j nos modelos UNO, temos um microcontrolador da Atmel 8U2 ou
16U2 para essas mesma funo.
Primeiro passo conectar o Cabo USB ao Arduino e ao PC.
Caso a instalao do Driver tenha caminhado automaticamente em seu PC, timo, voc no tem mais nada
a FAZER!!
Parabns!!
Caso contrrio, siga os prximos passos.
Agora preciso chegar ao Gerenciador de dispositivos do Windows.
Isso pode ser feito rapidamente pelo Menu Iniciar e digitando o nome: Gerenciador de Dispositivos.
Caso no tenha encontrado por esse caminho voc pode encontrar pelo Painel de Controle:
25
Tutorial Arduino
26
Tutorial Arduino
27
Tutorial Arduino
28
Tutorial Arduino
Agora preciso encontrar a pasta que esto os drives. Quando voc baixou a IDE de programao do
Arduino baixou tambm esses drives. Eles esto l numa pasta drivers.
Selecione a pasta onde est os drives e depois v em OK.
Observe que o cone da porta muda e uma confirmao deve aparecer informando que tudo ocorreu
corretamente.
29
Tutorial Arduino
30
Tutorial Arduino
Bem isso Agora j pode mandar bala nos seus projetos com Arduino. Divirtam-se!
Caso no tenha obtido sucesso tente outra vez.
31
Tutorial Arduino
32
Tutorial Arduino
So 6 pinos para conexo, mas para programar o Atmega em modo Standalone voc precisa utilizar apenas
4, sendo eles:
+5V Este pino voc liga nos terminais do seu Atmega que so alimentados pelo positivo.
GND Este pino voc conecta aos terminais do seu Atmega que so alimentados pelo negativo.
RXD Este pino deve ser conectado ao pino TX do Atmega (pino 3 veja imagem a baixo);
TXD Este pino voc conecta ao pino RX do Atmega (pino 2 veja imagem a baixo);
Aps fazer a conexo dos pinos voc deve instalar o drive e instale-o em seu computador, depois disso pode
conectar o conversor USB TTL em uma porta USB (eu fao isso atravs de um cabo USB para ter mais
liberdade para poder mover a protoboard com tudo junto pela mesa fica a dica!).
Depois que tudo estiver instalado voc precisa enviar o cdigo para seu Atmega, para isso abra o ambiente
de programao do arduino e selecione o exemplo blink para testar.
Pressione o boto reset da sua placa standalone e segure, depois clique no boto enviar da interface de
programao do arduino e aguarde at que aparea na parte inferior uma tela como a mostrada a baixo:
33
Tutorial Arduino
Assim que aparecer na parte preta o texto em branco que diz o tamanho do arquivo significa que seu cdigo
ja foi compilado e o programa comear o upload propriamente dito, nesse momento voc deve soltar o
boto reset e aguardar a mensagem de upload concludo. Pronto! seu Atmega rodando em modo
standalone pode ser agora programado atravs da porta USB como se voc estivesse utilizando uma placa
arduino diretamente na USB.
34
Tutorial Arduino
35
Tutorial Arduino
A comunicao bluetooth com esse mdulo bem simples pois nada mais do que uma comunicao serial.
Primeiramente ser apresentada a montagem do harware para leitura de um sensor de temperatura LM35
via bluetooth.
36
Tutorial Arduino
Como no Fritzing (programa para fazer o desenho acima) no existe o mdulo bluetooth, ele foi
representado como apenas um conector onde suas ligaes foram feitas respectivamente da esquerda para
direita. Os pinos do conector da esquerda para a direita so: VCC, GND, RX, TX.
OBS IMPORTANTE: O Vcc do mdulo e as entradas lgicas funcionam em 3.3 Volts, portanto ligue o Vcc
do mdulo na saida 3.3V do Arduino e o RX do mdulo dever ser ligado ao TX do Arduino por intemdio
de um divisor de tenso que ir diminuir a tenso lgica (todos esses detalhes de ligao esto devidamente
exemplificados no artigo )
O pino MODE no ser utilizado nesse projeto pois como padro ele esta baixo (nivel lgico LOW) ento o
mdulo funcionar normal e no em modo de configurao AT.
A imagem abaixo mostra o circuito real montado em uma protoboard.
O firmware a ser inserido no microcontrolador no poderia ser mais simples, pois apenas um comando
para escrever na porta serial que nesse caso o mdulo bluetooth.
/*
Firmware para fazer a leitura de um sensor de temperatura
e a tranmisso desse dado via Bluetooth
utilizando o mdulo BTM-5.
Desenvolvido por: Allan Romanato
Data: 31/05/2012
*/
int sensor = 0;
int leitura = 0;
37
Tutorial Arduino
float temp = 0;
void setup(){
Serial.begin(38400); //Inicia Comunicao Serial
}
void loop(){
leitura = analogRead(sensor);
temp = (leitura * 0.00488);
temp = temp *100;
Serial.print(Temperatura lida: ); //Envia via Bluetooth
Serial.println(temp);
delay(5000);
}
O resultado da execuo mostrado a seguir em uma tela do terminal serial Docklight (poderia ser tambm
vistos em um hyperterminal do Windows).
Aproveitando a deixa, agora ser explicado como acionar um LED atravs de um comando enviado ao
Arduino via bluetooth. Usaremos o LED padro do Arduino que ligado ao pino 13. Nesse exemplo ser
colocado um led extra s para melhor visualizao.
O LED extra dever ser ligado a porta digital 13 do arduino por intermdio de um resistor de 330 ou 470
Ohms.
O que mudar um pouco nessa parte que a porta serial dever ser lida pelo Arduino e a informao
recebida ter que ser interpretada pelo microcontrolador para depois o sinal ser enviado. No cdigo a seguir
ser abordado leitura e escrita na serial (bluetooth).
/*
38
Tutorial Arduino
Data: 31/05/2012
*/
char receive;
int pin = 13;
void setup(){
pinMode(pin, OUTPUT);
Serial.begin(38400); //Inicia Comunicao Serial
}
void loop(){
if (Serial.available() > 0){ //Checa de a porta serial tem info.
receive = Serial.read(); //Faz a leitura da Serial.
if(receive == l){
digitalWrite(pin, HIGH);
Serial.println(Led Ligado);
}
else if(receive == d){
digitalWrite(pin, LOW);
Serial.println(Led Desligado);
}
}
delay(500); //Necessario para sincronizar.
}
Os resultados da execuo do cdigo acima so mostradas nas figuras a seguir:
Comando para ligar o LED.
39
Tutorial Arduino
40
Tutorial Arduino
Com a leitura do artigo pode-se concluir que quando utilizamos o Mdulo Bluetooth BTM5 a comunicao
sem fio se torna simples, pois s enviar comandos para a porta serial que eles so interpretados
automaticamente.
41