Escolar Documentos
Profissional Documentos
Cultura Documentos
03 Arduinocompleto 111213115523 Phpapp01
03 Arduinocompleto 111213115523 Phpapp01
2
Pr-requisitos
3
Contedo
computao fsica
conceitos bsicos de eletricidade e eletrnica
plataforma arduino
sensores e atuadores analgicos e digitais
bibliotecas do arduino
servo library
nunchuk library
capsense library
atuadores sonoros
GLCD library (LCD)
4
computao fsica
computao fsica
utilizao de microcontroladores
6
computao fsica
7
computao fsica
como vemos os
computadores?
8
computao fsica
como vemos os computadores?
teclado
mouse
monitor
CPU
caixas de som
9
computao fsica
como os
computadores
nos veem?
10
computao fsica
como os computadores nos veem?
dedos
[teclado/mouse]
olho
[monitor]
duas orelhas
[caixas de som]
12
computao fsica
...atravs de elementos
fsicos de interao mais
adequados s interfaces
humanas
13
Perguntas
14
mas antes da
computao...
15
conceitos bsicos de eletricidade
eletricidade
partculas atmicas:
17
eletricidade
eltron extra
buraco
18
eletricidade
S N
20
eletricidade diferena de potencial (v)
cargas positivas
diferena de potencial V
ou tenso.
cargas negativas
21
eletricidade corrente eltrica (i)
22
eletricidade tipos de corrente eltrica
corrente contnua
corrente alternada
23
eletricidade tipos de corrente eltrica
24
eletricidade resistncia eltrica (r)
V=RxI
V
R = V/I
R I I = V/R
26
eletricidade circuito eltrico
carga
[consumidor]
+
R
gerador V
[fonte]
condutor i
[caminho]
27
eletricidade circuito eltrico
carga
[consumidor]
i
condutor R
[caminho] V
28
e agora,
computao...
29
plataforma Arduino
plataforma arduino
microcontrolador Atmel
31
plataforma arduino - hardware
lilypad
mini
boarduino Duemilanove
paperduino mega
pro
32
arduino mega hardware
33
arduino mega hardware (Atmega 1280)
portas
54 entradas/sadas digitais
16 entradas analgicas
memria
RAM: 8K
Flash (programa): 128k 4k (bootloader)
34
entradas e sadas digitais
35
entradas analgicas
36
sadas analgicas
37
portas seriais
4 portas seriais
38
plataforma arduino - instalao
driver
windows: FTDI Serial USB
linux: no precisa instalar nada :-)
software
s descompactar e executar
39
plataforma arduino - instalao
40
plataforma arduino ambiente
compilar
exibir serial
(verif. programa)
rea de cdigo
parar execuo
novo
abrir
salvar
enviar programa
para placa rea de status
41
plataforma arduino estrutura do sketch
42
plataforma arduino linguagem
comandos bsicos
43
plataforma arduino linguagem
Exemplos
pinMode(num_do_pino, OUTPUT);
digitalWrite(num_do_pino, valor);
valor LOW ou HIGH (0 ou 1, 0V ou 5V)
delay(milisegundos);
44
plataforma arduino linguagem
constantes
LOW | HIGH indica nvel baixo (0V) e alto (5V) nos pinos
45
atividade
prtica!
46
prtica
47
plataforma arduino hello arduino
48
Perguntas
49
plataforma arduino linguagem
comandos bsicos
analogWrite(num_pino, valor);
valor entre 0 e 255
50
eletrnica modulao PWM
51
mais prtica!
52
eletrnica protoboard
antes disso:
Protoboard
53
eletrnica protoboard
jumpers
54
antes disso
mais um pouco
de eletrnica...
55
eletrnica resistores
fixo
varivel
tipos:
carvo [carbono]
filme
fio
56
eletrnica resistores
57
agora sim,
prtica!
58
prtica
59
prtica
circuito
60
prtica
esquemtico
61
prtica
protoboard
Figura retirada de
http://www.multilogica-shop.com/Aprendendo/Exemplos/Fading
62
Perguntas
63
sensores
sensores chave (switch/button)
esquemtico
65
plataforma arduino linguagem
Comandos
digitalRead() le um pino de entrada
Exemplo:
int chave = 0;
chave = digitalRead(num_do_pino);
66
sensores
arduino l tenses de
entrada (e no valores 0 e 1)
sem conexo em um
pino, a entrada flutua
entre 0 e 5 volts
(HIGH e LOW) este resistor necessrio para
que o pino seja levado para 0
quando no estiver conectado
(chave aberta)
67
atividade
prtica!
68
sensores - prtica
69
sensores - prtica
esquemtico
70
sensores - prtica
protoboard
71
sensores - prtica
72
voltando
eletrnica...
73
eletrnica sinais analgicos e digitais
sinal com
variao
contnua no
tempo
74
eletrnica converso de sinais
75
eletrnica converso de sinais
76
eletrnica converso de sinais
77
eletrnica - resistores
79
sensores analgicos prtica
80
sensores analgicos prtica
esquemtico
81
sensores analgicos prtica
circuito
82
entrada analgica prtica
83
Perguntas
84
protocolos de comunicao
comunicao serial RS232
86
comunicao serial RS232
Serial.begin();
Serial.print();
Serial.read();
87
comunicao serial RS232
Leds
TX: dados enviados
para o PC
RX: dados
recebidos do PC
88
atividade
prtica!
89
comunicao serial - prtica
90
comunicao serial - prtica
91
eletrnica resistores LDR
92
eletrnica resistores LDR
93
atividade
prtica!
94
comunicao serial - prtica
95
perguntas?
96
interrupes do arduino mega
interrupes
98
interrupes
Interrupo 0 pino 2
Interrupo 1 pino 3
Interrupo 2 pino 21
Interrupo 3 pino 20
Interrupo 4 pino 19
Interrupo 5 pino 18
99
interrupes
exemplo:
attachInterrupt(num, function, mode);
Mode: LOW, CHANGE, RISING, FALLING
void changeState() {
state = !state;
}
100
atividade
prtica!
101
prtica
102
perguntas?
103
bibliotecas do arduino
bibliotecas do arduino
possvel estender a
plataforma Arduino com
adio de componentes
de cdigo, para controlar
sensores e atuadores
especficos.
estes componentes so
chamados de bibliotecas
(libraries)
105
bibliotecas do arduino
as bibliotecas so
geralmente disponibilizadas
como um zip que deve ser
descompactado dentro da
pasta libraries do Arduino.
106
bibliotecas do arduino
107
servo library
biblioteca servo
109
biblioteca servo
110
biblioteca servo
112
biblioteca servo
113
atividade
prtica!
114
biblioteca servo - prtica
Fazer um programa
que movimente o
servo de acordo com
o valor lido do
potencimetro.
115
perguntas?
116
nunchuck library
biblioteca nunchuck
118
biblioteca nunchuck
o nunchuck possui um
acelermetro de 3 eixos, um
joystick analgico de 2 eixos e 2
botes.
119
biblioteca nunchuck
Fio Vermelho:
3.3V
Fio Preto: GND
Fio Amarelo(SDA): Pino 20
Fio Azul(SCL): Pino 21
Nunchuck nunchuck;
120
biblioteca nunchuck
121
biblioteca nunchuck
122
biblioteca nunchuck
123
biblioteca nunchuck
124
atividade
prtica!
125
biblioteca nunchuck - prtica
126
atividade
prtica!
127
biblioteca nunchuck - prtica
128
perguntas?
129
capsense library
biblioteca capacitive sense
131
biblioteca capacitive sense
circuito
132
biblioteca capacitive sense
btn1.capSense(numSamples);
// retorna a capacitncia mdia, de acordo com a
// quantidade de amostras.
// esta capacitncia possui um valor baixo se
// no houver toque e um valor alto ao toque.
133
biblioteca capacitive sense
set_CS_Timeout_Millis(timeout_millis);
// define o valor de timeout para o sensor
// caso o mesmo no consiga ler o valor correto
set_CS_AutocaL_Millis(autoCal_millis);
// define o tempo de auto calibragem do sensor
134
atividade
prtica!
135
biblioteca capacitive sense - prtica
acender leds ou
movimentar motores
de acordo com o
sensor capacitivo
136
perguntas?
137
atuadores sonoros
atuadores sonoros
auto falantes
bobina em volta de um
im
corrente eltrica na
bobina produz campo
magntico
campo magntico
varivel faz a
membrana se deslocar,
produzindo som
139
atuadores sonoros
140
atuadores sonoros
1 segundo
o tempo de cada
variao HIGH e LOW
perodo
chamada de perodo e
o inverso da frequncia
141
atuadores sonoros
142
atuadores sonoros
143
atuadores sonoros
notes.h
#define NOTE_B0 31
#define NOTE_C1 33
#define NOTE_CS1 35
#define NOTE_D1 37
#define NOTE_DS1 39
#define NOTE_E1 41
#define NOTE_F1 44
#define NOTE_FS1 46
#define NOTE_G1 49
#define NOTE_GS1 52
...
144
funo tone
tone(pin, frequency);
// emite uma determinada nota (representada pela
// frequncia) no pino ocrrespondente
noTone(pin);
// para de emitir a frequncia definida por tone()
// no pino correspondente
145
atividade
prtica!
146
atuadores sonoros - prtica
147
perguntas?
148
IR Remote library
biblioteca IR Remote
150
biblioteca IR Remote
151
biblioteca IR Remote
152
biblioteca IR Remote
no possvel verificar se
o LED infravermelho est
aceso a olho nu, entretanto
olh-lo atravs de uma cmera
(de celular, pode exemplo)
vai mostrar se ele est aceso ou
no.
153
biblioteca IR Remote
circuito
154
biblioteca IR Remote
circuito
155
biblioteca IR Remote
recepo de infravermelho
IRrecv irrecv(pin);
// cria um objeto para recepo de infravermelho
// (receiver), com o sensor conectado ao pin.
decode_results results;
// cria um objeto para armazenar o resultado
// da decodificao do sinal recebido
156
biblioteca IR Remote
recepo de infravermelho
X = irrecv.decode(&results);
// decodifica o sinal caso haja algum dado
// recebido. Neste caso, retorna valor diferente
// de zero.
Y = results.value;
// results.value contm o valor do comando
// recebido
irrecv.resume();
// prepara o objeto para receber o prximo valor
157
biblioteca IR Remote
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // inicia o receiver
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); // Recebe o prximo valor
}
}
158
biblioteca IR Remote
transmisso de infravermelho
IRsend irsend;
// cria um objeto para transmisso de
// infravermelho. No arduino mega, este objeto
// transmite no pino 9.
irsend.sendSony(dado, nBits);
irsend.sendNEC(dado, nBits);
irsend.sendRC5(dado, nBits);
irsend.sendRC6(dado, nBits);
// envia o dado com o determinado numero de bits
// utilizando o protocolo especificado
159
atividade
prtica!
160
biblioteca IR Remote - prtica
comandar leds e
motores atravs do
controle remoto
161
perguntas?
162
GLCD library
biblioteca GLCD
164
biblioteca GLCD
possui o controlador 4
5
36
35
---
---
KS0108B. Este display 6
7
37
22
---
---
possui 20 pinos. 8
9
23
24
---
---
10 25 ---
11 26 ---
a conexo deste display 12 27 ---
165
biblioteca GLCD - circuito
166
biblioteca GLCD
GLCD.Init(mode);
// inicializa a biblioteca GLCD de acordo com o
// modo que pode ser: INVERTED ou NON-INVERTED
GLCD.SetDisplayMode(mode);
// define o estado do display de acordo com o
// modo que pode ser: INVERTED ou NON_INVERTED
GLCD.ClearScreen(color);
// apaga a tela inteira com a cor desejada, que
// pode ser: WHITE ou BLACK
167
biblioteca GLCD
Sistema de coordenadas
168
biblioteca GLCD
GLCD.SetDot(x, y, color);
// desenha um ponto nas coordenadas x,y com a cor
// desejada (BLACK ou WHITE)
170
biblioteca GLCD - prtica
171
perguntas?
172
biblioteca GLCD
173
biblioteca GLCD
GLCD.DrawCircle(x, y, r, color);
// desenha um circulo centralizado em x,y e com
// raio r
GLCD.FillCircle(x, y, r, color);
// desenha um circulo preenchido, centralizado em
// x,y e com raio r
174
atividade
prtica!
175
biblioteca GLCD - prtica
definir e implementar
um jogo usando o LCD e
os sensores e atuadores
aprendidos
aps a definio do
jogo, o mesmo dever
ser apresentado para a
turma
176
perguntas?
177
biblioteca GLCD bitmaps (figuras)
178
biblioteca GLCD bitmaps
GLCD.DrawBitmap(bitmap, x, y);
// desenha o bitmap especificado na posio x,y
179
atividade
prtica!
180
biblioteca GLCD - prtica
181
perguntas?
182
biblioteca GLCD fontes
183
biblioteca GLCD escrita de texto
GLCD.SetFontColor(color);
// define a cor a ser usada para escrever com a
// fonte atual
GLCD.SetTextMode(mode);
// define o modo de rolagem de texto, que pode ser
// SCROLL_UP ou SCROLL_DOWN
184
biblioteca GLCD escrita de texto
myTxtArea.ClearArea();
// apaga a rea de texto
myTxtArea.print(argumento);
// imprime o argumento na rea de texto. Este
// argumento pode ser uma varivel ou uma string
185
atividade
prtica!
186
biblioteca GLCD - prtica
187
perguntas?
188
arduino - referencias
http://arduino.cc/en/Reference/HomePage
http://www.arduino.cc/en/Tutorial/HomePage
189
Obrigado!