31 outubro, 2012

Gerando Sons No PIC

Haverá momentos que será necessário o uso de sons, seja pequenos bips a até musicas.

A formação de uma onda sonora depende da frequência com que ela é gerada, amplitude e o timbre.
A frequência é a quantidade de pulsos gerado em um período, a amplitude seria a altura com que a onda atinja, já o timbre é o formato da onda, podendo ser quadrada, senoidal, triangular, dente de serra ou desregular mesmo.
*Imagem do Wikipédia


Como o pic trabalha com (1 ou 0) o som de saída será uma onda quadrada:

 *Nota: como o circuito usa diodo, transistores e capacitores, a onda não chega a ser totalmente quadrada dependendo da frequência utilizada:
Caso tiver o interesse de gerar outros tipos de ondas, há a necessidade de variar a potencia de saída e trabalhar o sinal.

O ser humano somente ouve as frequência de 20Hz a 20KHz (20.000 Hz), indiferente do timbre.

Neste site, tem-se as frequências para cada nota gerada:
http://www.eca.usp.br/prof/iazzetta/tutor/acustica/introducao/tabela1.html

Para podermos gerar um tom no PIC, precisamos saber que num ciclo da onda é metade ativa e metade inativa, isto é, a razão cíclica de 50%, portanto se usarmos a nota A3 com 440Hz temos:

F = 440Hz
T = 1/440 = 0,00227272727272727272727272727273 ou = 0,0023s = 2.3ms
50% 2,3ms = 1,15ms
Nos temos 1,15ms ativo e 1,15ms inativo.

Para que consigamos isso teremos de fazer com que o timer estoure a cada 1,15ms ou 880Hz.

Curiosidade:
Já deve ter visto ao configurar a placa de som , que aparece 44.100Hz, esta é a frequência necessária pra gerar 22.050Hz (faixa audível).

Esta parte é fácil de fazer no software, basta configurar o timer de acordo.

Na parte de hardware, o pic consegue manter 25ma de corrente (desenhado em função de uso dos LEDs) com uma tensão de 5v. No total isto é 0,125 watts de potencia, um alto falante comum tem no mínimo 1w a 4 ohms. Mas neste capitulo, somente com um buzzer qualquer já será suficiente.

Dica: Ao programar o PIC, não se esqueça de verificar algum registro se já vem como padrão ser ativado, como o CMCON por exemplo.