Oficina de Programa¸
c˜
ao utilizando a plataforma
Arduino
Bianca Alessandra Visineski Alberton
bi.alberton@gmail.com
Paulo Nesello K¨
unzel
kruger paulo@hotmail.com
Programa de Educa¸c˜ao Tutorial Computando Culturas em Equidade Departamento Acadˆemico de Inform´atica
Revis˜
ao do projeto da semana anterior
// P r o j e t o 1 int l e d P i n = 10; v o i d s e t u p () { // i n i c i a l i z a o t e r m i n a l d i g i t a l c o m o O U T P U T . p i n M o d e ( ledPin , O U T P U T ) ; } v o i d l o o p () { d i g i t a l W r i t e ( ledPin , H I G H ) ; // LED l i g a d o d e l a y ( 1 0 0 0 ) ; // i n t e r v a l o de um s e g u n d o d i g i t a l W r i t e ( ledPin , LOW ) ; // LED d e s l i g a d o d e l a y ( 1 0 0 0 ) ; // i n t e r v a l o de um s e g u n d o }
Segundo Projeto: LED pisca pisca sem usar a
fun¸
c˜
ao Delay
O que precisaremos?
Protoboard
LED vermelho
Resistor de 220Ω ou valor aproximado
Jumpers
C´
odigo
O c´
odigo est´
a na apostila!
O que h´
a de novo?
Vari´
aveis
const int ledPin = 10;
long previousMillis = 0;
Blocos condicionais
C´
odigo
O c´
odigo est´
a na apostila!
O que h´
a de novo?
Vari´
aveis
const int ledPin = 10;
long previousMillis = 0;
Blocos condicionais
C´
odigo
O c´
odigo est´
a na apostila!
O que h´
a de novo?
Vari´
aveis
const int ledPin = 10;
long previousMillis = 0;
Blocos condicionais
C´
odigo
O c´
odigo est´
a na apostila!
O que h´
a de novo?
Vari´
aveis
const int ledPin = 10;
long previousMillis = 0;
Blocos condicionais
if(condi¸
c˜
ao)
C´
odigo
O c´
odigo est´
a na apostila!
O que h´
a de novo?
Vari´
aveis
const int ledPin = 10;
long previousMillis = 0;
Blocos condicionais
C´
odigo I
c o n s t int l e d P i n = 10; int l e d S t a t e = LOW ; l o n g p r e v i o u s M i l l i s = 0; l o n g i n t e r v a l = 1 0 0 0 ; v o i d s e t u p () { p i n M o d e ( ledPin , O U T P U T ) ; } v o i d l o o p () { l o n g c u r r e n t M i l l i s = m i l l i s () ; if ( c u r r e n t M i l l i s - p r e v i o u s M i l l i s > i n t e r v a l ) { p r e v i o u s M i l l i s = c u r r e n t M i l l i s ; if ( l e d S t a t e == LOW ) l e d S t a t e = H I G H ; e l s eC´
odigo II
l e d S t a t e = LOW ; d i g i t a l W r i t e ( ledPin , l e d S t a t e ) ; } }Projeto 3: C´
odigo Morse
S´ımbolo
C´
odigo
S´ımbolo
C´
odigo
S´ımbolo
C´
odigo
A
· –
N
– ·
1
· – – – –
B
– · · ·
O
– – –
2
· · – – –
C
– · – ·
P
· – – ·
3
· · · – –
D
– · ·
Q
– – · –
4
· · · · –
E
·
R
· – ·
5
· · · · ·
F
· · – ·
S
· · ·
6
– · · · ·
G
– – ·
T
–
7
– – · · ·
H
· · · ·
U
· · –
8
– – – · ·
I
· ·
V
· · · –
9
– – – – ·
J
· – – –
W
· – –
0
– – – – –
K
– · –
X
– · · –
Ponto (.)
· – · – · –
L
· – · ·
Y
– · – –
V´ırgula (,)
– – · · – –
M
– –
Z
– – · ·
Interroga¸
c˜
ao (?)
· · – – · ·
Projeto 3: C´
odigo Morse
O circuito e os componentes utilizados s˜
ao os mesmo dos projetos 1 e 2.
O c´
odigo esta na apostila!
O que h´
a de novo?
Blocos de repeti¸
c˜
ao
for (vari´
avel; condi¸
c˜
ao de parada; o que ocorre com a vari´
avel)
Opera¸
c˜
oes
Projeto 3: C´
odigo Morse
O circuito e os componentes utilizados s˜
ao os mesmo dos projetos 1 e 2.
O c´
odigo esta na apostila!
O que h´
a de novo?
Blocos de repeti¸c˜
ao
for (vari´
avel; condi¸
c˜
ao de parada; o que ocorre com a vari´
avel)
Opera¸
c˜
oes
Projeto 3: C´
odigo Morse
O circuito e os componentes utilizados s˜
ao os mesmo dos projetos 1 e 2.
O c´
odigo esta na apostila!
O que h´
a de novo?
Blocos de repeti¸c˜
ao
for (vari´
avel; condi¸c˜
ao de parada; o que ocorre com a vari´
avel)
Opera¸
c˜
oes
x++
Projeto 3: C´
odigo Morse
O circuito e os componentes utilizados s˜
ao os mesmo dos projetos 1 e 2.
O c´
odigo esta na apostila!
O que h´
a de novo?
Blocos de repeti¸c˜
ao
for (vari´
avel; condi¸c˜
ao de parada; o que ocorre com a vari´
avel)
Opera¸
c˜
oes
C´
odigo I
// P r o j e t o 2 - C o d i g o M o r s e int l e d P i n = 10; // LED c o n n e c t a d o ao t e r m i n a l d i g i t a l 10 // e x e c u t a uma vez , q u a n d o o p r o g r a m a c o m e c a v o i d s e t u p () { // i n i c i a l i z a o t e r m i n a l d i g i t a l c o m o O U T P U T . p i n M o d e ( ledPin , O U T P U T ) ; } v o i d l o o p () { // 3 ‘ ‘ p o n t o s ’ ’ = S for ( int x = 0; x < 3; x ++) { d i g i t a l W r i t e ( ledPin , H I G H ) ; // LED l i g a d oC´
odigo II
// i n t e r v a l o e n t r e as l e t r a s de 100 ms d e l a y ( 1 0 0 ) ; // 3 ‘ ‘ t r a c o s ’ ’ = O for ( int x = 0; x < 3; x ++) { d i g i t a l W r i t e ( ledPin , H I G H ) ; // LED l i g a d o d e l a y ( 4 0 0 ) ; // i n t e r v a l o de 400 ms d i g i t a l W r i t e ( ledPin , LOW ) ; // LED d e s l i g a d o d e l a y ( 1 0 0 ) ; // i n t e r v a l o de 100 ms } // i n t e r v a l o e n t r e as l e t r a s de 100 ms d e l a y ( 1 0 0 ) ; // m a i s 3 ‘ ‘ p o n t o s ’ ’ = S for ( int x = 0; x < 3; x ++) { d i g i t a l W r i t e ( ledPin , H I G H ) ; // LED l i g a d o d e l a y ( 1 5 0 ) ; // i n t e r v a l o de 150 ms
C´
odigo III
d i g i t a l W r i t e ( ledPin , LOW ) ; // LED d e s l i g a d o d e l a y ( 1 0 0 ) ; // i n t e r v a l o de 100 ms } // i n t e r v a l o de 5 s e g u n d o s p a r a t r a n s m i t i r o s i n a l n o v a m e n t e d e l a y ( 5 0 0 0 ) ; }