22 de jun. de 2013

Projeto 4 - Tocador de melodia com sonorizador piezo

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/CompileSe 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 feedbackisso 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 !!







Comentários
0 Comentários

0 comentários:

Postar um comentário