Projeto
4 - Tocador de melodia com sonorizador
piezo
Olá pessoal, neste projeto você aprenderá como fazer
melodias ao invés de fazer apenas barulhos irritantes. Você fará com seu
Arduino o refrão da música “Puff, the Magic Dragon”. O esquema será igual ao
Projeto 3, porém com o código modificado.
Os códigos serão todos comentados para melhor
entendimento, podendo ser retirados após a compreensão de cada linha. Bom
trabalho !!!
Componentes
necessários
1 Protobord
1 Sonorizador piezo (ou disco piezo)
Conectando
os componentes
Primeiro,
certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB.
Agora, pegue sua protoboard, o sonorizador piezo e os fios, e conecte tudo como
mostra a figura.
Observação importante: Verificar a polaridade do sonorizador piezo.
Não
importa se você utiliza fios de cores diferentes ou furos diferentes na protoboard,
desde que os componentes e os fios estejam conectados na mesma ordem da figura.
Tenha cuidado ao inserir os componentes na protoboard. Caso sua protoboard seja
nova, a superfície dos furos ainda estará rígida. A não inversão cuidadosa dos
componentes pode resultar em danos.
Certifique-se
de que o sonorizador piezo esteja conectado corretamente, com um terminal no
GND e o outro no pino 8 do arduino. Quando
você estiver seguro de que tudo foi conectado corretamente, ligue seu Arduino e
conecte o cabo USB.
Agora vamos ao código
Abra
seu IDE do Arduino e digite o seguinte código:
// Projeto 4 – Tocador de melodia com
sonorizador piezo
/* A diretiva #define é muito simples e útil,
esta diretiva simplesmente
um valor e seu token correspondente, por
exemplo, #define PI 3.141592653589793238462643.
No decorrer do seu programa você não precisa
digitar todo o valor de PI, apenas #define PI.*/
#define NOTE_C3 131
#define NOTE_CS3 139
#define NOTE_D3 147
#define NOTE_DS3 156
#define NOTE_E3 165
#define NOTE_F3 175
#define NOTE_FS3 185
#define NOTE_G3 196
#define NOTE_GS3 208
#define NOTE_A3 220
#define NOTE_AS3 233
#define NOTE_B3 247
#define NOTE_C4 262
#define NOTE_CS4 277
#define NOTE_D4 294
#define NOTE_DS4 311
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_FS4 370
#define NOTE_G4 392
#define NOTE_GS4 415
#define NOTE_A4 440
#define NOTE_AS4 466
#define NOTE_B4 494
#define WHOLE 1
#define HALF 0.5
#define QUARTER 0.25
#define EIGHTH 0.125
#define SIXTEENTH 0.0625
// Definimos um array de valores inteiro
tune[], preenchendo as notas da melodia "Puff, o Dragão Mágico"
int tune[] = { NOTE_C4, NOTE_C4, NOTE_C4,
NOTE_C4, NOTE_C4, NOTE_B3, NOTE_G3, NOTE_A3, NOTE_C4, NOTE_C4, NOTE_G3,
NOTE_G3, NOTE_F3, NOTE_F3, NOTE_G3, NOTE_F3, NOTE_E3, NOTE_G3, NOTE_C4,
NOTE_C4, NOTE_C4, NOTE_C4, NOTE_A3, NOTE_B3, NOTE_C4, NOTE_D4};
// Criamos um array de floats que armazena a
duração de cada nota, conforme melodia tocada
float duration[] = { EIGHTH, QUARTER+EIGHTH,
SIXTEENTH, QUARTER, QUARTER, HALF, HALF, HALF, QUARTER, QUARTER, HALF+QUARTER,
QUARTER, QUARTER, QUARTER, QUARTER+EIGHTH, EIGHTH, QUARTER, QUARTER, QUARTER,
EIGHTH, EIGHTH, QUARTER, QUARTER, QUARTER, QUARTER, HALF+QUARTER};
int length;// Este inteiro será utilizado
para calcular e armazenar o comprimento do array (número de notas na melodia)
void setup() {
pinMode(8, OUTPUT); // Definimos o pino digital 8 como saída
length = sizeof(tune) / sizeof(tune[0]); // A função sizeof retorna o
número de bytes
}
void loop() {
for
(int x=0; x<length; x++) { //
Definimos um loop que itera o número de vezes correspondente as notas da
melodia
tone(8, tune[x]); // Então a próxima nota do array tune[] é reproduzida
no pino digita 8
delay(1500 * duration[x]); // Aqui esperamos o tempo necessario para que
a melodia seja reproduzida
noTone(8); // Antes que a nota seguinte seja tocada você cessa o tom
gerado no pino 8
}
delay(5000); // Espera 5 segundos antes de tocar a melodia novamente
}
Os
países anglófonos mantiveram a utilização de letras para a nomenclatura das
notas musicais. As letras A, B, C, D, E, F e G são utilizadas para as notas lá,
si, do, ré, mi, fá e sol, respectivamente (fonte: Wikipedia).
Para certificar se o código está
correto pressione o botão Verify/Compile. Se
tudo estiver correto pressione o botão Upload
para fazer o upload do código para seu Arduino. Pronto, no seu terceiro
projeto você ouvirá o som sendo emitido pelo sonorizador piezo.
Vídeo
do projeto pronto
- Se você gostou do post,
por favor comente! Nos dê
um feedback, isso nos incentiva a continuar! :)
- Curta nossa fan page !
- Baixe o APP Faça Com Arduino e carregue para onde você for os projetos. É simples. É fácil !!