• Nenhum resultado encontrado

Oficina de Programa¸c˜ao utilizando a plataforma Arduino

N/A
N/A
Protected

Academic year: 2022

Share "Oficina de Programa¸c˜ao utilizando a plataforma Arduino"

Copied!
28
0
0

Texto

(1)

Oficina de Programa¸ c˜ ao utilizando a plataforma Arduino

Kaya Sumire Abe [email protected]

Paulo Nesello K¨ unzel kruger [email protected]

Bianca Alberton [email protected]

Programa de Educa¸ao Tutorial Computando Culturas em Equidade Departamento Acadˆemico de Inform´atica

UTFPR

20 de outubro de 2012

PET - CoCE (UTFPR) Oficina de Programa¸ao 20 de outubro de 2012 1 / 19

(2)

Projeto 8: Switch-case

O que precisaremos?

1 LDR

2 resistores de 10 kΩ ou valor aproximado

(3)

Circuito utilizado

PET - CoCE (UTFPR) Oficina de Programa¸ao 20 de outubro de 2012 3 / 19

(4)

O que h´ a de novo?

Fun¸ c˜ oes da biblioteca Arduino

map(valor , pisoValor , tetoValor , limiteInferior, limiteSuperior); - Fun¸ c˜ ao que faz uma regra de trˆ es para colocar um determinado valor em uma faixa desej´ avel, de acordo com sua propor¸ c˜ ao

Estruturas de programa¸ c˜ ao

switch-case - if mais elaborado!

(5)

O que h´ a de novo?

Fun¸ c˜ oes da biblioteca Arduino

map(valor , pisoValor , tetoValor , limiteInferior, limiteSuperior); - Fun¸ c˜ ao que faz uma regra de trˆ es para colocar um determinado valor em uma faixa desej´ avel, de acordo com sua propor¸ c˜ ao

Estruturas de programa¸ c˜ ao

switch-case - if mais elaborado!

PET - CoCE (UTFPR) Oficina de Programa¸ao 20 de outubro de 2012 4 / 19

(6)

O que h´ a de novo?

Fun¸ c˜ oes da biblioteca Arduino

map(valor , pisoValor , tetoValor , limiteInferior, limiteSuperior); - Fun¸c˜ ao que faz uma regra de trˆ es para colocar um determinado valor em uma faixa desej´ avel, de acordo com sua propor¸ c˜ ao

Estruturas de programa¸ c˜ ao

switch-case - if mais elaborado!

(7)

O que h´ a de novo?

Fun¸ c˜ oes da biblioteca Arduino

map(valor , pisoValor , tetoValor , limiteInferior, limiteSuperior); - Fun¸c˜ ao que faz uma regra de trˆ es para colocar um determinado valor em uma faixa desej´ avel, de acordo com sua propor¸ c˜ ao

Estruturas de programa¸ c˜ ao

switch-case - if mais elaborado!

PET - CoCE (UTFPR) Oficina de Programa¸ao 20 de outubro de 2012 4 / 19

(8)

C´ odigo I

 c o n s t int s e n s o r M i n = 0;

 c o n s t int s e n s o r M a x = 6 0 0 ;

 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 () {

 int s e n s o r R e a d i n g = a n a l o g R e a d ( A0 ) ;

 int r a n g e = map ( s e n s o r R e a d i n g , s e n s o r M i n , s e n s o r M a x , 0 , 3) ;



 // faz a l g o d i f e r e n t e , d e p e n d e n d o do v a l o r de r a n g e

 s w i t c h ( r a n g e ) {

 c a s e 0:

 S e r i a l . p r i n t l n ( " d a r k " ) ;

 b r e a k ;

 c a s e 1:

 S e r i a l . p r i n t l n ( " dim " ) ;

(9)

C´ odigo II

 b r e a k ;

 c a s e 2:

 S e r i a l . p r i n t l n ( " m e d i u m " ) ;

 b r e a k ;

 c a s e 3:

 S e r i a l . p r i n t l n ( " b r i g h t " ) ;

 b r e a k ;

 }

 d e l a y ( 1 0 0 0 ) ;

 }

PET - CoCE (UTFPR) Oficina de Programa¸ao 20 de outubro de 2012 6 / 19

(10)

Projeto 8.2: outro circuito...

O que precisaremos?

5 LED’s

5 resistores de 220 kΩ ou valor aproximado

(11)

Circuito utilizado

PET - CoCE (UTFPR) Oficina de Programa¸ao 20 de outubro de 2012 8 / 19

(12)

O que h´ a de novo?

Estruturas de programa¸ c˜ ao

switch-case - Op¸ c˜ ao default : vale para todos os outros casos

(13)

O que h´ a de novo?

Estruturas de programa¸ c˜ ao

switch-case - Op¸ c˜ ao default : vale para todos os outros casos

PET - CoCE (UTFPR) Oficina de Programa¸ao 20 de outubro de 2012 9 / 19

(14)

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 ) ;

 for ( int t h i s P i n = 2; t h i s P i n < 7; t h i s P i n ++) {

 p i n M o d e ( thisPin , O U T P U T ) ;

 }

 }

 v o i d l o o p () {

 if ( S e r i a l . a v a i l a b l e () > 0) {

 int i n B y t e = S e r i a l . r e a d () ;



 // o switch - c a s e r e c e b e a p e n a s v a l o r e s n u m e r i c o s p a r a a e s c o l h a das a l t e r n a t i v a s

 // d e s t a forma , c o l o c a m o s as a s p a s p a r a i n d i c a r que s e r a u t i l i z a d o o v a l o r n u m e r i c o

c o r r e s p o n d e n t e ao c a r a c t e r

 // os v a l o r e s sao b a s e a d o s na t a b e l a A S C I I

 // por exemplo , ’ a ’ = 97 , ’ b ’ = 98 , e a s s i m por d i a n t e

(15)

C´ odigo II



 s w i t c h ( i n B y t e ) {

 c a s e ’ a ’ :

 d i g i t a l W r i t e (2 , H I G H ) ;

 b r e a k ;

 c a s e ’ b ’ :

 d i g i t a l W r i t e (3 , H I G H ) ;

 b r e a k ;

 c a s e ’ c ’ :

 d i g i t a l W r i t e (4 , H I G H ) ;

 b r e a k ;

 c a s e ’ d ’ :

 d i g i t a l W r i t e (5 , H I G H ) ;

 b r e a k ;

 c a s e ’ e ’ :

 d i g i t a l W r i t e (6 , H I G H ) ;

 b r e a k ;

 d e f a u l t :

 // d e s l i g a t o d o s os L E D s

PET - CoCE (UTFPR) Oficina de Programa¸ao 20 de outubro de 2012 11 / 19

(16)

C´ odigo III

 for ( int t h i s P i n = 2; t h i s P i n < 7;

t h i s P i n ++) {

 d i g i t a l W r i t e ( thisPin , LOW ) ;

 }

 }

 }

 }

(17)

Projeto 9: Buzzer

O que precisaremos?

Buzzer

Resistores de 100 kΩ ou valor aproximado

PET - CoCE (UTFPR) Oficina de Programa¸ao 20 de outubro de 2012 13 / 19

(18)

Circuito utilizado

(19)

O que h´ a de novo?

Vari´ aveis

1000L - Converte 1000 para long int. Fun¸ c˜ oes da biblioteca Arduino

delayMicroseconds(tone); - Ao inv´ es de o delay ser dado em milisegundos (0,001 s), ele ´ e dado em microsegundos(0,000 001).

PET - CoCE (UTFPR) Oficina de Programa¸ao 20 de outubro de 2012 15 / 19

(20)

O que h´ a de novo?

Vari´ aveis

1000L - Converte 1000 para long int. Fun¸ c˜ oes da biblioteca Arduino

delayMicroseconds(tone); - Ao inv´ es de o delay ser dado em

milisegundos (0,001 s), ele ´ e dado em microsegundos(0,000 001).

(21)

O que h´ a de novo?

Vari´ aveis

1000L - Converte 1000 para long int.

Fun¸ c˜ oes da biblioteca Arduino

delayMicroseconds(tone); - Ao inv´ es de o delay ser dado em milisegundos (0,001 s), ele ´ e dado em microsegundos(0,000 001).

PET - CoCE (UTFPR) Oficina de Programa¸ao 20 de outubro de 2012 15 / 19

(22)

O que h´ a de novo?

Vari´ aveis

1000L - Converte 1000 para long int.

Fun¸ c˜ oes da biblioteca Arduino

delayMicroseconds(tone); - Ao inv´ es de o delay ser dado em

milisegundos (0,001 s), ele ´ e dado em microsegundos(0,000 001).

(23)

O que h´ a de novo?

Vari´ aveis

1000L - Converte 1000 para long int.

Fun¸c˜ oes da biblioteca Arduino

delayMicroseconds(tone); - Ao inv´ es de o delay ser dado em milisegundos (0,001 s), ele ´ e dado em microsegundos(0,000 001).

PET - CoCE (UTFPR) Oficina de Programa¸ao 20 de outubro de 2012 15 / 19

(24)

O que h´ a de novo?

Vari´ aveis

1000L - Converte 1000 para long int.

Fun¸c˜ oes da biblioteca Arduino

delayMicroseconds(tone); - Ao inv´ es de o delay ser dado em

milisegundos (0,001 s), ele ´ e dado em microsegundos(0,000 001).

(25)

C´ odigo I

 int s p e a k e r P i n = 9;

 int l e n g t h = 15; // n u m e r o de n o t a s

 c h a r n o t e s [] = " c c g g a a g f f e e d d c " ; // um e s p a c o r e p r e s e n t a um i n t e r v a l o

 int b e a t s [] = { 1 , 1 , 1 , 1 , 1 , 1 , 2 , 1 , 1 , 1 , 1 , 1 , 1 , 2 , 4 };

 int t e m p o = 3 0 0 ;

 v o i d p l a y T o n e ( int tone , int d u r a t i o n ) {

 for ( l o n g i = 0; i < d u r a t i o n * 1 0 0 0 L ; i += t o n e * 2) {

 d i g i t a l W r i t e ( s p e a k e r P i n , H I G H ) ;

 d e l a y M i c r o s e c o n d s ( t o n e ) ;

 d i g i t a l W r i t e ( s p e a k e r P i n , LOW ) ;

 d e l a y M i c r o s e c o n d s ( t o n e ) ;

 }

 }



PET - CoCE (UTFPR) Oficina de Programa¸ao 20 de outubro de 2012 16 / 19

(26)

C´ odigo II

 v o i d p l a y N o t e ( c h a r note , int d u r a t i o n ) {

 c h a r n a m e s [] = { ’ c ’ , ’ d ’ , ’ e ’ , ’ f ’ , ’ g ’ , ’ a ’ , ’ b ’ ,

’ C ’ };

 int t o n e s [] = { 1915 , 1700 , 1519 , 1432 , 1275 , 1136 , 1014 , 956 };



 // t o c a a n o t a c o r r e s p o n d e n t e ao ‘ ‘ n o m e ’ ’ da n o t a

 for ( int i = 0; i < 8; i ++) {

 if ( n a m e s [ i ] == n o t e ) {

 p l a y T o n e ( t o n e s [ i ] , d u r a t i o n ) ;

 }

 }

 }



 v o i d s e t u p () {

 p i n M o d e ( s p e a k e r P i n , O U T P U T ) ;

 }



 v o i d l o o p () {

(27)

C´ odigo III

 for ( int i = 0; i < l e n g t h ; i ++) {

 if ( n o t e s [ i ] == ’ ’ ) {

 d e l a y ( b e a t s [ i ] * t e m p o ) ; // i n t e r v a l o

 }

 e l s e {

 p l a y N o t e ( n o t e s [ i ] , b e a t s [ i ] * t e m p o ) ;

 }



 // p a u s a e n t r e as n o t a s

 d e l a y ( t e m p o / 2) ;

 }

 }

PET - CoCE (UTFPR) Oficina de Programa¸ao 20 de outubro de 2012 18 / 19

(28)

Se vocˆ e quiser, pode tentar fazer sua pr´ opria m´ usica!

Tabela : Notas.

Nota Frequˆ encia Per´ıodo Tempo em HIGH

c 261 Hz 3830 1915

d 294 Hz 3400 1700

e 329 Hz 3038 1519

f 349 Hz 2864 1432

g 392 Hz 2550 1275

a 440 Hz 2272 1136

b 493 Hz 2028 1014

C 523 Hz 1912 956

Referências

Documentos relacionados

Ainda segundo Gil (2002), como a revisão bibliográfica esclarece os pressupostos teóricos que dão fundamentação à pesquisa e às contribuições oferecidas por

As dimensões de TI estudadas nessa pesquisa buscou identificar e relação entre Tecnologia da Informação e a entrega da Proposta de Valor Social pela Empresa estudada. A

Quais são os requisitos de uma plataforma multilateral de software para possibilitar o aumento da quantidade de resíduos de equipamentos eletroeletrônicos (REEE) destinados

VUOLO, J.H. Fundamentos da Teoria de Erros, Edgard Blucher Ltda, São Paulo, 1992 YIN, R.K. Estudo de caso: planejamento e métodos, Bookman, Porto Alegre, 2005.. Quando a

Por último, temos o vídeo que está sendo exibido dentro do celular, que é segurado e comentado por alguém, e compartilhado e comentado no perfil de BolsoWoman no Twitter. No

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Se você acha isso muito legal, espere só até ver tudo o que temos para apresentar.. Você vai curtir,

Demonstra¸c˜ao. Designamos esse tipo de ponto fixo de n´o repulsivo. Analogamente, se a derivada da fun¸c˜ao F tiver o valor entre 0 e 1, as sequˆencias que come¸carem