Escolar Documentos
Profissional Documentos
Cultura Documentos
ndice
Introduo ao Program-ME e Arduino ......................................... 1
U U
O que Arduino........................................................................ 4
U U
Shields....................................................................................... 7
U U
Arduino em protoboard........................................................... 11
U U
U U
U U
iii Conhecendo o editor Arduino ................................................. 37 Escrevendo cdigo do primeiro programa .............................. 41
U U
Aplicaes prticas
Criaoderobseinvenes; MquinasdecorteCNC; Desenvolvimentodesistemasdelocalizaoe identificaoautomticacomRFID; Automaoresidencial:controledetomadas/rels, dimmer,sensoresdepresena; Artetecnolgicaeentretenimento Hackingdehardware:integraocomiPhone,telasde Nokia,GPSdaGarmin,controleremoto,SunSpot; Ensino/Educao:podeserutilizadoemcursosde graduaoetcnicosemgeralparaensinar programao,eletrnica,robticaecomputaofsica.
O que Arduino
Arduino foi criado na Itlia por Mximo Banzi com o objetivo de fomentar a computao fsica, cujo conceito aumentar as formas de interao fsica entre ns e os computadores. Por se tratar de um padro com especificaes livres de patentes e softwares opensource, temos vrios fabricantes independentes de Arduino ao redor do mundo, incluindo o Brasil que oferece as marcas: Severino, Tatuino, Modelixino e agora o ProgramME da Globalcode. Arduino simples, fcil de programar e barato. Motivos mais que suficientes para fazeruma comunidade crescente no mundo todo.
Shields
Outra interessante caracterstica do Program ME / Arduino a possibilidade dele receber inmeros shields em camadas. Shields so placas com componentes adicionais que podem ser encaixadas em cima do Arduino / ProgramME alm de eventualmente permitir que outro shield seja empilhado formandodiferentescamadasdecomponentes.
Tipos de Arduino
Podemos chamar o Arduino da imagem a seguir como o Arduino convencional que tipicamente utiliza ATMega 168 ou ATMega328:
10
+portasemaiorcapacidade LilypadArduino
Parapequenodevices ProgramME
+portasemaiorcapacidade
Dispositivodidtico
11
Arduino em protoboard
Como o projeto eletrnico do Arduino muito simples, fcil construir um utilizando protoboard, papel ou corroendo uma placadefacesimples.VejaoArduinoemprotoboard:
9 2 Capacitores eletrolticos de 100microFaradspor25V 9 2Leds 9 1 cristal de 16MHz (para o clock) 9 1protoboard 9 1resistorde1k 9 1resistorde330R 9 2capacitorescermicos(22) 9 1ATMega168ou328
12
13
Arduino em papel
possveltambmfazerArduinosempapel,ouseja,imprimimos emumpapeloesquemadocircuito,colocamososcomponentes porcimaeembaixodopapelesoldamosafiao:
14
15
16
Nasportasdigitaispodemoslerougravar0/1ouHIGH/LOW. Um led em uma porta digital em estado HIGH um led aceso (Vinicius, isso depende da forma de ligar o led e no sempre verdade) e consequentemente se passarmos para 0 ou LOW, apagaremosoLED. As portas analgicas de entrada podemos converter um sinal analgico dentro da faixa de trabalho do Arduino para nmeros entre0e1023,quantomaioraamplitudedaonda,maiorovalor que leremos. Potencimetros e sensores de luz so exemplos de componentes que tipicamente so ligados nas portas analgicas deentrada.
17
O Arduino tambm disponibiliza portas digitais PWM (Pulse With Modularization) que simulam um controle de potncia em portas digitais. Podemos usar PWM para controlar a velocidade derotaodeummotorouaintensidadedebrilhodeumLED. Desta forma sabemos que cada componente ser ligado em um porta digital convencional, PWM ou uma porta analgica. O Arduino permite que uma porta analgica funcione como digital, masnoocontrrio.
18
USBprateadoqueaterradoenodeveencostar emcomponentesdeumshieldinstalado.
19
20
Nestecaso temoso ProgramME configuradopara receber alimentao externa.Ostrap estaligandoos pinos1e2.
21
22
SeoProgramMEficarsemostrapnoligar!!
23
Digital14 Analgica0 Analgica1 Analgica2 Analgica3 Analgica4 Analgica5 Led1verde omesmoqueDigital14 Potencimetro1 Potencimetro2 Transistor Transistor SensordeLuzLDR
25
O ProgramME / Arduino pode acessar as portas analgicas e tratlas como digitais usando os numeros dos pinos em sequencia, ou seja, a porta analgica zero ser tratada como digitalquandoforreferenciadacomopino14eassimpordiante. Analgica0 Analgica1 Analgica2 Analgica3 Analgica4 Analgica5 Pino14ouDigital14 Pino15ouDigital15 Pino16ouDigital16 Pino17ouDigital18 Pino18ouDigital18 Pino19ouDigital19
26
27
BarradeStrapsJP8 TransistorQ2 TransistorQ3
L Speaker e d 9
L e d 8
L e d 7
L e d 6
L e d 5
L e d 4
L e d 3
L e d 2
L e d 1
28
29
Ao retirar o strap preto (poder ser, eventualmente, de outra cor) voc estar desligando o componente onboard do ProgramME. Retirando todos os straps o ProgramME passar a funcionar como Arduino liberando todas as portas digitais e analgicas. Voc tambm poder usar um shield que utilize algumas portas (retirando os straps delas) e as outras manter ligadasnoProgramME.
30
31
32
Casovocestejautilizandoumcomponenteonboarddo ProgramME,comoseusleds,speaker,transistor,vocnovai precisarligarnenhumfioenemprecisardaprotoboard. AdicionalmenteoProgramMEpodereceberdiretamenteservo motor,motorDC,umstepmotorunipolar,potencimetrossem anecessidadedeprotoboards. 1. Programao: escrevemos o cdigofonte do programa no ambientededesenvolvimentodoArduino. 2. Conexo:conectamosnossoArduinonoPCviaUSB. 3. Transferncia: Fazemos a transferncia do programa para o Arduino.
33
4. Execuo: Aguardamos o trmino da transferncia e incio automticodaexecuodoprograma. 5. Recepo: Programas no Arduino podem ou no devolver dados para o PC, sendo que caso o programa no dependa desta comunicao, o Arduino pode ser desligado do cabo USB e alimentado por uma fonte externa como baterias ou transformadores/fontes. FiaoProgramaoConexoTransfernciaExecuo Recepo
34
35
Instale no seu sistema operacional os softwares acima e ao termino navegue no diretrio de instalao do Arduino onde vocdeverencontrarumexecutvelchamadoarduino.exeou arduino.sh conforme seu sistema operacional. Inicialize o editordoArduinoexecutandooarquivo. Agora o momento certo de voc colocar todos os straps nos jumpers conforme mostramos anteriormente. Vamos utilizar os leds e o sensor de luz neste exemplo e para isso voc precisar ter certeza que os straps esto colocados nos jumpers destes componentesparaativlos.
36
Quando terminar de ligar voc j pode colocar o cabo USB no ProgramME e em seguida ligar em uma porta USB do seu computador. A primeira conexo tipicamente demora mais em funo das configuraes iniciais. Seu sistema operacional dever reconhecer as portas seriais como COMX:, exemplo COM10:COM11:ouatCOM30:podeacontecer!
37
38
Stop:pararacompilao Compile:compilarocdigo
39
40
Eporfimdevemosescolheraportaserialquerepresentanosso Arduino:
41
Vejamosnocdigoabaixoparapiscarumled.
PiscaPisca
43
44
45
46
47
#defineLDR5 intluminosidade; voidsetup(){ //Comandoparainiciaracomunicaoserialcomo computador Serial.begin(9600); } voidloop(){ luminosidade=analogRead(LDR); //Comandoparaenviarumdadoparaocomputador Serial.println(luminosidade); delay(500); }
48
49
50
Apndice tcnico
Lista de componentes Program-ME
Resistores R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 10K 330R 330R 330R 330R 330R 330R 1K 1K 1K 1K
R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 1K 330R 330R 330R LDR 10K 10K 10K 10K 220R 220R 10K 10K
51
Capacitores C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 100nF 22pf 22pf 100nF 100nF 100uFx25Vperfilbaixo 100uFx25Vperfilbaixo 100nF 100nF 100nF 100nF 100nF
52
Diodos D1 D2 D3 D4 D5 IC1 IC2 Q2 Q3 Q4 Q5 CPU 1N4007 1N4007 1N4007 1N4007 1N4007 FT232RL 7805 TIP122 TIP122 TIP122 TIP122 ATMEga328P
53
Semicondutores
54 Soquete28Pinos Cristal16MHzperfilbaixo ConectorKR2Pinos ConectorKR2Pinos ConectorKR2Pinos ConectorKR2Pinos microswitch microswitch LedVerde3mm LedVerde3mm LedVermelho3mm LedVerde3mm LedVerde3mm LedVerde3mm LedAmarelo3mm LedAmarelo3mm
55
56
Especificaes tcnicas
Equivalncia entre os pinos do ATMega168 e do Arduino / Program-ME.
57