Académique Documents
Professionnel Documents
Culture Documents
RASPBERRY PI E
ARDUINO
Integrao Raspberry Pi e
Arduino
Introduo ao Raspberry Pi e ao Arduino
2
Integrao Raspberry Pi e
Arduino
Introduo ao Raspberry Pi
Introduo ao Arduino
Instalao IDE Arduino
3
O que um Raspberry Pi?
4
O Raspberry Pi 3
Microprocessador
BCM2837 - 1,2GHz
quad-core ARM Hub USB
Cortex-A53
5
O Raspberry Pi 3
Possibilidade de gravar um
software
6
Raspbian PIXEL
O novo sistema operacional PIXEL uma verso lanada pelo Raspbian com
algumas diferenas das verses anteriores:
7
rea de Trabalho PIXEL
8
Aparncia do PIXEL
9
Aparncia do PIXEL
10
Nova aplicao no PIXEL
11
Ligando o Raspberry Pi
Inserindo o carto
micro-SD
12
Conectar rede e ligar o
Raspberry Pi
Conexes Raspberry Pi
Conectar a fonte.
13
Indicativos de funcionamento
14
Configurao PIXEL
OBS: Necessrio estar conectado a
1. Configurar usando a interface grfica: um monitor.
15
Configurao PIXEL
OBS: Necessrio estar conectado a
1. Configurar usando a interface grfica: um monitor.
Na aba Interfaces, selecionar Enabled onde est indicado a opo VNC.
16
Configurao PIXEL
17
Acesso ao Raspberry Pi
Estabelecer conexo
2. Configurar usando acesso SSH. com Raspberry Pi
18
Endereo de IP
Descobrir o IP do
Raspberry Pi Descobrir o endereo de IP do
Link para download do software: Raspberry Pi na rede local
http://www.advanced-ip-scanner.com/ ;
19
Endereo de IP
Descobrir o IP do
Raspberry Pi
20
Endereo de IP
x
Endereo MAC
O endereo de IP est associado conexo naquela rede. Quem define qual endereo de
IP do Raspberry Pi o roteador, que ir dar os endereos a cada dispositivo que conectado
ele. Esse endereo pode mudar at pelo simples fato de desconect-lo e conect-lo novamente
na mesma rede.
0
.1.1
1
68
.168
.1
92
.1
ip: 1
1
MAC:
ip
:1 b8:27:eb:27:07:7d
92
.16
8.
1.
12
21
Endereo de IP
Descobrir o IP do
Raspberry Pi
22
Endereo de IP
Descobrir o IP do
Raspberry Pi
23
Acesso ao Raspberry Pi
2. Configurar usando acesso SSH. Estabelecer conexo
com Raspberry Pi
24
Acesso ao Raspberry Pi
Estabelecer conexo
2. Configurar usando acesso SSH. com Raspberry Pi
25
Acesso ao Raspberry Pi
Pressionar <ENTER>.
26
Acesso ao Raspberry Pi
Login no Raspberry
2. Configurar usando acesso SSH. Pi
Pressionar <ENTER>.
27
Acesso ao Raspberry Pi
Login no Raspberry
2. Configurar usando acesso SSH. Pi
raspberry
Pressionar <ENTER>.
28
Acesso ao Raspberry Pi
29
Configuraes iniciais
30
Configuraes iniciais
31
Configuraes iniciais
32
Configuraes iniciais
33
Configuraes iniciais
34
Configuraes iniciais
35
Configuraes iniciais
36
Acesso remoto ao PIXEL
37
Acesso remoto ao PIXEL
38
Acesso remoto ao PIXEL
39
Acesso remoto ao PIXEL
40
Acesso remoto ao PIXEL
41
Acesso remoto ao PIXEL
42
Acesso remoto ao PIXEL
43
Acesso remoto ao PIXEL
Uma nova conexo apareceu na tela inicial. Clicar duas vezes para iniciar.
44
Acesso remoto ao PIXEL
45
Acesso remoto ao PIXEL
Resoluo padro
A resoluo padro do sistema operacional deve ser ajustada para melhorar a aparncia
da interface grfica.
46
Configuraes iniciais
e pressionar <ENTER>.
47
Configuraes iniciais
Encontrar as linhas:
#framebuffer_width=1280
#framebuffer_height=720
a janela.
48
Configuraes iniciais
Apagar o caracter #:
framebuffer_width=1280
framebuffer_height=720
49
Configuraes iniciais
Pressionar <CTRL> + <O> para salvar, depois <ENTER> para confirmar o nome.
50
Configuraes iniciais
51
Configuraes iniciais
Configurar a resoluo da tela.
52
Configuraes iniciais
53
Acesso remoto ao PIXEL
Esta a janela com a resoluo escolhida (1280 X 720). Pode ser escolhida tambm a
resoluo 1920 x 1080, a escolha varia com a resoluo que melhor se adaptar a tela do
seu computador.
54
Acesso remoto ao PIXEL
55
Transferir arquivos via VNC
56
Transferir arquivos via VNC
57
Transferir arquivos via VNC
58
Transferir arquivos via VNC
59
Transferir arquivos via VNC
60
Transferir arquivos via VNC
61
Extrair arquivos compactados
62
Extrair arquivos compactados
63
Extrair arquivos compactados
64
Extrair arquivos compactados
65
Extrair arquivos compactados
66
Executar arquivo de instalao
da IDE Arduino
Entrar na pasta arduino-1.6.13 e clicar duas vezes no arquivo install.sh.
Na janela de execuo, clicar em Execute.
67
Abrir IDE
68
Integrao Raspberry Pi e
Arduino
Introduo ao Raspberry Pi
Introduo ao Arduino
Instalao IDE Arduino
69
Arduino - Conceito
O que Arduino?
Arduino uma plataforma de hardware livre, projetada com um
microcontrolador Atmel AVR de placa nica, com suporte de entrada/sada embutido e
uma linguagem de programao padro.
O que necessrio para programar o Arduino?
Uma linguagem de programao padro, que essencialmente baseada em C/C++.
O que possvel fazer com Arduino?
AUTOMAO Residencial ou Comercial;
Etc.
70
Alguns Tipos Disponveis
PRO-MINI
UNO
DUEMILANOVE
(descontinuado)
NANO
71
UNO Rev.3 X MEGA
O Arduino UNO Rev.3 possui mais dois pinos SDA e SCL e dois
outros pinos adicionais prximos ao RESET, sendo um o IOREF
que permite aos shields se adaptarem voltagem fornecida pela
placa e um segundo pino que no est conectado. O conversor
RS232 / USB possui um ATMEGA168 substituindo o ATMEGA8.00
72
Arduino Padro
s
i g itai
os D A)
Pin x. 40m
Boto de Reset (m
Microcontrolador
a da
t r
En B
US
Conversor USB
n t r ada
i n o s E ca
P algi
a
o
ta o An
e nt
Alimxterna Al i men
s
E Pino
73
Conexo
Raspberry Pi + Arduino
Conexo USB do Arduino com o Raspberry Pi
74
Conexo
Raspberry Pi + Arduino
Para verificar se o Raspberry Pi reconhece o Arduino conectado, digitar o comando
75
Conexo
Raspberry Pi + Arduino
76
Integrao Raspberry Pi e
Arduino
Introduo ao Raspberry Pi
Introduo ao Arduino
Opes de instalao IDE Arduino
77
Instalar IDE do repositrio
OPO 1
Para instalar a IDE (Interface de Desenvolvimento Integrada) do Arduino, diretamente
do repositrio, deve-se digitar na linha de comando:
sudo apt-get install arduino
80
Baixar IDE do site oficial
OPO 2
Entrar no site www.arduino.cc e acessar a aba Download;
81
Baixar IDE do site oficial
OPO 2
Clicar em Linux ARM (experimental);
82
Baixar IDE do site oficial
OPO 2
Se no desejar fazer nenhuma contribuio aos desenvolvedores clicar no boto JUST
DOWNLOAD;
83
Instalar IDE do site oficial
OPO 2
Para instalar a IDE baixada do site oficial, basta seguir os passos j mostrados para
extrair arquivos compactados e executar o arquivo de instalao.
84
Software de Desenvolvimento
85
Software de Desenvolvimento
Carregar Abrir
86
Ciclo de Desenvolvimento
Compilar Carregar
87
Selecionar porta e placa
Para selecionar a porta COM correspondente que o Arduino est conectado, clicar na
aba Tools > Port;
Escolher a porta que aparece o Arduino;
88
Selecionar porta e placa
Para selecionar o tipo da placa correspondente do Arduino que est sendo utilizado,
clicar na aba Tools > Board: ...;
Escolher a placa do Arduino usado.
89
Programa exemplo
Para abrir um exemplo, clicar na aba File, selecionar Examples > 01.Basics > Blink
90
Programa exemplo
91
Upload programa exemplo
92
Selecionar porta e placa
93
Upload programa exemplo
94
Verificar funcionamento
95
Integrao Raspberry Pi e
Arduino
Oficina 1: Raspberry Pi para Arduino
Hello Arduino!
96
Oficina 1
Hello Arduino
Oficina 1
Materiais:
Raspberry Pi;
Arduino UNO;
Cabo USB.
97
Integrao Raspberry Pi e
Arduino - Oficina 1
Cdigo Arduino
Cdigo Python
98
Oficina 1
Hello Arduino!
1. Digitar o novo cdigo para Arduino; Cdigo Arduino
99
Oficina 1
Hello Arduino!
1. Digitar o novo cdigo para Arduino; Cdigo Arduino
100
Oficina 1
Hello Arduino!
1. Digitar o novo cdigo para Arduino; Cdigo Arduino
101
Oficina 1
Hello Arduino!
1. Digitar o novo cdigo para Arduino; Cdigo Arduino
102
Oficina 1
Hello Arduino!
1. Digitar o novo cdigo para Arduino; Cdigo Arduino
103
Oficina 1
Hello Arduino!
1. Digitar o novo cdigo para Arduino; Cdigo Arduino
104
Oficina 1
Hello Arduino!
1. Digitar o novo cdigo para Arduino; Cdigo Arduino
105
Upload programa Oficina1
Para carregar o programa para o Arduino, clicar no boto Upload. Mas antes deve-se
salvar o programa;
(rea de Trabalho);
Clicar no boto Save;
E aguardar o fim do upload.
106
Integrao Raspberry Pi e
Arduino - Oficina 1
Cdigo Arduino
Cdigo Python
107
Oficina 1
Hello Arduino
Cdigo Python
Recursos computacionais:
108
Oficina 1
Hello Arduino!
2. Abrir o programa Python 2 (IDLE): clicar em menu > Programming > Python 2 (IDLE);
109
Oficina 1
Hello Arduino
110
Oficina 1
Hello Arduino
Identao de
4 espaos
OK
111
Oficina 1
Hello Arduino!
3. Para criar um novo arquivo, clicar em File > New File, ou usar as
teclas de atalho: <CTRL> + <N>;
112
Oficina 1
Hello Arduino!
Cdigo Python
4. Digitar o novo cdigo em Python;
import serial
import time
ser = serial.Serial ('/dev/ttyACM0', 9600)
while( 1 ):
ser.write('A')
print('Mensagem enviada')
time.sleep(1)
113
Oficina 1
Hello Arduino!
Cdigo Python
4. Digitar o novo cdigo em Python;
while( 1 ):
ser.write('A')
print('Mensagem enviada')
time.sleep(1)
114
Oficina 1
Hello Arduino!
Cdigo Python
4. Digitar o novo cdigo em Python;
import serial
import time
ser = serial.Serial ('/dev/ttyACM0', 9600)
Assim como no Arduino, deve ser indicada a
while( 1 ): taxa da comunicao serial. A taxa deve ser a
ser.write('A') mesma utilizada no programa do Arduino
print('Mensagem enviada') aqui no programa em Python para o
Raspberry Pi.
time.sleep(1) Na funo Serial deve-se indicar a porta
COM correspondente ao Arduino e a taxa de
comunicao.
115
Oficina 1
Hello Arduino!
Cdigo Python
4. Digitar o novo cdigo em Python;
import serial
import time
ser = serial.Serial ('/dev/ttyACM0', 9600)
116
Oficina 1
Hello Arduino!
import serial
import time
ser = serial.Serial ('/dev/ttyACM0', 9600)
while( 1 ):
ser.write('A')
print('Mensagem enviada')
time.sleep(1)
117
Oficina 1
Hello Arduino!
Cdigo Python
5. Executar o cdigo: selecionar Run > Run Module, ou pressionar <F5>;
118
Oficina 1
Hello Arduino!
Cdigo Python
6. Ser solicitado que salve o arquivo. Pressionar OK;
119
Oficina 1
Hello Arduino!
Cdigo Python
7. Para facilitar, salvar no Desktop (rea de Trabalho), escolher um
nome e clicar no boto Save;
120
Oficina 1
Hello Arduino!
8. Verificar funcionamento:
121
Integrao Raspberry Pi e
Arduino
Oficina 2a: Leitura analgica
122
Oficina 2a
Leitura analgica
Especificaes:
- Tenso de operao (VSS): 4 a 30V;
- Faixa de operao: -55C at 150C;
123
Oficina 2a
Leitura analgica
Oficina 2a
Objetivo: Fazer o Arduino enviar os dados de leitura analgica para o Raspberry Pi.
Materiais:
Raspberry Pi;
Arduino UNO;
Cabo USB;
Jumpers macho-fmea;
Sensor - LM35.
124
Oficina 2a
Leitura analgica
5V GND
A1
125
Integrao Raspberry Pi e
Arduino - Oficina 2a
Cdigo Arduino
Cdigo Python
126
Oficina 2a
Leitura analgica
2. Digitar o novo cdigo para Arduino; Cdigo Arduino
127
Oficina 2a
Leitura analgica
2. Digitar o novo cdigo para Arduino; Cdigo Arduino
128
Oficina 2a
Leitura analgica
2. Digitar o novo cdigo para Arduino; Cdigo Arduino
129
Oficina 2a
Leitura analgica
2. Digitar o novo cdigo para Arduino; Cdigo Arduino
130
Oficina 2a
Leitura analgica
2. Digitar o novo cdigo para Arduino; Cdigo Arduino
131
Upload programa Oficina2a
Para carregar o programa para o Arduino, clicar no boto Upload. Mas antes deve-se
salvar o programa;
(rea de Trabalho);
Clicar no boto Save;
E aguardar o fim do upload.
132
Integrao Raspberry Pi e
Arduino - Oficina 2a
Cdigo Arduino
Cdigo Python
133
Oficina 2a
Leitura analgica
Cdigo Python
Objetivo: Requisitar valores de temperatura do Arduino com uma frequncia
determinada, usando a linguagem de programao Python.
Recursos computacionais:
Funo write:
Mdulo time:
Enviar uma mensagem ao Arduino.
Adicionar atrasos ao cdigo.
Funo float():
Mdulo serial:
Transformar valor lido pela serial
Comunicao serial.
em real.
Estrutura de repetio while:
Funo print:
Rodar cdigo infinitamente.
Imprimir algo na tela do Python
Funo readline:
Shell.
Ler os bytes de uma mensagem at o
Funo len():
fim da linha.
Verificar tamanho da mensagem.
134
Oficina 2a
Leitura analgica
Cdigo Python
3. Digitar o novo cdigo em Python;
135
Oficina 2a
Leitura analgica
Cdigo Python
3. Digitar o novo cdigo em Python;
136
Oficina 2a
Leitura analgica
Cdigo Python
3. Digitar o novo cdigo em Python;
A varivel temperatura ir armazenar o
valor recebido pela porta Serial
A funo ser.readline( ) ir ler a mensagem
do Arduino at acabar a linha, ou seja, at o
\n, do tipo String. O Arduino ir enviar a
mensagem usando a funo println, que j
adiciona o \n ao final da mensagem
137
Oficina 2a
Leitura analgica
Cdigo Python
3. Digitar o novo cdigo em Python;
138
Oficina 2a
Leitura analgica
Cdigo Python
3. Digitar o novo cdigo em Python;
139
Oficina 2a
Leitura analgica
140
Oficina 2a
Leitura analgica
Cdigo Python
4. Executar o cdigo: selecionar Run > Run Module, ou pressionar <F5>;
141
Oficina 2a
Leitura analgica
Cdigo Python
5. Ser solicitado que salve o arquivo. Pressionar OK;
142
Oficina 2a
Leitura analgica
Cdigo Python
6. Para facilitar, salvar no Desktop (rea de Trabalho), escolher um
nome e clicar no boto Save.
143
Oficina 2a
Leitura analgica
7. Verificar funcionamento, colocando os dedos no sensor para que possam ser vistas
mudanas na temperatura:
144
Integrao Raspberry Pi e
Arduino
Oficina 2b: Leitura analgica e resposta com rel
145
Oficina 2b
Leitura analgica
Oficina 2b
Objetivo: Fazer o Arduino enviar os dados de leitura analgica para o Raspberry Pi,
que ir decidir se o Arduino acionar um aparelho, usando o mdulo rel, para
resfriar o sensor.
Materiais:
Raspberry Pi;
Arduino UNO;
Cabo USB;
Jumpers macho-fmea;
Mdulo Rel;
Sensor - LM35.
146
Oficina 2b
Leitura analgica
5V GND
A1
147
Integrao Raspberry Pi e
Arduino - Oficina 2b
Cdigo Arduino
Cdigo Python
148
Oficina 2b
Leitura analgica
2. Digitar o novo cdigo para Arduino; Cdigo Arduino
149
Oficina 2b
Leitura analgica
2. Digitar o novo cdigo para Arduino; Cdigo Arduino
150
Oficina 2b
Leitura analgica
2. Digitar o novo cdigo para Arduino; Cdigo Arduino
151
Oficina 2b
Leitura analgica
2. Digitar o novo cdigo para Arduino; Cdigo Arduino
152
Oficina 2b
Leitura analgica
2. Digitar o novo cdigo para Arduino; Cdigo Arduino
153
Upload programa Oficina2b
Para carregar o programa para o Arduino, clicar no boto Upload. Mas antes deve-se
salvar o programa;
(rea de Trabalho);
Clicar no boto Save;
E aguardar o fim do upload.
154
Integrao Raspberry Pi e
Arduino - Oficina 2b
Cdigo Arduino
Cdigo Python
155
Oficina 2b
Leitura analgica
Cdigo Python
Objetivo: Requisitar valores de temperatura do Arduino com uma frequncia
determinada, que decidir se acionar um mdulo rel. Neste exemplo a temperatura de
acionamento do mdulo rel foi ajustada em 30C, podendo ser alterada no programa.
Recursos computacionais:
Funo write:
Mdulo time: Enviar uma mensagem ao Arduino.
Adicionar atrasos ao cdigo. Funo float():
Mdulo serial: Transformar valor lido pela serial
Comunicao serial. em real.
Estrutura de repetio while: Funo print:
Rodar cdigo infinitamente. Imprimir algo na tela do Python
Funo readline: Shell.
L os bytes de uma mensagem at Funo len():
fim da linha. Verificar tamanho da mensagem.
156
Oficina 2b
Leitura analgica
Cdigo Python
3. Digitar o novo cdigo em Python;
157
Oficina 2b
Leitura analgica
Cdigo Python
3. Digitar o novo cdigo em Python;
158
Oficina 2b
Leitura analgica
Cdigo Python
4. Executar o cdigo: selecionar Run > Run Module, ou pressionar <F5>;
159
Oficina 2b
Leitura analgica
Cdigo Python
5. Ser solicitado que salve o arquivo. Pressionar OK;
160
Oficina 2b
Leitura analgica
Cdigo Python
6. Para facilitar, salvar no Desktop (rea de Trabalho), escolher um
nome e clicar no boto Save.
161
Oficina 2a
Leitura analgica
7. Verificar funcionamento, colocando os dedos no sensor para que possam ser vistas
mudanas na temperatura:
162
Integrao Raspberry Pi e
Arduino
Oficina Bnus: Enviar e-mail de alerta da temperatura pelo GMAIL
163
Oficina Bnus
164
Oficina Bnus
165
Oficina Bnus
Buscar Servidor SMTP e porta para STARTTLS
Abrir aba Encaminhamento e POP/IMAP e clicar no link de Instrues de
configurao de outros aplicativos;
166
Oficina Bnus
167
Integrao Raspberry Pi e
Arduino - Oficina Bnus
Cdigo Python
168
Oficina Bnus
Alerta de temperatura
Cdigo Python
Objetivo: Enviar por e-mail quando a temperatura for superior a um limiar, usando a
linguagem de programao Python.
Recursos computacionais:
Mdulo time:
Adicionar atrasos ao cdigo.
Mdulo serial:
Comunicao serial.
Mdulo smtplib:
Contm funes SMTP para enviar e-mails.
169
Oficina Bnus
Alerta de temperatura
import serial Cdigo Python
import time
import smtplib
def envia_email ( ) :
server = smtplib.SMTP ( 'smtp.gmail.com' , 587 )
server.starttls ( )
server.login ('cursos4flyers@gmail.com' , 'cursoiot3' )
while (1):
ser.write ('A')
time.sleep(1)
temperatura = float ( ser.readline ( ) )
print (temperatura)
if (temperatura > 30.0):
envia_email ( )
170
Oficina Bnus
Alerta de temperatura
import serial Cdigo Python
import time
import smtplib Importao da biblioteca smtplib
ser = serial.Serial ( '/dev/ttyACM0' , 9600)
def envia_email ( ) :
server = smtplib.SMTP ( 'smtp.gmail.com' , 587 )
server.starttls ( )
server.login ('cursos4flyers@gmail.com' , 'cursoiot3' ) Funo que envia
e-mail
msg = "Alerta! Temperatura muito alta!"
server.sendmail ('cursos4flyers@gmail.com' , 'contato4flyers@gmail.com', msg )
server.quit ( )
while (1):
ser.write ('A')
time.sleep(1)
temperatura = float ( ser.readline ( ) )
print (temperatura)
if (temperatura > 30.0):
envia_email ( ) Chamada da funo
que envia e-mail
171
Oficina Bnus
Alerta de temperatura
import serial Cdigo Python
import time
import smtplib
while (1):
ser.write ('A')
time.sleep(1)
temperatura = float ( ser.readline ( ) )
print (temperatura)
if (temperatura > 30.0):
envia_email ( )
172
Oficina Bnus
Alerta de temperatura
import serial Cdigo Python
import time
import smtplib
def envia_email ( ) :
server = smtplib.SMTP ( 'smtp.gmail.com' , 587 )
server.starttls ( )
Funo STARTTLS para comear o
server.login ('cursos4flyers@gmail.com' , 'cursoiot3' ) protocolo TLS usado nesse caso
while (1):
ser.write ('A')
time.sleep(1)
temperatura = float ( ser.readline ( ) )
print (temperatura)
if (temperatura > 30.0):
envia_email ( )
173
Oficina Bnus
Alerta de temperatura
import serial Cdigo Python
import time
import smtplib
def envia_email ( ) :
server = smtplib.SMTP ( 'smtp.gmail.com' , 587 ) login com o endereo de e-mail e senha.
server.starttls ( ) Para o curso, pode-se usar o endereo:
server.login ('cursos4flyers@gmail.com' , 'cursoiot3' ) cursos4flyers@gmail.com e senha:
cursoiot3
msg = "Alerta! Temperatura muito alta!"
server.sendmail ('cursos4flyers@gmail.com' , 'contato4flyers@gmail.com', msg )
server.quit ( )
while (1):
ser.write ('A')
time.sleep(1)
temperatura = float ( ser.readline ( ) )
print (temperatura)
if (temperatura > 30.0):
envia_email ( )
174
Oficina Bnus
Alerta de temperatura
import serial Cdigo Python
import time
import smtplib
def envia_email ( ) :
server = smtplib.SMTP ( 'smtp.gmail.com' , 587 )
server.starttls ( )
server.login ('cursos4flyers@gmail.com' , 'cursoiot3' )
msg uma varivel que armazena a
msg = "Alerta! Temperatura muito alta!" mensagem que deseja enviar no corpo do
server.sendmail ('cursos4flyers@gmail.com' , 'contato4flyers@gmail.com', msg ) e-mail
server.quit ( )
while (1):
ser.write ('A')
time.sleep(1)
temperatura = float ( ser.readline ( ) )
print (temperatura)
if (temperatura > 30.0):
envia_email ( )
175
Oficina Bnus
Alerta de temperatura
import serial Cdigo Python
import time
import smtplib
def envia_email ( ) :
server = smtplib.SMTP ( 'smtp.gmail.com' , 587 )
server.starttls ( )
server.login ('cursos4flyers@gmail.com' , 'cursoiot3' )
176
Oficina Bnus
Alerta de temperatura
import serial Cdigo Python
import time
import smtplib
def envia_email ( ) :
server = smtplib.SMTP ( 'smtp.gmail.com' , 587 )
server.starttls ( )
server.login ('cursos4flyers@gmail.com' , 'cursoiot3' )
177
Dvidas?
178
Contatos
contato4flyers@gmail.com
www.4flyers.com.br
contato@huinfinito.com.br
www.huinfinito.com.br
179
Links recomendados
www.instructables.com
www.raspberrypi.org
www.arduino.cc
www.fritzing.org
180
Bibliografia
Primeiros passos com o Raspberry Pi - Matt Richardson e Shawn
Wallace
Arduino Bsico - Michael McRoberts
181