CAIXINHA DE MÚSICA MULTI-MELODIAS – USANDO RING TONES – C/ PIC 12F675 (REF262)

Cansado de ouvir uma única melodia em sua caixinha de música? Que tal uma com dezenas de melodias?…

Quando você abre uma caixinha de música, provavelmente ouvirá sempre a mesma melodia, repetindo vez após vez. Esta versão eletrônica usa uma EEprom externa para guardar dezenas de músicas em formato de texto (RTTTL ou Ring Tones). Veja abaixo o esquema proposto para esta montagem:
music_bigger

Foi usado um PIC 12F675 para gerar as notas das melodias, as quais foram previamente armazenadas na EEprom externa. A comunicação entre EEprom e Pic é realizada por meio do protocolo I2c, emulado por software, uma vez que o PIC 12f675 não dispõe de hardware interno para isto. Na pasta dos arquivos desta montagem encontramos o arquivo hex para o PIC e outro para a EEprom 24C256. Caso queira substituir melodias, ou mesmo fazer uma nova coletânea, basta acessar sites que forneçam estes ‘ring tones’ e copiar em um arquivo ‘.txt’ de um editor de texto, como o ‘Bloco de Notas’ do Windows, ou similar, como o ‘NotePad’. Não use ‘WordPad’ ou ‘Office’ pois estes acrescentam dados de configuração no início do arquivo, o que poderá causar um mau funcionamento. Vá acrescentando melodias até o total da capacidade da memória. Como saber se já está no limite? Poderá salvar este arquivo de texto e em seguida abrir com o PonyProg2000, alterando o filtro para ‘*’ na caixa de busca, para tornar o arquivo visível em sua pasta. Olhando o arquivo aberto com o Pony fica fácil ver quantas linhas ainda faltam para serem preenchidas. Poderá acrescentar mais melodias no arquivo de texto. Quando sobrar poucas linhas para preencher completamente a memória, mas que não tenha tamanho suficiente para outra melodia, salve como um arquivo hex, usando o PonyProg2000. Este será usado para gravar na EEprom.
Note que nem todos os ‘ring tones’ são funcionais nesta montagem. Devem ser descartadas as melodias que tiverem b>240, que usarem símbolos não padronizados como o ‘_’,’>’, e mais alguns outros.
Devem se parecer muito com o exemplo abaixo:
HauntHouse: d=4,o=5,b=108: 2a4, 2e, 2d#, 2b4, 2a4, 2c, 2d, 2a#4, 2e., e, 1f4, 1a4, 1d#, 2e., d, 2c., b4, 1a4, 1p, 2a4, 2e, 2d#, 2b4, 2a4, 2c, 2d, 2a#4, 2e., e, 1f4, 1a4, 1d#, 2e., d, 2c., b4, 1a4
Um detalhe de funcionamento é que sempre será salvo na EEprom interna do PIC, o endereço da última melodia executada. Ao religar, começará a execução com ela e avançará sequencialmente até recomeçar de novo na primeira melodia.
A alimentação do circuito poderá ser feita com 2 pilhas pequenas AAA em série, somando 3 volts. Poderá usar também uma bateria CR2032, de 3 volts, do tipo ‘botão’, para uma montagem miniatura.
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 pasta zipada com os arquivos da montagem:
cx_musica_bigger

Adicionalmente, em 11/12/2016 foi postado esta versão com interruptor de seleção da melodia a ser tocada. Se for colocado um jumper em paralelo com o interruptor, então tocará sempre a mesma melodia. Veja como ficou o esquema para esta versão:
music_bigger_sel

Segue pasta com os arquivos desta versão abaixo:

MUSIC_BIGGER_SEL

Segue abaixo um vídeo caseiro com esta versão no breadboard:

Manuais:
PIC 12F675
24C256 Datasheet
Ringtones Picaxe
Ring Tones Wikipedia
PonyProg2000

Curiosidades:
Como uma música se torna um sucesso?
Um mundo de música ao toque dos dedos
Observando o Mundo
O sistema de navegação da tartaruga marinha
Monóxido de carbono: O assassino silencioso
Aquedutos romanos — maravilhas da engenharia

Outros assuntos:
Como controlar os gastos
Como podemos saber que Deus existe?
Os humanos tornam-se anjos quando morrem?
Todas as religiões são iguais? Será que todas elas levam a Deus?
O que é o inferno? É um lugar de tormento eterno?
Será que temos data marcada para morrer?

Vídeos:
Como enfrentar o bullying sem partir para a briga
Quem é o Autor da Bíblia?
Será que é amor ou paixão?
Tenha mais paciência
Fale a verdade
Eu me cansei das religiões

Até o próximo artigo!

6 comments on “CAIXINHA DE MÚSICA MULTI-MELODIAS – USANDO RING TONES – C/ PIC 12F675 (REF262)

  1. boas Claudio daria para escolher uma determinada musica e memoriza-la para quando abrir a caixinha tocar sempre essa que foi escolhida

    1. Olá Marcos!
      A montagem foi feita para sempre ir apresentando uma nova melodia ao abrir. Mas nada impede de você fazer um arquivo da eeprom, onde a primeira melodia é a sua preferida, depois as outras. Terá que comentar a parte do programa que recupera da eeprom a última melodia tocada e fazer o ponteiro da eeprom como ‘0’.
      Veja a porção de código abaixo:

      void main() {

      setup_adc_ports(NO_ANALOGS);//ajusta port para analógico no pino 7
      setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);//timer 1 div/8 interno
      setup_comparator(NC_NC_NC_NC);//desliga comparadores
      set_adc_channel(0);//ajusta canal para o conversor ad para o pino 7
      gpio=0; //desliga todas as saídas
      trisio=0b111100;//saidas e entradas
      option_reg=0b10000111;;//tmr0/256,internal
      t0ie=1;//liga interrupção do timer 0
      set_timer1(0);
      enable_interrupts(INT_TIMER1);//liga interrupção do timer 1
      enable_interrupts(GLOBAL);//liga geral das interrupções
      tmr1_on=1;//liga timer 1
      cont=0;
      // pont_m=read_eeprom(0)<<8;//recupera a melodia apos desligar //xxxxxxxxxxxxxxxx comentar // pont_m+=read_eeprom(1);//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx comentar pont_m=0; // xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx acrescente este código f_som=0; Recompile com CCS C compiler para obter o novo hex. Não esqueça de montar um novo arquivo para a eeprom colocando a musica preferida como a primeira. Cláudio

      1. Olá Claudio na verdade acabei esquecendo de comentar da chavinha no pino 4 do pic para se colocar para essa função onde quando se desejar escolher uma determinada musica apertar essa chave e ficaria tocando somente ela e para escolher uma outra musica manter a chave apertada algo do tipo

Comments are closed.

Back To Top