Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,856 views

Published on

Prototipação e toy hacking

Published in: Education
  • Be the first to comment

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

  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>

×