47
técnicas de prototipação II computação física – Aula 03 Tiago Barros | [email protected]

Técnicas de Prototipação II - Physical Computing - Aula 03

Embed Size (px)

DESCRIPTION

Desenvolvimento de protótipos com arduino

Citation preview

Page 1: Técnicas de Prototipação II - Physical Computing - Aula 03

técnicas de prototipação II computação física – Aula 03

Tiago Barros | [email protected]

Page 2: Técnicas de Prototipação II - Physical Computing - Aula 03

2

técnicas de prototipação IIcomputação física – Aula 03

• plataforma arduino• sensores e atuadores sonoros• controlando dispositivos mais potentes• motores DC• comunicação serial• displays

Page 3: Técnicas de Prototipação II - Physical Computing - Aula 03

3

relembrando

Page 4: Técnicas de Prototipação II - Physical Computing - Aula 03

4

sensores sonoros

• microfones• transformam ondas sonoras em ondas elétricas

• a variação de tensão é bem pequena em um microfone de eletreto

• precisa de circuito para amplificar o sinal e seu valor poder ser lido pelo arduino

Page 5: Técnicas de Prototipação II - Physical Computing - Aula 03

5

sensores sonoros

• circuito para amplificar o sinal do microfone para o arduino

Page 6: Técnicas de Prototipação II - Physical Computing - Aula 03

6

sensores sonoros

• já temos o circuito pronto!

Page 7: Técnicas de Prototipação II - Physical Computing - Aula 03

7

atividade prática!

Page 8: Técnicas de Prototipação II - Physical Computing - Aula 03

8

sensores sonoros - prática

• detectar comandos sonoros e acender leds correspondentes

• dica: medir a tensão de saída do circuito para calibrar o microfone (lembrando que a saída “segura” o valor por 0,5 segundo).

Page 9: Técnicas de Prototipação II - Physical Computing - Aula 03

9

Perguntas

Page 10: Técnicas de Prototipação II - Physical Computing - Aula 03

10

atuadores sonoros

• Buzzer piezoelétrico• formado por cerâmica

piezoelétrica e disco metálico

• ao receber uma tensão o cristal se expande, quando removemos a tensão ele volta

Page 11: Técnicas de Prototipação II - Physical Computing - Aula 03

11

atuadores sonoros

• Buzzer piezoelétrico• 2 fios: preto é

negativo e vermelho é positivo

• aplicando uma tensão variável produz vibração que é traduzida em som

Page 12: Técnicas de Prototipação II - Physical Computing - Aula 03

12

atividade prática!

Page 13: Técnicas de Prototipação II - Physical Computing - Aula 03

13

atuadores sonoros - prática

• programar o arduino para emitir som

• como ligar o buzzer: fio preto no GND e vermelho no pino de saída desejado

• podemos ligar um resistor em série para diminuir o volume

Page 14: Técnicas de Prototipação II - Physical Computing - Aula 03

14

atuadores sonoros

• como programar o arduino para tocar uma nota musical?

• uma nota musical é um som em uma determinada frequência

• a frequência de uma nota significa quantas vezes o atuador sonoro vibra em 1 segundo

Page 15: Técnicas de Prototipação II - Physical Computing - Aula 03

15

atuadores sonoros

• para fazer o atuador vibrar, escrevemos no pino uma sequência de valores HIGH e LOW, tantas vezes por segundo quanto for a frequência da nota

• o tempo de cada variação HIGH e LOW é chamada de período e é o inverso da frequência

baixa frequência

alta frequência

período

período

1 segundo

Page 16: Técnicas de Prototipação II - Physical Computing - Aula 03

16

plataforma arduino - linguagem

• funçõestipoRetorno nome(tipo parametro1, tipo parametro2) { //corpo da fução

return variavel_do_mesmo_tipo_de_retorno; }

Exemplo:

int funcaoSoma(int a, int b) { int resultado = a + b;

return resultado; }

Page 17: Técnicas de Prototipação II - Physical Computing - Aula 03

17

plataforma arduino - linguagem

• arrays• conjunto (sequencia) de variáveis do mesmo

tipo• seus valores são acessados através do índice

tipo nome[tamanho] = {lista de valores separados por virgula};

Exemplo:int valores[4] = {100, 200, 300, 400};char vogais [5] = {‘a’, ‘e’, ‘i’, ‘o’, ‘u’};

int num = valores[2];int y = 3;int x = valores[y];char vogal = vogais[y];

Page 18: Técnicas de Prototipação II - Physical Computing - Aula 03

18

atuadores sonoros

• como programar o arduino para para tocar uma nota musical?

timeHigh = periodo / 2 = 1 / (2 * frequência)

* nota frequência periodo tempo em nivel alto* c (dó) 261 Hz 3830 1915 * d (ré) 294 Hz 3400 1700 * e (mi) 329 Hz 3038 1519 * f (fá) 349 Hz 2864 1432 * g (sol) 392 Hz 2550 1275 * a (lá) 440 Hz 2272 1136 * b (si) 493 Hz 2028 1014 * C (dó) 523 Hz 1912 956

char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' }; int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };

Page 19: Técnicas de Prototipação II - Physical Computing - Aula 03

19

atividade prática!

Page 20: Técnicas de Prototipação II - Physical Computing - Aula 03

20

atuadores sonoros - prática

• programar o arduino para tocar uma nota musical

void playTone(int tone, int duration) { for (long i = 0; i < duration * 1000L; i += tone * 2) { digitalWrite(speakerPin, HIGH); delayMicroseconds(tone); digitalWrite(speakerPin, LOW); delayMicroseconds(tone); }}

Page 21: Técnicas de Prototipação II - Physical Computing - Aula 03

21

atividade prática!

Page 22: Técnicas de Prototipação II - Physical Computing - Aula 03

22

atuadores sonoros - prática

• tocar uma melodia, baseado na escala de notas abaixo:

• cdef ff cdcd dd cgfe ee cdef ff

Page 23: Técnicas de Prototipação II - Physical Computing - Aula 03

23

Perguntas

Page 24: Técnicas de Prototipação II - Physical Computing - Aula 03

24

eletrônica de novo...

Page 25: Técnicas de Prototipação II - Physical Computing - Aula 03

25

eletrônica – motores transformam energia elétrica em energia mecânica, e também transformam energia mecânica em energia elétrica

Redução da rotação através de engrenagens ou PWM

Consomem muita corrente quando iniciam, e se forem “travados”

polaridade determina a direção

Page 26: Técnicas de Prototipação II - Physical Computing - Aula 03

26

relembrando – modulação PWM

a função analogWrite() escreve “pulsos” muito rápidos no pino digital (só funciona nos pinos marcados com PWM).

o valor a ser escrito representa o tempo que o pulso fica em nível alto e varia de 0 a 255.

quanto mais tempo o pulto permanecer em nível alto, maior é a “tensão média” da saída

Page 27: Técnicas de Prototipação II - Physical Computing - Aula 03

27

eletrônica – transistores

dispositivos projetados para amplificar a corrente elétrica

nós vamos utilizá-los como chaves eletrônicas, para ligar e desligar outros dispositivos, que exigem uma maior corrente

Page 28: Técnicas de Prototipação II - Physical Computing - Aula 03

28

atividade prática!

Page 29: Técnicas de Prototipação II - Physical Computing - Aula 03

29

motores - prática

controlando um motor DC

Page 30: Técnicas de Prototipação II - Physical Computing - Aula 03

30

motores - prática

controlando um motor DC - protoboard

Page 31: Técnicas de Prototipação II - Physical Computing - Aula 03

31

Perguntas

Page 32: Técnicas de Prototipação II - Physical Computing - Aula 03

protocolos de comunicação

Page 33: Técnicas de Prototipação II - Physical Computing - Aula 03

33

comunicação serial – RS232

• chip ATMEGA 168 só tem interface serial, não tem USB

• nossa placa arduino possui um chip que converte Serial para USB

• usamos o mesmo cabo USB pra enviar dados pro PC via serial

Page 34: Técnicas de Prototipação II - Physical Computing - Aula 03

34

comunicação serial – RS232

• o arduino possui uma biblioteca que implementa comunicação serial

• Serial.begin();

• Serial.print();

• Serial.read();

Page 35: Técnicas de Prototipação II - Physical Computing - Aula 03

35

comunicação serial – RS232

• Leds• TX: dados

enviados para o PC

• RX: dados recebidos do PC

Page 36: Técnicas de Prototipação II - Physical Computing - Aula 03

36

atividade prática!

Page 37: Técnicas de Prototipação II - Physical Computing - Aula 03

37

comunicação serial - prática

“Hello Arduino” via serial

Page 38: Técnicas de Prototipação II - Physical Computing - Aula 03

38

comunicação serial - prática

Page 39: Técnicas de Prototipação II - Physical Computing - Aula 03

39

atividade prática!

Page 40: Técnicas de Prototipação II - Physical Computing - Aula 03

40

comunicação serial - prática

ler valores do LDR e enviar via serial

Page 41: Técnicas de Prototipação II - Physical Computing - Aula 03

displays

Page 42: Técnicas de Prototipação II - Physical Computing - Aula 03

42

eletrônica – displays de LEDs (7 seg)

conjunto de leds organizados de forma a representar numeros e caracteres

ligando os leds corretos, representamos numeros

catodo comum ou anodo comum

Page 43: Técnicas de Prototipação II - Physical Computing - Aula 03

43

atividade prática!

Page 44: Técnicas de Prototipação II - Physical Computing - Aula 03

44

displays de LEDs - prática

temporizador digital

Page 45: Técnicas de Prototipação II - Physical Computing - Aula 03

45

displays de LEDs - prática

temporizador digital - protoboard

Page 46: Técnicas de Prototipação II - Physical Computing - Aula 03

46

Perguntas

Page 47: Técnicas de Prototipação II - Physical Computing - Aula 03

47

prática final de hoje – luzes e sons

• montar um “dispositivo” interativo que utilize luz e som como entradas e/ou saídas.