Introdu¸
c˜
ao ao kit microcontrolado Arduino
Bianca Alessandra Visineski Alberton
[email protected]
Diego Gabriel Lee
[email protected]
Programa de Educa¸c˜ao Tutorial
Computando Culturas em Equidade e Engenhenharia de Computa¸c˜ao Departamento Acadˆemico de Inform´atica
UTFPR
T´
opicos apresentados hoje
Utiliza¸c˜
ao de comunica¸c˜
ao serial para visualiza¸
c˜
ao de dados
Leitura anal´
ogica
Sensor de Luminosidade
Servomotor
LDR
Sensor cuja resistˆ
encia varia com a luminosidade.
Resistˆ
encia padr˜
ao
Escurid˜
ao total: m´
axima resistˆ
encia, acima de 1 MΩ.
Luz intensa: m´ınima resistˆ
encia, aproximadamente de 100 Ω.
Figura : Sensor LDR.
Fonte: http://www.te1.com.br/wp-content/uploads/2011/03/ LDR-light-dependent-resistor.jpg.
LDR
Sensor cuja resistˆ
encia varia com a luminosidade.
Resistˆ
encia padr˜
ao
Escurid˜
ao total: m´
axima resistˆ
encia, acima de 1 MΩ.
Luz intensa: m´ınima resistˆ
encia, aproximadamente de 100 Ω.
Figura : Sensor LDR.
Fonte: http://www.te1.com.br/wp-content/uploads/2011/03/ LDR-light-dependent-resistor.jpg.
LDR
Sensor cuja resistˆ
encia varia com a luminosidade.
Resistˆ
encia padr˜
ao
Escurid˜
ao total: m´
axima resistˆ
encia, acima de 1 MΩ.
Luz intensa: m´ınima resistˆ
encia, aproximadamente de 100 Ω.
Figura : Sensor LDR.
Fonte: http://www.te1.com.br/wp-content/uploads/2011/03/ LDR-light-dependent-resistor.jpg.
Utiliza¸
c˜
ao do LDR com o Arduino
Figura : Utiliza¸c˜ao do LDR com o Arduino.
C´
odigo I
v o i d s e t u p () { S e r i a l . b e g i n ( 9 6 0 0 ) ; } v o i d l o o p () { S e r i a l . p r i n t ( " V a l o r l i d o : " ) ; S e r i a l . p r i n t l n ( a n a l o g R e a d ( A0 ) ) ; d e l a y ( 1 0 0 0 ) ; }Servomotor
O que ´
e?
Nada mais ´
e que um motor DC que permite controlar a posi¸
c˜
ao do eixo do
motor.
Figura : Componentes de um servomotor.
Fonte: http://www.pictronics.com.br/downloads/apostilas/servomotores.pdf. Acesso em 4 de junho de 2012.
Servomotores e Arduino
Padr˜
ao de cores
Branco: sinal
Vermelho: alimenta¸
c˜
ao 5V
Preto: GND
Servomotores e Arduino
Figura : Conex˜ao de teste entre o Arduino e o servomotor.
Fonte: http://arduino.cc/en/Reference/Servo. Acesso em 25 de janeiro de 2013.
C´
odigo I
// I m p o r t a c a o da b i b l i o t e c a S e r v o # i n c l u d e < S e r v o . h > // C r i a um o b j e t o da c l a s s e S e r v o S e r v o s e r v o ; // P i n o que e n v i a o s i n a l p a r a o s e r v o m o t o r int p i n S e r v o = 9; // V a r i a v e l que g u a r d a a p o s i c a o em que o s e r v o m o t o r e s t a int p o s i c a o S e r v o = 0; v o i d s e t u p () { // I n i c i a l i z a o A r d u i n o no p i n o p i n S e r v o s e r v o . a t t a c h ( p i n S e r v o ) ; } v o i d l o o p () {C´
odigo II
// P e r c o r r e as 180 p o s i c o e s do s e r v o m o t o r no s e n t i d o p o s i t i v o de r o t a c a o for ( p o s i c a o S e r v o = 0; p o s i c a o S e r v o < 1 8 0 ; p o s i c a o S e r v o ++) { // E n v i a p a r a o s e r v o m o t o r q u a l eh p o s i c a o na q u a l o e i x o d e v e e s t a r s e r v o . w r i t e ( p o s i c a o S e r v o ) ; d e l a y ( 1 5 ) ; } // P e r c o r r e as 180 p o s i c o e s do s e r v o m o t o r no s e n t i d o n e g a t i v o de r o t a c a o for ( p o s i c a o S e r v o = 1 8 0 ; p o s i c a o S e r v o > = 1 ; p o s i c a o S e r v o - -) { s e r v o . w r i t e ( p o s i c a o S e r v o ) ; d e l a y ( 1 5 ) ; } }Principais fun¸
c˜
oes da biblioteca Servo
attach(pino): inicializa o objeto da classe Servo no pino indicado, ou
seja, inicializa o servomotor.
write(angulo): envia um sinal indicando a posi¸
c˜
ao do eixo do
servomotor.
read(): lˆ
e em qual posi¸
c˜
ao o eixo do servomotor est´
a. Esta posi¸
c˜
ao
varia entre 0 e 180
o.
detach(): ”desliga”o servomotor de seu pino. Essa fun¸
c˜
ao ´
e quando
deseja-se utilizar o pino para utilizar a fun¸
c˜
ao PWM e utilizar as
fun¸
c˜
oes da classe Servo ao mesmo tempo.
Outras fun¸
c˜
oes desta biblioteca podem ser encontradas em
http://arduino.cc/en/Reference/Servo.
Sensor de distˆ
ancia por ultrassom
Descri¸
c˜
ao
Sensor que emite e recebe ondas mecˆ
anicas para determinar a distˆ
ancia
dos objetos `
a sua frente
Aplica¸
c˜
os
Detec¸
c˜
ao de n´ıvel e altura
Medida de diˆ
ametros
Contagem de objetos transparentes
Aferi¸
c˜
ao da distˆ
ancia de obt´
aculos (robˆ
os m´
oveis)
Figura : Sensor de distˆancia por ultrassom.
Fonte: http://www.mercadolivre.com.br/ Acesso em: 17 de junho de 2013.
Sensor de distˆ
ancia por ultrassom
Descri¸
c˜
ao
Sensor que emite e recebe ondas mecˆ
anicas para determinar a distˆ
ancia
dos objetos `
a sua frente
Aplica¸
c˜
os
Detec¸c˜
ao de n´ıvel e altura
Medida de diˆ
ametros
Contagem de objetos transparentes
Aferi¸c˜
ao da distˆ
ancia de obt´
aculos (robˆ
os m´
oveis)
Figura : Sensor de distˆancia por ultrassom.
Fonte: http://www.mercadolivre.com.br/ Acesso em: 17 de junho de 2013.
Funcionamento dos sonares
Figura : Funcionamento dos sonares.
Fonte: http://www.newtoncbraga.com.br/index.php/robotica/3484-mec081 Acesso em: 17 de junho de 2013.
Reflex˜
ao nos sonares
Figura : Reflex˜ao nas ondas sonoras.
Fonte: http://www.newtoncbraga.com.br/index.php/robotica/3484-mec081 Acesso em: 17 de junho de 2013.
Utiliza¸
c˜
ao dos sonares com o Arduino
Figura : Utiliza¸c˜ao dos sonares com o Arduino.
Fonte: http://www.newtoncbraga.com.br/index.php/robotica/3484-mec081 Acesso em: 17 de junho de 2013.
Instala¸
c˜
ao da bibioteca
Biblioteca disponibilizada por Camilo de Lellis Barreto J´
unior.
Para incorpor´
a-la ao Arduino, vocˆ
e deve seguir os passos a seguir:
1
Baixe o arquivo dispon´ıvel em http://www.4shared.com/zip/
lGbJcHdR/Library_Ultrasonic_Sensor.html.
2
Descompacte o arquivo (um programa gratuito que descompacta
arquivos ´
e o WinRAR) e abra a pasta library ultrasonic sensor /
Ultrasonic IDE 1.0.1 / Ultrasonic e copie os arquivos Ultrasonic.h,
Ultrasonic.cpp e .DS Store.
3
Abra a pasta onde vocˆ
e instalou o Arduino. Dentro dela h´
a uma
pasta chamada lib. Abra-a e e cole os arquivos Ultrasonic.h,
Ultrasonic.cpp e .DS Store.
4
Abra o Arduino IDE.
5