técnicas de prototipação II computação física – Aula 03
Tiago Barros | [email protected]
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
3
relembrando
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
5
sensores sonoros
• circuito para amplificar o sinal do microfone para o arduino
6
sensores sonoros
• já temos o circuito pronto!
7
atividade prática!
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
Perguntas
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
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
12
atividade prática!
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
• 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
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
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; }
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
• 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 };
19
atividade prática!
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
atividade prática!
22
atuadores sonoros - prática
• tocar uma melodia, baseado na escala de notas abaixo:
• cdef ff cdcd dd cgfe ee cdef ff
23
Perguntas
24
eletrônica de novo...
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çã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
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
atividade prática!
29
motores - prática
controlando um motor DC
30
motores - prática
controlando um motor DC - protoboard
31
Perguntas
protocolos de comunicação
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
atividade prática!
37
comunicação serial - prática
“Hello Arduino” via serial
38
comunicação serial - prática
39
atividade prática!
40
comunicação serial - prática
ler valores do LDR e enviar via serial
displays
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
atividade prática!
44
displays de LEDs - prática
temporizador digital
45
displays de LEDs - prática
temporizador digital - protoboard
46
Perguntas
47
prática final de hoje – luzes e sons
• montar um “dispositivo” interativo que utilize luz e som como entradas e/ou saídas.
Top Related