• Nenhum resultado encontrado

Oficina de Programação utilizando a plataforma Arduino

N/A
N/A
Protected

Academic year: 2021

Share "Oficina de Programação utilizando a plataforma Arduino"

Copied!
22
0
0

Texto

(1)

Oficina de Programa¸

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

UTFPR

22 de setembro de 2012

(2)

Projeto 5: Efeito Ilumina¸

ao Sequencial

O que precisaremos?

10 LEDs vermelhos

(3)

Circuito utilizado

(4)

O c´

odigo esta na apostila!

O que h´

a de novo?

Vari´

aveis

byte ledPin[] - Declara¸

ao de um array do tipo byte

ledPin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; - Armazenar dados em

um array

x = ledPin[5]; - Acesso ao conte´

udo do Array

Opera¸

oes

(5)

O c´

odigo esta na apostila!

O que h´

a de novo?

Vari´

aveis

byte ledPin[] - Declara¸

ao de um array do tipo byte

ledPin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; - Armazenar dados em

um array

x = ledPin[5]; - Acesso ao conte´

udo do Array

Opera¸

oes

currentLED += direction ;

(6)

O c´

odigo esta na apostila!

O que h´

a de novo?

Vari´

aveis

byte ledPin[] - Declara¸

ao de um array do tipo byte

ledPin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; - Armazenar dados em

um array

x = ledPin[5]; - Acesso ao conte´

udo do Array

Opera¸

oes

(7)

O c´

odigo esta na apostila!

O que h´

a de novo?

Vari´

aveis

byte ledPin[] - Declara¸

ao de um array do tipo byte

ledPin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; - Armazenar dados em

um array

x = ledPin[5]; - Acesso ao conte´

udo do Array

Opera¸

oes

currentLED += direction ;

(8)

O c´

odigo esta na apostila!

O que h´

a de novo?

Vari´

aveis

byte ledPin[] - Declara¸

ao de um array do tipo byte

ledPin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; - Armazenar dados em

um array

x = ledPin[5]; - Acesso ao conte´

udo do Array

Opera¸

oes

(9)

O c´

odigo esta na apostila!

O que h´

a de novo?

Vari´

aveis

byte ledPin[] - Declara¸

ao de um array do tipo byte

ledPin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; - Armazenar dados em

um array

x = ledPin[5]; - Acesso ao conte´

udo do Array

Opera¸

oes

currentLED += direction ;

(10)

O c´

odigo esta na apostila!

O que h´

a de novo?

Vari´

aveis

byte ledPin[] - Declara¸

ao de um array do tipo byte

ledPin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; - Armazenar dados em

um array

x = ledPin[5]; - Acesso ao conte´

udo do Array

Opera¸

oes

(11)

odigo I

 // P r o j e t o 5 - I l u m i n a c a o S e q u e n c i a l   // c r i a o a r r a y p a r a os t e r m i n a i s em que os L E D s e s t a o c o n e c t a d o s  b y t e l e d P i n [] = {4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 1 3 } ;  int l e d D e l a y ( 6 5 ) ; // i n t e r v a l o e n t r e as m u d a n c a s  int d i r e c t i o n = 1;  int c u r r e n t L E D = 0;  u n s i g n e d l o n g c h a n g e T i m e ;   v o i d s e t u p () {  // d e f i n e t o d o s os t e r m i n a i s c o m o O U T P U T  for ( int x =0; x < 1 0 ; x ++) {  p i n M o d e ( l e d P i n [ x ] , O U T P U T ) ;  }  c h a n g e T i m e = m i l l i s () ;  }   v o i d l o o p () {

(12)

odigo II

 // se ja p a s s o u l e d D e l a y m i l i s s e g u n d o s d e s d e a u l t i m a m u d a n c a  if (( m i l l i s () - c h a n g e T i m e ) > l e d D e l a y ) {  c h a n g e L E D () ;  c h a n g e T i m e = m i l l i s () ;  }  }   v o i d c h a n g e L E D () {  // d e s l i g a t o d o s os L E D s  for ( int x =0; x < 1 0 ; x ++) {  d i g i t a l W r i t e ( l e d P i n [ x ] , LOW ) ;  }   // l i g a o LED a t u a l  d i g i t a l W r i t e ( l e d P i n [ c u r r e n t L E D ] , H I G H ) ; 

(13)

odigo III

  // m u d a a d i r e c a o ao c h e g a r nas e x t r e m i d a d e s  if ( c u r r e n t L E D == 9) { d i r e c t i o n = -1;}  if ( c u r r e n t L E D == 0) { d i r e c t i o n = 1;}  }

(14)

Projeto 5.2: Efeito Ilumina¸

ao Sequencial

-Intera¸

ao!

O que precisaremos?

(15)

O c´

odigo esta na apostila!

O que h´

a de novo?

Fun¸

oes da biblioteca Arduino

ledDelay = analogRead(potPin); - Leitura de dados anal´

ogicos entre

0 e 1023

(16)

O c´

odigo esta na apostila!

O que h´

a de novo?

Fun¸

oes da biblioteca Arduino

ledDelay = analogRead(potPin); - Leitura de dados anal´

ogicos entre

0 e 1023

(17)

O c´

odigo esta na apostila!

O que h´

a de novo?

Fun¸c˜

oes da biblioteca Arduino

ledDelay = analogRead(potPin); - Leitura de dados anal´

ogicos entre

0 e 1023

(18)

O c´

odigo esta na apostila!

O que h´

a de novo?

Fun¸c˜

oes da biblioteca Arduino

ledDelay = analogRead(potPin); - Leitura de dados anal´

ogicos entre

0 e 1023

(19)

odigo I

 // C r i a o a r r a y dos t e r m i n a i s dos L E D s  b y t e l e d P i n [] = {4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 1 3 } ;  int l e d D e l a y ; // i n t e r v a l o e n t r e as m u d a n c a s  int d i r e c t i o n = 1;  int c u r r e n t L E D = 0;  u n s i g n e d l o n g c h a n g e T i m e ;  int p o t P i n = 2; // s e l e c i o n a o t e r m i n a l de e n t r a d a de d a d o s p e lo p o t e n c i o m e t r o   v o i d s e t u p () {  // d e f i n e t o d o s os t e r m i n a i s c o m o O U T P U T  for ( int x =0; x < 1 0 ; x ++) {  p i n M o d e ( l e d P i n [ x ] , O U T P U T ) ;  }  c h a n g e T i m e = m i l l i s () ;  }   v o i d l o o p () {  // le o v a l o r do p o t e n c i o m e t r o e a t r i b u i a l e d D e l a y

(20)

odigo II

 l e d D e l a y = a n a l o g R e a d ( p o t P i n ) ;   // se ja p a s s o u l e d D e l a y m i l i s s e g u n d o s d e s d e a u l t i m a m u d a n c a  if (( m i l l i s () - c h a n g e T i m e ) > l e d D e l a y ) {  c h a n g e L E D () ;  c h a n g e T i m e = m i l l i s () ;  }  }   v o i d c h a n g e L E D () {  // d e s l i g a t o d o s os L E D s  for ( int x =0; x < 1 0 ; x ++) {  d i g i t a l W r i t e ( l e d P i n [ x ] , LOW ) ;  }  

(21)

odigo III

 // i n c r e m e n t o p e l o v a l o r de d i r e c t i o n  c u r r e n t L E D += d i r e c t i o n ;   // m u d a a d i r e c a o ao c h e g a r nas e x t r e m i d a d e s  if ( c u r r e n t L E D == 9) { d i r e c t i o n = -1;}  if ( c u r r e n t L E D == 0) { d i r e c t i o n = 1;}  }

(22)

Exerc´ıcio

Adapte o programa desta aula para que os os LED’s sejam acessos dois a

dois, come¸

cando do centro, indo at´

e as extremidades e voltando para o

centro. Veja a figura abaixo.

Referências

Documentos relacionados

A investigação que apresentamos tem como objetivos: a) Analisar criticamente o panorama nacional e internacional ao nível das políticas de educação e formação de adultos;

Equipamentos de emergência imediatamente acessíveis, com instruções de utilização. Assegurar-se que os lava- olhos e os chuveiros de segurança estejam próximos ao local de

• Quando o navegador não tem suporte ao Javascript, para que conteúdo não seja exibido na forma textual, o script deve vir entre as tags de comentário do HTML. &lt;script Language

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

Tendo como parâmetros para análise dos dados, a comparação entre monta natural (MN) e inseminação artificial (IA) em relação ao número de concepções e

17 CORTE IDH. Caso Castañeda Gutman vs.. restrição ao lançamento de uma candidatura a cargo político pode demandar o enfrentamento de temas de ordem histórica, social e política

O enfermeiro, como integrante da equipe multidisciplinar em saúde, possui respaldo ético legal e técnico cientifico para atuar junto ao paciente portador de feridas, da avaliação

Ao nível municipal não são contemplados Centros de Coordenação Operacional, no entanto, de acordo com a Directiva Operacional n.º 1/2009 da Autoridade Nacional de Protecção