técnicas de prototipação II  computação física – Aula 03 Tiago Barros  |  [email_address]
técnicas de prototipação II computação física – Aula 03 plataforma arduino sensores e atuadores sonoros controlando dispositivos mais potentes motores DC comunicação serial displays
relembrando
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
sensores sonoros circuito para amplificar o sinal do microfone para o arduino
sensores sonoros já temos o circuito pronto!
atividade prática!
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).
Perguntas
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
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
atividade prática!
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
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
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
plataforma arduino - linguagem funções tipoRetorno 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;  }
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];
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 };
atividade prática!
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);  } }
atividade prática!
atuadores sonoros - prática tocar uma melodia, baseado na escala de notas abaixo: cdef ff cdcd dd cgfe ee cdef ff
Perguntas
eletrônica de novo...
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
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
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
atividade prática!
motores - prática controlando um motor DC
motores - prática controlando um motor DC - protoboard
Perguntas
protocolos de comunicação
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
comunicação serial – RS232 o arduino possui uma biblioteca que implementa comunicação serial Serial.begin(); Serial.print(); Serial.read();
comunicação serial – RS232 Leds TX: dados enviados para o PC RX: dados recebidos do PC
atividade prática!
comunicação serial - prática “ Hello Arduino” via serial
comunicação serial - prática
atividade prática!
comunicação serial - prática ler valores do LDR e enviar via serial
displays
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
atividade prática!
displays de LEDs - prática temporizador digital
displays de LEDs - prática temporizador digital - protoboard
Perguntas
prática final de hoje – luzes e sons montar um “dispositivo” interativo que utilize luz e som como entradas e/ou saídas.

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

  • 1.
    técnicas de prototipaçãoII computação física – Aula 03 Tiago Barros | [email_address]
  • 2.
    técnicas de prototipaçãoII computação física – Aula 03 plataforma arduino sensores e atuadores sonoros controlando dispositivos mais potentes motores DC comunicação serial displays
  • 3.
  • 4.
    sensores sonoros microfonestransformam 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
  • 5.
    sensores sonoros circuitopara amplificar o sinal do microfone para o arduino
  • 6.
    sensores sonoros játemos o circuito pronto!
  • 7.
  • 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).
  • 9.
  • 10.
    atuadores sonoros Buzzerpiezoelé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
  • 11.
    atuadores sonoros Buzzerpiezoelétrico 2 fios: preto é negativo e vermelho é positivo aplicando uma tensão variável produz vibração que é traduzida em som
  • 12.
  • 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
  • 14.
    atuadores sonoros comoprogramar 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
  • 15.
    atuadores sonoros parafazer 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
  • 16.
    plataforma arduino -linguagem funções tipoRetorno 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; }
  • 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];
  • 18.
    atuadores sonoros comoprogramar 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 };
  • 19.
  • 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); } }
  • 21.
  • 22.
    atuadores sonoros -prática tocar uma melodia, baseado na escala de notas abaixo: cdef ff cdcd dd cgfe ee cdef ff
  • 23.
  • 24.
  • 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.
    relembrando – modulaçãoPWM 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.
    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.
  • 29.
    motores - práticacontrolando um motor DC
  • 30.
    motores - práticacontrolando um motor DC - protoboard
  • 31.
  • 32.
  • 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
  • 34.
    comunicação serial –RS232 o arduino possui uma biblioteca que implementa comunicação serial Serial.begin(); Serial.print(); Serial.read();
  • 35.
    comunicação serial –RS232 Leds TX: dados enviados para o PC RX: dados recebidos do PC
  • 36.
  • 37.
    comunicação serial -prática “ Hello Arduino” via serial
  • 38.
  • 39.
  • 40.
    comunicação serial -prática ler valores do LDR e enviar via serial
  • 41.
  • 42.
    eletrônica – displaysde 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.
  • 44.
    displays de LEDs- prática temporizador digital
  • 45.
    displays de LEDs- prática temporizador digital - protoboard
  • 46.
  • 47.
    prática final dehoje – luzes e sons montar um “dispositivo” interativo que utilize luz e som como entradas e/ou saídas.