SONS DE SIRENES – C/ PIC12F675 (REF341)

Vários sons podem ser obtidos com algumas linhas de código. Venha conferir…

A proposta deste artigo é mostrar como pode ser gerado vários sons de sirene usando praticamente as mesma linhas de código. Para teste usaremos o circuito abaixo:

Usamos apenas um PIC 12F675 e um disco piezoelétrico para reproduzir os sons. Logicamente estamos tratando de um proposta didática. Para uso prático terá que ser acrescentado o circuito de potência para aumentar os níveis de som para a sirene.

A pasta zipada no final do artigo tem os arquivos desta montagem. Ao descompacta-la irá encontrar 4 pastas. Cada uma delas é para uma versão diferentes de compilador. Temos para o CCS C Compiler 3.2, MPLABX IDE, GREAT COW BASIC e a última para os amantes do Assembly (ASM).

Na rotina principal do programa tem uma sucessão de tipos diferentes de sons. Obtive um total de 24 sons diferentes. Uns parecem como as sirenes comerciais. Outros lembram o som de uma arma espacial dos desenhos animados. Tem até com sons exóticos e estranhos. A sugestão é montar o circuito acima e gravar o arquivo hex. Então ouça os vários sons que serão reproduzidos em breve sucessão e escolha o que mais agradar.

Se for o caso, poderá copiar a rotina de um determinado som para uso em outro projeto. Poderá também ‘comentar’ as linhas de código dos sons não desejados e recompilar o arquivo para obter um novo arquivo hex. Com ele grave o PIC.

Fazendo menção as rotinas que produzem os sons, elas são bem parecidas entre si, com pequenas alterações. São laços do tipo ‘for’ aninhados. O mais externo controla a quantidade de repetição do código e consequentemente quanto tempo ficará ligado. O próximo laço ‘for’ controla o passo da execução. A cada repetição deste laço, será notado alterações no som de acordo com a escolha do código. O laço ‘permanência’ controla a duração do último laço de repetição, responsável pelo controle da saída do disco piezoelétrico. Nele pode ser alterado o valor do contador ‘cnt’ que acaba controlando a frequência do som. Como são todos interdependentes, a alteração em um muda os outros. Portanto, caso queira fazer suas próprias experiências na obtenção de sons, lembre-se que exigirá paciência! Altere um valor por vez e compile. Grave o PIC e escute as mudanças. Nem sempre o som será agradável. É pura tentativa e erro!

O circuito deverá ser alimentado com uma fonte de 5 volts. Poderá usar um carregador de celular do tipo USB, com tensão regulada em 5 Volts. Caso queira, você poderá optar pelo uso de pilhas AA. Basta ligar 4 pilhas em série com um diodo 1N4007 para obter 5,3 Volts.

Obs. Esta montagem é experimental, sendo de caráter didático, montada apenas em placa experimental (do tipo “Breadboard”), sujeita a “bugs” ainda não detectados. Está sendo fornecido os arquivos para que cada hobista possa alterar o programa segundo suas necessidades.

Segue abaixo pasta zipada com todos os arquivos com as versões, para compiladores: CCS C Compiler V3.200, Great Cow Basic, MPLAB-IDE 6.61 (ASM) e MPLABX-IDE 3.05 (C):

Efeitos_Sonoros_Sirenes_zip

Manuais:
PIC12F675 datasheet

Curiosidades:
O osso – Excepcional exemplo de força

A retina invertida

A gordura dos mamíferos marinhos

O bico do tucano

Outros assuntos:

Vídeos:
Será que Jesus é Deus?

Como surgiu o universo

Por que existe tanto sofrimento?

O que acontece quando morremos?

Até o próximo artigo!

4 comments on “SONS DE SIRENES – C/ PIC12F675 (REF341)

  1. Olá pessoal!!
    Eu sou um técnico em eletrônica, já aposentado, e pesquisando sobre controles remotos, encontrei este blog, que muito me tem ajudado em minhas pesquisas, quero agradecer_lhes pois, tenho aprendido muita coisa aqui.

  2. Baaumm !!, ia te perguntar se naum tem um botao de pressão pra funcionar o bichinho, vi que no arquivo ´C SOURCE FILE´, diz sobre sw pino 4, mas no circuito nao mostra,será esse ??!!, e aquela questao dos foto acopladores no contador digital, usei o pulso indevido criado ao zerar, pra resetar um timer com 555, dando um retardo no circuito seguinte, funciona bem, abraço !!!

    1. Não tem mesmo. Ao ligar a alimentação irá ocorrer a repetição de cada porção de sons. O objetivo foi dar uma amostra de sons que se consegue com cada rotina. Cada usuário poderá usar as rotinas como bem quiser. Futuramente coloque alguns jumpers ou interruptores para fazer uma sirene com vários tons. Parabéns pela solução do problema!

Comments are closed.

Back To Top