Академический Документы
Профессиональный Документы
Культура Документы
1Manual do Program-ME......................................................................................................................... 6
1.1Componentes para Program-ME / Arduino ................................................................................................. 6 1.2Ap ica!es pr"ticas...................................................................................................................................... # 1.$% &ue ' Arduino........................................................................................................................................... ( 1.$.1Caracter)sticas t'cnicas do Arduino/Program-ME.......................................................................... ( 1.$.2Program-ME *1.+ *s. Arduino......................................................................................................... , 1.$.$Program-ME *2.+ *s. Arduino....................................................................................................... 1+ 1.$.-./ie ds.......................................................................................................................................... 11 1.$.01ipos de Arduino .......................................................................................................................... 11 1.$.6Arduino em proto2oard................................................................................................................. 12 1.$.#Arduino para e3ecutar ou para desen*o *er4............................................................................... 12 1.$.(Arduino em pape .......................................................................................................................... 12 1.$.,Portas digitais5 ana gicas e P6M............................................................................................... 1$ 1.-Con7igurando seu Program-ME................................................................................................................. 11.-.1Cuidados Especiais...................................................................................................................... 11.-.2A imentando seu Program-ME / Arduino...................................................................................... 10 1.-.$Mapa de portas dos componentes Program-ME *1.+................................................................... 16 1.-.-Mapa de portas dos componentes Program-ME *2.+................................................................... 1# 1.0.eus primeiros programas com o Program-ME......................................................................................... 1( 1.0.18nsta ando os so7t9ares necess"rios............................................................................................ 1( 1.0.2Con/ecendo o editor Arduino....................................................................................................... 1( 1.0.$Escre*endo cdigo do primeiro programa.................................................................................... 2+ 1.6La2oratrio Program-ME: 1estando sua p aca ......................................................................................... 2#
Anota!es
Cop;rig/t 2++, < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados. >er. 1.1
CAPTULO
Manual do Program-ME
Ar&uitetura do Program-ME Preparando o am2iente e insta ando so7t9ares Arduino e Processing E3emp os pr"ticos de uso
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
1 Manual do Program-ME
Program-ME ' um computador de pe&ueno porte5 2aseado em uma p ata7orma de prototipagem e etr?nica open-souce c/amada Arduino. .endo um computador de pe&ueno porte e e uti i@a um microcontro ador Acomputador comp eto em um c/ipB e no um microprocessador tradiciona &ue precisa de memrias e demais recursos e3ternos para 7uncionar. Pode ser uti i@ado para contro ar di*ersos tipos de componentes e etr?nicos digitais e ana gicos permitindo a criao5 prototipao e at' mesmo produo de /ard9ares e proCetos e etr?nicos e in*en!es em gera . >eCamos um comparati*o entre um computador tradiciona APC 8nte 5 App e5 D8.CB e uma p aca com microcontro ador program"*e AProgram-ME5 Arduino5 etc.B: Computador Tradicional (PC Intel, Apple, RI C! Placa microcontrolada pe"ueno porte A to consumo de energia Eai3o consumo de energia Amuito 2ai3oFB Muita memria Pouca memria Amuito poucaFB Caro Muito 2arato Comp e3o .imp es Gti i@a um sistema operaciona Ho uti i@a um sistema operaciona A2are meta B >"rios programas ao mesmo tempo Gm programa por *e@ Pseudo tempo rea 1empo rea A/ard rea -timeB Cone3o de /ard9are por G.E / 7ire-9ire Cone3o de /ard9are *ia portas digitais e ana gicas .a)da de *)deo padro .em sa)da de *)deo padro IConsiderando uso de microcontro adores de pe&ueno porte. Em termos de ap ica!es pr"ticas5 no &ueremos um computador de a to consumo de energia5 &ue roda *"rios ap icati*os ao mesmo tempo5 para contro ar um porto de garagem com acionamento remoto. 1++J das so u!es de contro e de a2ertura de port!es uti i@am p acas com microcontro adores com caracter)sticas simi ares ao &ue uti i@amos no Program-ME / Arduino. >a e em2rar &ue e3istem tam2'm microcontro ador 2em mais poderosos c/amados de ADM5 estes so microcontro adores mais a*anados e de m'dio at' grande porte &ue podem sim rodar sistemas operacionais e se comportar como um computador tradiciona 2aseado em microprocessador. 1e e7ones ce u ares como iP/one e 2aseados em Android so c "ssicas ap ica!es do ADM.
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
AP1 Lgica de Programao Ace er?metro5 2Ksso a5 <P.L Comunicao sem 7io: r"dio-7re&uMncia5 in7ra-*erme /o5 E uetoot/5 DN8= A Radio-Frequency IDentificationBL =isp a;s LC=L .ensores de u@5 temperatura5 to&ue5 umidade5 presenaL Motores: =C5 motor de passo e ser*o-motorL Circuitos integrados em gera L Leds e pain'is de edsL =etector de corL Leitor de impresso digita L
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
1.3 O
ue ! Arduino
Arduino 7oi criado na 8t" ia por M"3imo Ean@i com o o2Ceti*o de 7omentar a computao 7)sica5 cuCo conceito ' aumentar as 7ormas de interao 7)sica entre ns e os computadores. Por se tratar de um padro com especi7ica!es i*res de patentes e so7t9ares open-source5 temos *"rios 7a2ricantes independentes de Arduino ao redor do mundo5 inc uindo o Erasi &ue o7erece as marcas: .e*erino5 1atuino5 Mode i3ino e agora o Program-ME da < o2a code. Arduino ' %imple%, &'cil de programar e (arato. Moti*os mais &ue su7icientes para 7a@er uma comunidade crescente no mundo todo.
Caracter"sticas Arduino/Program-ME
t!cnicas
do
Easeado no A1Mega da empresa A>D5 7a2ricante de micro-contro adores em p ena ascenso e concorrente do P8C Pode usar A1Mega ( A(QB5 A1Mega 16( A16QB ou A1Mega $2( A$2QB C ocP 16 MO@ 012 2;tes de EEPD%M 1 seria GAD1 1 inter7ace 82C 2+ mi /!es de instru!es por segundo 1- portas digitais 6 ana gicas 0* com regu ador para tra2a /ar com a imentao e3terna de at' 12*
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
1*
%&ields
%utra interessante caracter)stica do Program-ME / Arduino ' a possi2i idade de e rece2er inKmeros s/ie ds em camadas. ./ie ds so p acas com componentes adicionais &ue podem ser encai3adas em cima do Arduino / Program-ME. A guns tipos de s/ie ds tam2'm permitem &ue outro s/ie d seCa empi /ado5 7ormando di7erentes camadas de componentes. Essa ar&uitetura 7aci ita o acop amento5 reuso e manuteno de s/ie ds espec)7icos &ue podem ser comparti /ados por di7erentes proCetos.
'ipos de Arduino
Ha imagem a seguir podemos *er o Arduino con*enciona &ue tipicamente uti i@a A1Mega 16( ou A1Mega$2(:
E3istem tam2'm di7erentes tipos de Arduino a 'm do con*enciona para atender a proCetos mais espec)7icos: Arduino Mega Arduino +ano
Dispositivo didtico
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
11
Arduino em proto(oard
Como o proCeto e etr?nico do Arduino ' muito %imple%5 ' 7"ci construir um uti i@ando proto2oard5 pape ou corroendo uma p aca de 7ace simp es. >eCa o Arduino em proto2oard: 2 Capacitores e etro )ticos de 1++ microNarads por 20> 2 Leds 1 crista de 16MO@ Apara o c ocPB 1 proto2oard 1 resistor de 1P 1 resistor de $$+D 2 capacitores cerRmicos A22B 1 A1Mega 16( ou $2(
Arduino desen#ol#er*
para
e)ecutar
ou
para
Podemos 7a@er com 2ai3o custo um Arduino em proto2oard com um m)nino de componentes. Mas nesse caso teremos um Arduino su7iciente apenas para e3ecuo de programas. Como podemos o2ser*ar5 no temos nen/um tipo de circuito &ue permita a trans7erMncia de no*os programas para o c/ip A1Mega 16(. Por esse moti*o ' &ue o proCeto origina conta com um circuito &ue permite conectarmos o Arduino *ia G.E no PC - o N12$2-DL5 &ue representa um tipo de ponte de comunicao seria D.-2$2 *ia G.E. >a e em2rar &ue o custo deste circuito G.E AN12$2-DLB pode representar o maior custo do proCetoF
Arduino em papel
S poss)*e tam2'm 7a@er Arduinos em pape 5 ou seCa5 imprimimos em um pape o es&uema do circuito5 co ocamos os componentes por cima e em 2ai3o do pape e so damos a 7iao:
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
1/
Has portas digitais5 podemos ler ou gra.ar * 0 1 ou 1I21 0 ,34. Gm ,E5 em uma porta digital no estado 1I21 ' um ed ace%o L se passarmos o *a or da porta para * ou ,345 o ed ser" apagado. Has portas ana gicas de entrada podemos con*erter um sina ana gico5 dentro da 7ai3a de tra2a /o do Arduino5 para nKmeros entre + e 1+2$ A&uanto maior a amp itude da onda5 maior o *a or o2tidoB. Potenci?metros e sensores de u@ so e3emp os de componentes &ue tipicamente so igados nas portas ana gicas de entrada. % Arduino tam2'm disponi2i i@a portas digitais P4M APulse With ModularizationB &ue simu am um contro e de potMncia em portas digitais. Podemos usar P6M para contro ar a *e ocidade de rotao de um motor ou a intensidade de 2ri /o de um LE=. Cada componente do circuito ' igado em um porta digita con*enciona 5 P6M ou uma porta ana gica. A 'm disso5 o Arduino permite &ue uma porta ana gica 7uncione como digita 5 mas no o contr"rio.
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
13
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
16
Heste
caso
temos
Program-ME con7igurado para rece2er a imentao e3terna. % strap esta igando os pinos 1 e 2.
Para &ue os eds esteCam /a2i itados5 todos os straps precisam estar corretamente co ocados nos Cumpers.
A&ui temos o Program-ME sendo a imentado por G.E com o strap pinos 2 e $. igando os
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
15
de
portas
C>digo
dos
componentes
Componente
Eoto / C/a*e 1 Led 2 *erde Led $ *erde Led - amare o Led 0 amare o Led 6 amare o Led # *erme /o 1ransistor Led ( *erme /o 1ransistor .er*o 1 .er*o 2 .peaPer LEd , *erme /o Led 1 *erde S o mesmo &ue =igita 1Potenci?metro 1 Potenci?metro 2 1ransistor 1ransistor .ensor de Lu@ L=D
C/*1 L2 L$ L- AP6MB L0 L6 AP6MB L# AP6MB W$ L( W.er*o-1 .er*o-2 .P1 L, L1 Led 1 *erde L1 UP6 UP# W2 W0 D16
% Program-ME / Arduino pode acessar as portas ana gicas e trat"- as como digitais usando os nKmeros dos pinos em se&uencia5 ou seCa5 a porta ana gica @ero ser" tratada como digita &uando 7or re7erenciada como pino 1- e assim por diante. Anal>gica * Anal>gica 1 Anal>gica / Anal>gica 3 Anal>gica 6 Anal>gica 5 Pino 1- ou =igita Pino 10 ou =igita Pino 16 ou =igita Pino 1# ou =igita Pino 1( ou =igita Pino 1, ou =igita 110 16 1( 1( 1,
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
16
de
portas
C>digo
dos
componentes
Componente
Conector E uetoot/ Conector E uetoot/ *ot0o 1 2have% 1 Interrup30o & Interrup30o% 1 4ransistor 56 7ed 8 1 )pea9er )ervo% 1 4ransistor 5: )ervo: 1 4ransistor 5; 7ed ; 1 Motor %-< 7ed 6 1 Motor %-* 1ransistor W0 Motor 1 P6M Motor 2 P6M Motor :-< 1 7ed: Motor :-* 1 7ed% Entrada 1 Entrada 2 .ensor 1emperatura .ensor de Lu@ Conector 82C Conector 82C
UP1UP1C/a*e-1 / UP1, UP1( P0 UP- W2 UP0 WP- / V1 P$ / V1 W0 V1 V1 V1 / P2 V1 / P1 UP6 UP# UP16 D16 UP$ UP$
Podemos perce2er &ue nesta *erso da p aca a guns componentes 7oram co ocados em para e o5 Wuando usamos o sistema de contro e de motores L2,$= Acontro e dup o de motoresB os eds sero acionados em para e o e *ice*ersa.
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
1#
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
1$
AP1 Lgica de Programao A 7igura a seguir descre*e as 7un!es principais do Editor Arduino.
erial monitor: usado para er in7ormao do Arduino para o PC :pload: trans7ere o prog. para o Arduino a.e: sa *ar seu proCeto 3pen: a2rir um proCeto +eB: iniciar um no*o proCeto top: parar a compi ao Compile: compi ar o cdigo
=e*emos esco /er no menu Tools Board o mode o correto de microcontro ador &ue estamos uti i@ando. Ho caso do Program-ME ' o Atmega$2( con7orme apresentamos na imagem a2ai3o.
=epois de*emos esco /er a porta seria &ue representa nosso Arduino5 con7orme mostrado a2ai3o.
ProntoF Podemos agora escre*er o cdigo do programa e trans7erir para nosso dispositi*o. Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
1)
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
/*
// Associando o nome L !"1 com a porta di#ital 1$ #define LED_1 14 void setup() { //!e%inindo a porta di#ital 1$ como uma porta de sa&da de dados 'acenderemos o led( pinMode(LED_1, OUTPUT); } void loop() { //)ra*amos 1 na porta di#ital 1$+ acendendo o led *erde di it!l"#ite(LED_1, $%&$); //Comando para a#uardar 1 se#undo '1000 milisse#undos( para a pr,xima instru-.o del!'(1(((); // )ra*amos 0 na porta di#ital 1$+ apa#ando o led *erde di it!l"#ite(LED_1, LO"); //Comando para a#uardar 1 se#undo '1000 milisse#undos( para a pr,xima instru-.o del!'(1(((); }
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
/1
///ro#ram0M
*1
void setup() { //!e%inindo a porta di#ital 1$ como uma porta de sa&da de dados 'acenderemos o led( pinMode(LED_1, OUTPUT); } void loop() { //)ra*amos 1 na porta di#ital 1$+ acendendo o led *erde di it!l"#ite(LED_1, $%&$); //Comando para a#uardar 1 se#undo '1000 milisse#undos( para a pr,xima instru-.o del!'(1(((); // )ra*amos 0 na porta di#ital 1$+ apa#ando o led *erde di it!l"#ite(LED_1, LO"); //Comando para a#uardar 1 se#undo '1000 milisse#undos( para a pr,xima instru-.o del!'(1(((); }
=epois de digitar esse cdigo no editor do Arduino Ano ' necess"rio inc uir os coment"riosB e sa *ar5 c i&ue em compi ar para *eri7icar se tudo 7oi escrito corretamente. Caso o Arduino no aponte nen/um erro no seu cdigo5 c i&ue no 2oto de Gp oad e trans7ira o programa para o Arduino. 5ICAC +Ao < nece%%'rio compilar ante% de &aHer o upload poi% toda% operaEFe% de upload compilam implicitamente %eu c>digo= Por<m, < nece%%'rio %al.ar o %eu proIeto ante% de colocar em eJecuEAo. Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
//
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
/3
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
/6
do
Program-ME
Arduino
no
% Program-ME / Arduino pode en*iar dados para seu computador desde &ue esteCa com o ca2o G.E igado. Por meio de uma ponte para inter7ace seria 5 um programa Arduino pode a2rir uma comunicao seria com o computador e en*iar dados di*ersos. 8sso ' muito importante principa mente para podermos depurar e *eri7icar poss)*eis erros no nosso programa. Para *er os dados en*iados pe a p aca ' necess"rio con7igurar o monitor seria na inter7ace do Arduino. Comunicao.eria // Associamos o nome L!2 3 porta anal,#ica 4 '/ro#ram0M #define LD* + // Associamos o nome L!2 3 porta anal,#ica 4 '/ro#ram0M #define LD* ) int lu2inosid!de; void setup() { //Dnstru-.o para iniciar a comunica-.o serial com o computador 8e#i!l9:e in(51((); } void loop() { //O5temos o *alor da luminosidade *ia sensor da placa lu2inosid!de . !n!lo *e!d(LD*); //Dnstru-.o para en*iar um dado para o computador 8e#i!l9p#intln(lu2inosid!de); del!'(+((); } 1.0( 1.0(
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
/5
AP1 Lgica de Programao ,igaEAo de componente% o&&-(oard Apesar do Program-ME C" inc uir a guns componentes on-2oard5 como eds5 speaPer e transistores5 muitas *e@es &ueremos igar componentes di7erenciados5 como por e3emp o um u trasom para medir distRncia Amuito Kti para ro2?s contro ados pe o Program-ME des*iarem de o2st"cu osB. Ha imagem a seguir5 podemos *er um u tra-som da Para a3 ApingB igado no Program-ME atra*'s de uma proto2oard Ap aca 2ranca com 7urosB. Podemos o2ser*ar trMs 7ios: 1. 2. 3. .ina digita para o Arduino 1erra / gnd 0*
Cada componente &ue igamos no Arduino demanda um es&uema espec)7ico de 7iao5 para isso temos &ue ter em mos o datas/eet do componente &ue pretendemos usar.
Caso *ocM esteCa uti i@ando um componente on-2oard do Program-ME5 como seus eds5 speaPer5 transistor5 no ' necess"rio igar nen/um 7io e nem mesmo usar a proto2oard. Adiciona mente o Program-ME pode rece2er diretamente ser*o-motores5 motores =C5 step-motor unipo ar e potenci?metros sem a necessidade de proto2oards.
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
/6
Program-ME7
LABORATRIO
Ati.idade 1. A2ra o editor Arduino con7orme instru!es e esco /a um dos trMs programas e3emp o para digitar. /. =igite o programa com ateno em re ao Ts etras maiKscu as e minKscu as. 3. C i&ue no 2oto de compi ao para *er se o cdigo est" com a sinta3a correta. 6. P ug seu Program-ME no computador *ia G.E5 7aa a con7igurao da 2oard e da porta de comunicao. =epois c i&ue no 2oto de trans7erMncia do programa para a p aca. 5. Para2'nsF .eu primeiro so7t9are de 2ai3o n)*e escrito com Program-ME / ArduinoF
3@
Anota!es
Cop;rig/t 2++0 < o2a code 1/e =e*e opers Compan;5 todos os direitos reser*ados.
/#