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

2,149
-1

Published on

Desenvolvimento de protótipos com arduino

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,149
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
242
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

  1. 1. técnicas de prototipação II computação física – Aula 03 Tiago Barros | [email_address]
  2. 2. técnicas de prototipação II computação física – Aula 03 <ul><li>plataforma arduino </li></ul><ul><li>sensores e atuadores sonoros </li></ul><ul><li>controlando dispositivos mais potentes </li></ul><ul><li>motores DC </li></ul><ul><li>comunicação serial </li></ul><ul><li>displays </li></ul>
  3. 3. relembrando
  4. 4. sensores sonoros <ul><li>microfones </li></ul><ul><ul><li>transformam ondas sonoras em ondas elétricas </li></ul></ul><ul><ul><li>a variação de tensão é bem pequena em um microfone de eletreto </li></ul></ul><ul><ul><li>precisa de circuito para amplificar o sinal e seu valor poder ser lido pelo arduino </li></ul></ul>
  5. 5. sensores sonoros <ul><li>circuito para amplificar o sinal do microfone para o arduino </li></ul>
  6. 6. sensores sonoros <ul><li>já temos o circuito pronto! </li></ul>
  7. 7. <ul><li>atividade prática! </li></ul>
  8. 8. sensores sonoros - prática <ul><li>detectar comandos sonoros e acender leds correspondentes </li></ul><ul><li>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). </li></ul>
  9. 9. Perguntas
  10. 10. atuadores sonoros <ul><li>Buzzer piezoelétrico </li></ul><ul><ul><li>formado por cerâmica piezoelétrica e disco metálico </li></ul></ul><ul><ul><li>ao receber uma tensão o cristal se expande, quando removemos a tensão ele volta </li></ul></ul>
  11. 11. atuadores sonoros <ul><li>Buzzer piezoelétrico </li></ul><ul><ul><li>2 fios: preto é negativo e vermelho é positivo </li></ul></ul><ul><ul><li>aplicando uma tensão variável produz vibração que é traduzida em som </li></ul></ul>
  12. 12. <ul><li>atividade prática! </li></ul>
  13. 13. atuadores sonoros - prática <ul><li>programar o arduino para emitir som </li></ul><ul><li>como ligar o buzzer: fio preto no GND e vermelho no pino de saída desejado </li></ul><ul><li>podemos ligar um resistor em série para diminuir o volume </li></ul>
  14. 14. atuadores sonoros <ul><li>como programar o arduino para tocar uma nota musical? </li></ul><ul><ul><li>uma nota musical é um som em uma determinada frequência </li></ul></ul><ul><ul><li>a frequência de uma nota significa quantas vezes o atuador sonoro vibra em 1 segundo </li></ul></ul>
  15. 15. atuadores sonoros <ul><li>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 </li></ul><ul><li>o tempo de cada variação HIGH e LOW é chamada de período e é o inverso da frequência </li></ul>baixa frequência alta frequência período período 1 segundo
  16. 16. plataforma arduino - linguagem <ul><li>funções </li></ul><ul><li>tipoRetorno nome(tipo parametro1, tipo parametro2) </li></ul><ul><li>{ </li></ul><ul><li>//corpo da fução </li></ul><ul><li>return variavel_do_mesmo_tipo_de_retorno; </li></ul><ul><li>} </li></ul><ul><li>Exemplo: </li></ul><ul><li>int funcaoSoma(int a, int b) </li></ul><ul><li>{ </li></ul><ul><li>int resultado = a + b; </li></ul><ul><li>return resultado; </li></ul><ul><li>} </li></ul>
  17. 17. plataforma arduino - linguagem <ul><li>arrays </li></ul><ul><ul><li>conjunto (sequencia) de variáveis do mesmo tipo </li></ul></ul><ul><ul><li>seus valores são acessados através do índice </li></ul></ul><ul><li>tipo nome[tamanho] = {lista de valores separados por virgula}; </li></ul><ul><li>Exemplo: </li></ul><ul><li>int valores[4] = {100, 200, 300, 400}; </li></ul><ul><li>char vogais [5] = {‘a’, ‘e’, ‘i’, ‘o’, ‘u’}; </li></ul><ul><li>int num = valores[2]; </li></ul><ul><li>int y = 3; </li></ul><ul><li>int x = valores[y]; </li></ul><ul><li>char vogal = vogais[y]; </li></ul>
  18. 18. atuadores sonoros <ul><li>como programar o arduino para para tocar uma nota musical? </li></ul><ul><li>timeHigh = periodo / 2 = 1 / (2 * frequência) </li></ul><ul><li>* nota frequência periodo tempo em nivel alto </li></ul><ul><li>* c (dó) 261 Hz 3830 1915 </li></ul><ul><li>* d (ré) 294 Hz 3400 1700 </li></ul><ul><li>* e (mi) 329 Hz 3038 1519 </li></ul><ul><li>* f (fá) 349 Hz 2864 1432 </li></ul><ul><li>* g (sol) 392 Hz 2550 1275 </li></ul><ul><li>* a (lá) 440 Hz 2272 1136 </li></ul><ul><li>* b (si) 493 Hz 2028 1014 </li></ul><ul><li>* C (dó) 523 Hz 1912 956 </li></ul><ul><li>char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' }; </li></ul><ul><li>int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 }; </li></ul>
  19. 19. <ul><li>atividade prática! </li></ul>
  20. 20. atuadores sonoros - prática <ul><li>programar o arduino para tocar uma nota musical </li></ul><ul><li>void playTone(int tone, int duration) </li></ul><ul><li>{ </li></ul><ul><li>for (long i = 0; i < duration * 1000L; i += tone * 2) </li></ul><ul><li>{ </li></ul><ul><li>digitalWrite(speakerPin, HIGH); </li></ul><ul><li>delayMicroseconds(tone); </li></ul><ul><li>digitalWrite(speakerPin, LOW); </li></ul><ul><li>delayMicroseconds(tone); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  21. 21. <ul><li>atividade prática! </li></ul>
  22. 22. atuadores sonoros - prática <ul><li>tocar uma melodia, baseado na escala de notas abaixo: </li></ul><ul><li>cdef ff cdcd dd cgfe ee cdef ff </li></ul>
  23. 23. Perguntas
  24. 24. <ul><li>eletrônica de novo... </li></ul>
  25. 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
  26. 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
  27. 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
  28. 28. <ul><li>atividade prática! </li></ul>
  29. 29. motores - prática controlando um motor DC
  30. 30. motores - prática controlando um motor DC - protoboard
  31. 31. Perguntas
  32. 32. protocolos de comunicação
  33. 33. comunicação serial – RS232 <ul><li>chip ATMEGA 168 só tem interface serial, não tem USB </li></ul><ul><li>nossa placa arduino possui um chip que converte Serial para USB </li></ul><ul><li>usamos o mesmo cabo USB pra enviar dados pro PC via serial </li></ul>
  34. 34. comunicação serial – RS232 <ul><li>o arduino possui uma biblioteca que implementa comunicação serial </li></ul><ul><li>Serial.begin(); </li></ul><ul><li>Serial.print(); </li></ul><ul><li>Serial.read(); </li></ul>
  35. 35. comunicação serial – RS232 <ul><li>Leds </li></ul><ul><ul><li>TX: dados enviados para o PC </li></ul></ul><ul><ul><li>RX: dados recebidos do PC </li></ul></ul>
  36. 36. <ul><li>atividade prática! </li></ul>
  37. 37. comunicação serial - prática “ Hello Arduino” via serial
  38. 38. comunicação serial - prática
  39. 39. <ul><li>atividade prática! </li></ul>
  40. 40. comunicação serial - prática ler valores do LDR e enviar via serial
  41. 41. displays
  42. 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
  43. 43. <ul><li>atividade prática! </li></ul>
  44. 44. displays de LEDs - prática temporizador digital
  45. 45. displays de LEDs - prática temporizador digital - protoboard
  46. 46. Perguntas
  47. 47. prática final de hoje – luzes e sons <ul><li>montar um “dispositivo” interativo que utilize luz e som como entradas e/ou saídas. </li></ul>

×