Escolar Documentos
Profissional Documentos
Cultura Documentos
Arduino Destacom
Arduino Destacom
Grupo de Robtica
UFMS 2012
SUMRIO
1. Introduo ao Arduino ______________________________________ 3
1.1
1.2
2.3
2.4
5.2
5.3
5.4
7.3
7.4
Funes ______________________________________________ 22
7.4.1
7.4.2
7.4.3
Tempo ____________________________________________ 24
2
1. Introduo ao Arduino
1.1 Histria do Arduino
O Arduino surgiu em 2005, na Itlia, com um professor chamado
Massimo Banzi, que queria ensinar eletrnica e programao de computadores
a seus alunos de design, para que eles usassem em seus projetos de arte,
interatividade e robtica. Porm, ensinar eletrnica e programao para
pessoas que no so da rea no era uma tarefa simples, e outra dificuldade
era a inexistncia de placas poderosas e baratas no mercado.
Foi pensando nisso que Massimo e David Cuartielles decidiram criar sua
placa prpria, com a ajuda do aluno de Massimo, David Mellis, que ficou
responsvel por criar a linguagem de programao do Arduino. Vrias pessoas
conseguiram utilizar o Arduino e fazer coisas incrveis, surgindo assim essa
febre mundial da eletrnica.
1.2 O que um Arduino?
Arduino uma placa de controle de entrada de dados (IN), como
sensores, e sada de dados (OUT), como motores e leds, com cristal oscilador
de 16 Mhz, um regulador de tenso de 5 V, boto de reset, plugue de
alimentao, pinos conectores, e alguns LEDs para facilitar a verificao do
funcionamento. A porta USB j fornece alimentao enquanto estiver
conectado ao computador, e a tenso de alimentao quando desconectado
pode variar de 7 V a 12 V, graas ao regulador presente na placa.
No Arduino, informaes ou ordens so transmitidas de um computador
para a placa atravs de Bluetooth, wireless, USB, infravermelho, etc. Essas
informaes devem ser traduzidas utilizando a linguagem Wiring baseada em
C/C++.
Existe uma comunidade ativa para usurios, por isso, existe uma
quantidade enorme pessoas que podem te ajudar.
2. Modelos de Arduino
2.1 Arduino UNO
3. Arduino Mega
O Arduino Mega 2560 uma placa de micro controlador baseada no
ATmega2560 (datasheet). Ele possui 54 pinos de entradas/sadas digitais, 16
entradas analgicas, 4 UARTs (portas seriais de hardware), um oscilador de
cristal de 16 MHz, uma conexo USB, uma entrada de alimentao, uma
conexo ICSP e um boto de reset. Ele contm tudo o que necessrio para
dar suporte ao micro controlador; basta conectar a um computador com um
cabo USB ou a uma fonte de alimentao e j est pronto para comear. O
mega compatvel com a maioria dos shields desenhados para os Arduino
Uno, Duemilanove e para o Diecimila. Possui ainda o dobro de memria do
antigo Arduino Mega.
3.1 Definies:
Memria flash : capaz de preservar os dados armazenados por
um longo tempo sem a presena de corrente eltrica.
EEPROM : memria no voltil, pode ser programada e apagada
vrias vezes, eletricamente.
SRAM: memria de acesso aleatrio que mantm os dados
armazenados desde que seja mantida sua alimentao eltrica
Micro controlador: um computador-num-chip, contendo um
processador, memria e perifricos de entrada/sada. um micro
processador que pode ser programado para funes especficas, em
contraste com outros micro processadores de propsito gerais (como
os utilizados nos PCs). Eles so embarcados no interior de algum
6
3.2 Especificaes
Micro controlador
ATmega2560
Tenso de operao
5V
Tenso de entrada
(recomendada)
7-12V
6-20V
54
(dos quais 14 podem ser sadas PWM)
16
40mA
50mA
Memria Flash
SRAM
8KB
EEPROM
4KB
Velocidade de Clock
16MHz
3.3 Alimentao
O Arduino Mega2560 pode ser alimentado pela conexo USB ou com
uma fonte externa. A entrada de alimentao selecionada automaticamente.
Alimentao externa (no USB) pode ser tanto de uma fonte como de baterias.
A fonte pode ser conectada plugando um conector de 2,1mm, positivo no
centro, na entrada de alimentao. Cabos vindos de uma bateria podem ser
3.5 LED 13
H um LED conectado ao pino digital 13. Quando o pino est em HIGH o
led se acende.
3.6 Memria
10
11
12
Fonte de energia
Saida
13
5. Resistores
5.1 O que so resistores?
So elementos que apresentam resistncia passagem de corrente
eltrica, quanto maior a sua resistncia, menor a corrente eltrica que passa
num condutor. Os resistores possuem um formato cilndrico e faixas coloridas
que definem o seu valor em Ohms. Servem para opor-se a passagem de
corrente, ficando assim certa tenso retida no mesmo.
Um resistor ideal um componente com uma resistncia eltrica que
permanece constante independentemente da tenso ou corrente eltrica que
circular pelo dispositivo.
O valor de um resistor pode ser facilmente identificado analisando as
cores que apresenta em torno dele ou ento usando um ohmmetro
(instrumento de medio de resistores).
O material do resistor uma pelcula fina de carbono (filme), depositada
sobre um pequeno tubo de cermica. O filme resistivo enrolado em hlice por
fora do tubinho at que a resistncia entre os dois extremos fique to prxima
quanto possvel do valor que se deseja. So acrescentados terminais (um em
forma de tampa e outro em forma de fio) em cada extremo. Em seguida o
resistor recoberto com uma camada isolante, e no fim suas faixas coloridas
transversais so pintadas para indicar o valor da sua resistncia.
14
15
17
18
(d) Open: Exibe um menu com todas as sketches no seu sketchbook. Ao clicar em uma, a
mesma ser aberta na janela atual.
menu Tools
loop( )
A funo loop faz exatamente o que seu nome sugere: entra em looping
(executa sempre o mesmo bloco de cdigo), permitindo ao seu programa
executar as operaes que esto dentro desta funo. A funo loop( ) deve
ser declarada aps a funo setup( )
Sintaxe:
void loop()
{
.
:
}
20
de/para outros dispositivos ou circuitos. Isto faz com que eles sejam
teis para energizar um LED mas disfuncionais para a leitura de
sensores. Pinos configurados como OUTPUT tambm podem ser
danificados ou destrudos por curto-circuitos com o terra ou com
outros pontos de 5 Volts. A quantidade de corrente fornecida por um
pino do Atmega tambm no suficiente para ativar muitos rels e
motores e, neste caso, algum circuito de interface ser necessrio.
7.4 Funes
7.4.1 Funes de Entrada e Sada Digital
pinMode( ) Configura o pino especificado para que se comporte ou como uma
entrada ou uma sada. Deve-se informar o nmero do pino que se deseja
configurar e em seguida, se o pino ser determinado como uma
entrada(INPUT) ou uma sada(OUTPUT).
Sintaxe:
pinMode(pino, modo);
digitalWrite( ) Escreve um valor HIGH ou LOW em um pino digital. Se o pino
foi configurado como uma sada, sua voltagem ser determinada ao valor
correspondente: 5V para HIGH e 0V para LOW. Se o pino est configurado
como uma entrada, HIGH levantar o resistor interno de 20KOhms e LOW
rebaixar o resistor.
Sintaxe:
digitalWrite(pino, valor);
digitalRead( ) L o valor de um pino digital especificado e retorna um valor
HIGH ou LOW.
Sintaxe:
Int digitalRead(pino);
/* Exemplo de funo sobre de Entrada e Sada Digital */
int ledPin = 13; // LED conectado ao pino digital 13
int bot = 7; // boto conectado ao pino digital 7
int val = 0; // varivel para armazenar o valor lido
void setup()
{
pinMode(ledPin, OUTPUT); // seta o pino digital 13 como uma sada
pinMode(bot, INPUT); // seta o pino digital 7 como uma entrada
}
void loop()
{
val = digitalRead(bot); // l o pino de entrada
digitalWrite(ledPin, val); // acende o LED de acordo com o boto
22
Essa funo transfere para o pino 13, o valor lido no pino 7 que uma entrada.
7.4.2 Funes de Entrada e Sada Analgica
analogWrite( ) - PWM Pulse Width Modulation ou Modulao por Largura de
Pulso (MLP) um mtodo para obter resultados analgicos com meios digitais.
Essa funo basicamente escreve um sinal analgico. Ela pode ser usada para
acender um LED variando o seu brilho, ou girar um motor com velocidade
varivel. Depois de realizar um analogWrite( ), o pino gera uma onda quadrada
estvel com o ciclo de rendimento especificado at que um analogWrite( ), um
digitalRead( ) ou um digitalWrite( ) seja usado no mesmo pino. Em kits Arduino
com o chip ATmega168, esta funo est disponvel nos pinos 3,5,6,9,10 e 11.
Kits Arduino mais antigos com um ATmega8 suportam o analogWrite( ) apenas
nos pinos 9,10 e 11. As sadas PWM geradas pelos pinos 5 e 6 tero
rendimento de ciclo acima do esperado. Isto se deve s interaes com as
funes millis( ) e delay( ), que compartilham o mesmo temporizador interno
usado para gerar as sadas PWM. Para usar esta funo deve-se informar o
pino ao qual deseja escrever e em seguida informar um valor entre 0 (pino
sempre desligado) e 255 (pino sempre ligado).
Sintaxe:
analogWrite(pino, valor);
analogRead( ) L o valor de um pino analgico especificado. O kit Arduino
contm um conversor analgico-digital de 10 bits com 6 canais. Com isto ele
pode mapear voltagens de entrada entre 0 e 5 Volts para valores inteiros entre
0 e 1023. Isto permite uma resoluo entre leituras de 5 Volts / 1024 unidades
ou 0,0049 Volts (4.9 mV) por unidade
Sintaxe:
int analogRead(pino);
/* Exemplo de funo sobre Entrada e Sada Analgica */
int ledPin = 9; // LED conectado ao pino digital 9
int analogPin = 3; // potencimetro conectado ao pino analgico 3
int val = 0; // varivel para armazenar o valor lido
void setup()
{
pinMode(ledPin, OUTPUT); // pr-determina o pino como sada
}
void loop()
{
val = analogRead(analogPin); // l o pino de entrada
analogWrite(ledPin, val/4); //
}
23
7.4.3 Tempo
millis( ) Retorna o nmero de milisegundos desde que o kit Arduino comeou a
executar o programa. Este nmero extrapolar (voltar a zero) depois de
aproximadamente 50 dias.
Sintaxe:
unsigned long tempo;
void loop
{
.
:
tempo = millis()
}
delay( ) Suspende a execuo do programa pelo tempo (em milisegundos)
especificado. Em um segundo h 1.000 milisegundos.
Sintaxe:
delay(tempo);
REFERNCIAS BIBLIOGRFICAS
Ambiente de Desenvolvimento Arduino
Descrio do Funcionamento de uma Protoboard
Programando para o Arduino: Conceitos e Sintaxe da Linguagem de
Programao
http://lscad.facom.ufms.br/wiki/index.php/Downloads
http://arduino.cc/
http://en.wikipedia.org/wiki/Breadboard
http://lscad.facom.ufms.br/wiki/index.php/Downloads
Responsveis: Lucas Rodrigues, Eliseu Sartori, Bruno Gouveia
25