sexta-feira, 7 de agosto de 2015

Reproduzindo som com seu arduino

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
E
Mi
F
G
Sol
A
B


E suas respectivas frequências e durações:

Nota
Nome
Frequência
Duração
C
261 Hz
1915 ms
D
294 Hz
1700 ms
E
Mi
329 Hz
1519 ms
F
349 Hz
1432 ms
G
Sol
392 Hz
1275 ms
A
440 Hz
1136 ms
B
523 Hz
956 ms


Com o código abaixo podemos percorrer todas as notas:

// Constantes com as notas
#define DO  262
#define RE  294
#define MI  330
#define FA  349
#define SOL 392
#define LA  440
#define SI  523
 
void setup() {
pinMode(3,OUTPUT);
pinMode(13,OUTPUT);
}
 
void loop() {
digitalWrite(13,HIGH);
tone(3,DO);
delay(500);
tone(3,RE);
delay(500);
tone(3,MI);
delay(500);
tone(3,FA);
delay(500);
tone(3,SOL);
delay(500);
tone(3,LA);
delay(500);
noTone(3);
digitalWrite(13,LOW);
delay(5000);
}

← Postagem mais recente Postagem mais antiga → Página inicial

0 comentários:

Postar um comentário