Que
montar uma caixinha de música? Ou montar um despertador? Ou até mesmo
colocar aquela musiquinha tradicional em um PABX usando o Arduino? Pois
bem, com muito pouco é possível tudo isso!
Você vai precisar de:
Um Arduino:
Um alto falante (speaker):
Ligue o negativo do seu falante ao GND do Arduino e o positivo ao pino 3:
Na
linguagem C para Arduino existe o comando tune(), com ele é possível
enviar uma frequência por um determinado tempo para um dos pinos PWM
(pulse with modulation) existentes. A sintaxe é:
tone(pino,frequência,duração);
ou
tone(pino,frequência);
Importante
também é saber que ao enviar um novo tom para o pino o tom anterior é
cessado e que também há um comando que faz com que o som pare, cuja
sintaxe é:
noTone(pino);
Sabendo que existem 7 notas musicais básicas:
C
|
Dó
|
D
|
Ré
|
E
|
Mi
|
F
|
Fá
|
G
|
Sol
|
A
|
Lá
|
B
|
Sí
|
E suas respectivas frequências e durações:
Nota
|
Nome
|
Frequência
|
Duração
|
C
|
Dó
|
261 Hz
|
1915 ms
|
D
|
Ré
|
294 Hz
|
1700 ms
|
E
|
Mi
|
329 Hz
|
1519 ms
|
F
|
Fá
|
349 Hz
|
1432 ms
|
G
|
Sol
|
392 Hz
|
1275 ms
|
A
|
Lá
|
440 Hz
|
1136 ms
|
B
|
Sí
|
523 Hz
|
956 ms
|
Com o código abaixo podemos percorrer todas as notas:
Com
um pouco mais de aprimoramento podemos até arriscar algo como Ode para
Joy (partitura obtida em
http://www.music-scores.com/midi.php?sheetmusic=Beethoven_Ode_to_Joy_easy):
O código fonte:
Confesso
que não ficou um clássico do piano, mas dá para entender como se deve
fazer usando-se uma partitura e o conceito de notas semibreves, mínimas,
semínimas, colcheias e etc.
0 comentários:
Postar um comentário