Arduino e Raspberry Pi
Agenda
O que é o arduino? – – – –
O que é o Netduino? –
Instalação Projetos Internet das coisas... Robótica Projetos
Raspberry Pi – –
Instalação e configuração esen!ol!i"ento de jogos
O que é o Arduino? Arduino?
#rduino é u"a platafor"a aberta e li!re que si"plifica si"plifica a prototipação de dispositi!os eletr$nicos capa%es de "edir aspectos f&sicos 'sensores() reali%ar aç*es 'atuadores( ou se co"unicar co" outros dispositi!os. Platafor"a do #rduino – – –
Placa +inguage" de Progra"ação Platafor"a de esen!ol!i"ento
Criadores
Ideali%ador, -assi"o an%i /001 Interaction esign Institute I!rea 2 -ilano
O que é o Arduino?
#berto) +i!re e e6pans&!el –
+inguage" de Progra"ação ●
:ard;are –
7i"ilar ao 38399) per"ite construção de bibliotecas e" 399
-icrocontrolador #t"el #5-<4#
=arato> 3rossPlatafor" #"biente si"ples de progra"ação ATmega 328
-e"ória @lasA, B/ Cb 3PD, Ebit #FR <
O que é o Arduino?
ual a diferença de u" -icrocontrolador para u" -icroprocessador?
-icrocontrolador #5-<4# B/E
O que é o Arduino? Arduino? Attp,88arduino.cc
Attp,88blog.arduino.cc
O que é o Arduino? Arduino?
Palestra -assi"o an%i no 5<
http://!youtube!"om/at"h?#$%o&%'OOd(')
*ode+os de Arduinos
#rduino DNO
#rduino +eonardo +eonardo
#rduino +ilyPad
#rduino -iniPro
#rduino -<4# Netduino
*ode+os de Arduinos
#rduino D<
#rduino <7P+OR#
,nsta+a-.o
+inu6 –
sudo aptget install arduino
,nsta+a-.o
Jindo;s –
–
K necessLrio instalar o dri!er para a interface @5I D7 que per"ite a co"unicação direta entre o co"putador e o arduino. Jindo;s M não Hbits ●
–
Jindo;s M Hbits ●
●
O dri!er encontrase na pasta dri!er da I< de progra"ação do arduino K necessLrio fa%er o do;nload da ulti"a !ersão do dri!er. Attp,88;;;.ftdicAip.co"8ri!ers8F3P.At"
Passos – – –
3onectar o arduino ao co"putador utili%ando o cabo D7. #guarde o siste"a operacional encontrar o no!o Aard;are. #pontar o ca"inAo onde o dri!er foi bai6ado.
,nsta+a-.o
3onfiguração do 7oft;are #rduino –
Jindo;s ●
●
#cessar o gerenciador de dispositi!os) !erifique e" que porta 3O- o dri!er @5I foi instalado. Infor"ar no 7oft;are #rduino a !ersão do seu #rduino e a porta de co"unicação.
,nsta+a-.o
3onfiguração do 7oft;are #rduino –
+inu6 ●
●
3o"ando para listar os disposit!os D7, lsusb 3o"ando para encontrar a porta de co"unicação no linu6, ls 8de!8ttyD7
Arquitetura do Arduino Porta %&: para
ali"entação de energia e co"unicação co" o co"putador. 01terna+ C: ali"entação de energia e6terna) so"ente necessLrio quando o ca"po D7 não esta conectado Reset it"h: reinicia o "icrocontrolado Poer (0: indica que o #rduino esta e" funciona"ento. eria+ (0: indica" a troca de infor"aç*es entre o co"putador e o #rduino ou ati!idade das portas digitais 0 'R( e G '5(. Pin 3 (0: indica ati!idade na porta digital GB.
%m pou"o de e+etr4ni"a
+igAt <"itting iode '+<( Cor
Tens.o
Corrente
Infra!er"elAo Fer"elAo
Q G.! G.B! S /.0B!
/0"# /0"#
#"arelo
/.G0! S /.GE!
/0"#
Ferde #%ul ranco
G.! S H.0! /)HE! S B.M B.1!
/0"# /0"# /0"# (0s: -.o Po+ari5ados6 se !ocT in!erter o 3atodo e o #nodo ele
não funciona. -D" dos ter"inais se"pre te" o ta"anAo "aior indicando que é o catodo. - #dora" corrente) quanto "ais !oce passar para ele) "ais ele irL tentar absor!er até que ele superaqueça e quei"e.
Primeira pis"ada
Pri"eiro teste, linU – –
Primeira pis"ada
Pri"eiro teste, linU
3atodo '4rd( #nodo'PINGB(
Primeira pis"ada
Pri"eiro teste, linU – – –
Reali%ar a "ontage" do esque"a elétrico 3onectar o arduino na porta D7 3arregar o progra"a para o #rduino
Arquitetura do Arduino Porta
09TRAA: "ede se e6iste ou não u"a corrente. A,A: pro!e ou retira corrente ,CA: empre uti+i5e resistores nas portas digitais dierentes de 3
igitais
e
Ana+7gi"as:
utili%adas para a cone6ão de co"ponentes eletr$nicos que serão controlados pelo "icrocontrolador. Portas igitais a 3: por trabalAar no siste"a digital elas suporta" os !alores :I4: 'G( e +OJ '0( que representa" ligado e desligado. 3ada porta pro!eu"a corrente de 1!) e6ceto a porta GB que jL possui u" resistor e u" +< conectado de for"a serial) redu%indo a tensão para G.M!.
Arquitetura do Arduino
Porta igitais uti+i5adas para sa;da: -
No bloco de 7<5DP do progra"a arduino utili%ar o co"ando pin*ode<=numPorta>6
O%TP%T@
No bloco de +OOP utili%ar o co"ando digita+rite<=numPorta>6=(O/B,B>@ para Aabilitar ou desabilitar o sinal na porta. -
Arquitetura do Arduino
Porta igitais uti+i5adas para 0ntrada: -
No bloco de 7<5DP do progra"a arduino utili%ar o co"ando pin*ode<=numPorta>6
,9P%T@
No bloco de +OOP utili%ar o co"ando digita+Read<=numPorta>@ !erificar o status da porta igual a +OJ ou :I4:. -
Primeira pis"ada pe+a ,nternet
PassoG
Primeira pis"ada pe+a ,nternet
Passo/ –
PytAon ●
Instalar os "ódulos – – –
7erial 5;itter OautA/
Primeira pis"ada pe+a ,nternet
Passo B –
5;itter ●
●
K nécessLrio acessar Attps,88de!.t;itter.co" 3riar u" aplicati!o para obter as cAa!es de acesso
Primeira pis"ada pe+a ,nternet
Passo B –
5;itter ●
3Aa!es de acesso
AP, Titter: suporta
B10 consultas por Aora
Primeira pis"ada pe+a ,nternet
Passo H –
3ódigo PytAon
import serial import twitter import time ser = serial.Serial(port = 'COM23', baudrate=9600, timeout = None !Cone"ao sem autenti#a$ao api = twitter.%pi( api = twitter.%pi(#onsumer&e='%%%',#onsumer&se#ret=')))', a##ess&toen&e='CCC', a##ess&toen&se#ret='***' w+ile rue pass messae = api./etserimeline(1walter#oan104 i5 messae.te"t.5ind(1arduino1 == 7messae = api./etMentions(04 print 1Mension 888 1 elseprint 1Messae 888 1 i5 messae.te"t.5ind(1arduino1 = 7i5 messae.te"t.5ind(1on1 = 7- ser.write('l'.en#ode('as#ii' i5 messae.te"t.5ind(1o551 = 7- ser.write('d'.en#ode('as#ii' print messae.te"t print 1Sleep...:n1 time.sleep(;
,nternet das "oisas https://"osm!"om/
Pub+i"ar a temperatura na ,nternet
Passo G –
5ransistor +-B1 'sensor de te"peratura linear( #onst int in
> analo pin ?oid setup( @ Serial.bein(9600 A ?oid loop( @ int ?alue = analoBead(in 702.0 D ;000 5loat #elsius = milli?olts > 70 >> sensor output is 70mE per deree Celsius int rate = map(#elsius,20,30,0,2;; dela(;00 >> wait 5or one se#ond Serial.println(#elsius dela(;00 >> wait 5or one se#ond A
Pub+i"ar a temperatura na ,nternet
Passo / –
3onfigurar u"a cAa!e de acesso no 3O7-
Pub+i"ar a temperatura na ,nternet
Passo B –
@onte de dados
Pub+i"ar a temperatura na ,nternet
Passo B –
@onte de dados ●
I"portante anotar o I do @eed
Pub+i"ar a temperatura na ,nternet
Passo H –
Progra"a PytAon ●
ibliotecas, t63os") %ope.interface) pyOpen77+
5rom twisted.internet import de5er, rea#tor import t"#osm 5rom t"#osm.F>www.eeml.or>"sd>0.;.71 "mlns-"si=1+ttp->>www.w3.or>2007>MPS#+emainstan#e1 ?ersion=10.;.71 "si-s#+emaPo#ation=1+ttp->>www.eeml.or>"sd>0.;.7 +ttp->>www.eeml.or>"sd>0.;.7>0.;.7."sd18
3ontinua...
Pub+i"ar a temperatura na ,nternet
Passo H –
Progra"a PytAon ●
ibliotecas, t63os") %ope.interface) pyOpen77+
Len?ironment8 Ltitle8%rduinoempL>title8 Lstatus8li?eL>status8 Ldes#ription8emperatura da salaL>des#ription8 Lta8arduinoL>ta8 Lta8emperaturaL>ta8 Ldata id=1temp18 L#urrent&?alue8no?atemperaturaL>#urrent&?alue8 Lma"&?alue8;0.0L>ma"&?alue8 Lmin&?alue830L>min&?alue8 L>data8 L>en?ironment8 L>eeml8111
de5 demo(#lient = F
7ó "ais u"...
Pub+i"ar a temperatura na ,nternet
Passo H –
Progra"a PytAon ●
ibliotecas, t63os") %ope.interface) pyOpen77+
i5 resultprint 1Keed updated1 elseprint 1Irror updatin 5eed1 rea#tor.#allPater(70, demo de5er.returnEalue(rue
rea#tor.#allQ+enBunnin(demo rea#tor.run(
Arquitetura do Arduino Porta Ana+7gi"as: utili%adas
para conectar sensores) possibilitando a con!ersão do sinal #nalógico do co"ponente sensor para !alores igitais '0G0/B(.
Porta nd: #s portas 4RODN são utili%adas para co"pletar os circuitos
constru&dos pro!endo o aterra"ento.
Rob7ti"a
Rob7ti"a
7ensores ●
7ensor de 3or
5e" por objeti!o "edir grande%as f&sicas que são transfor"adas e" sinais elétricos.
7ensor de +u"inosidade
7ensor de presença de 4Ls
Rob7ti"a
#tuadores ●
-otor 3
5e" por objeti!o "odificar o estado de algo) transfor"ando sinais elétricos e" u"a grande%a f&sica.
-otor de passo
7er!o -otor
Cone"tando motores C ao Arduino Componentes, #rduino 5ransistor 3 1HE Resistor GC oA"s -otor 3 B! uas pilAas ## 'G)1!(
>>CRdio Konte (Kadinint led> nao 5a nada A ?oid loop( @ 5or(int 5adeEalue = 0 5adeEalue L= 2;; 5adeEalue T=; @ analoQrite(led
Cone"tando motores C ao Arduino
Ponte : +/B 8 +/B
Cone"tando motores C ao Arduino
Ponte : +/B 8 +/B –
4ilberto 7antos 2 BW ano de 7iste"as de Infor"ação da DNIFI++<
hie+ds
4P7 7Aield
-otor 7Aield
ee 7Aield
4a"e 7Aield
hie+ds
JI@I
-otor
Rob7ti"a >>+ttp->>www.ladada.net>mae>ms+ield>use.+tml !in#lude L%KMotor.+8 int sensor
ProDetos "om o Arduino
Start A Group of Apps
Netduino
9etduino
.N<5 -icro @ra"e;orU '#pacAe +icense /.0( – – –
/00 ispositi!os co" /1Cytes flasA e HCytes R#Netduino ●
●
●
3riado pela 7ecret +abs B/ bits -icrocontroller ;;;.netduino.co"
9etduino
9etduino
AbaDur R&
ProDetos "om o 9etduino
Raspberry Pi
Raspberry Pi
3riado por Prof.
Platafor"a de :ard;are e 7oft;are abertos para ensinar crianças do reino unido a progra"ar.
Raspberry Pi @oundation 2 /0G/ –
-ais de G -I+:XO de unidades !endidas ●
●
–
-odel # Y/1 -odel YB1
rasil ●
●
Attp,88;;;.farnellne;arU.co".br RY GM0)10 9 @rete
Raspberry Pi
Raspberry Pi
#cessórios obrigatórios – –
– –
3artão de "e"ória 7 'E giga( @onte de ali"entação D7 '5ensão, 1! 2 3orrente E00 a G000 "#( 5eclado e -ouse 3abo :-I 8 R3#
-ais infor"aç*es –
Attp,88;;;.raspberrypi.org8
Raspberry Pi
Instalação –
Passo G 2 o;nload do 7iste"a Operacional
Raspberry Pi
Instalação –
Passo / 2 4ra!ar a i"age" do 7iste"a Operacional no cartão 7 ●
JinB/ isUI"ager –
Attp,88sourceforge.net8projects8;inB/disUi"ager8
Raspberry Pi
Instalação –
Passo B 2 piconfig ●
#plicati!o de configuração do Raspberry Pi –
<6ecutado auto"atica"ente na pri"eira iniciali%ação ou pode ser cAa"ado pelo console
"rat"h e as P,O
Pi Ea"es
Interface para si"plificar e proteger as 4PIO do Raspberry Pi – – –
Portas digitais e analógicas ois Reles +eds e Pin uttons
P+ataorma aberta e +i#re
Py4a"es –
#PI para desen!ol!i"ento de jogos
P+ataorma aberta e +i#re
P+ataorma aberta e +i#re
Foinuino
Attp,88;;;.facebooU.co"8groups8BEB/H0MEBM0H1B8