Fórum

Notifications
Clear all

DTMF pisca led  

Page 1 / 2
  RSS

(@sergiotronic)
Membro Confiável
Joined: 4 anos ago
Posts: 28
4 de Novembro de 2020 15:52  

Lários, como seria um código c (ccs) para um pisca led conforme o JPG em anexo ? No caso usaria só 3 dtmf´s (correspondente à tecla0, tecla1 e tecla5). 3 leds. Cada tom dtmf acende um led correspondente. Se fechar Ch1 somente 1 tom+1 led continuam funcionando. Vou usar aqui na bancada para avançar em outra montagem. Pode ser útil também como base para outros colegas que visitarem este post. Abçs.


Quote
(@clarios)
Membro Honorário Admin
Joined: 9 anos ago
Posts: 313
7 de Novembro de 2020 16:49  

Trabalhar com pulsos DTMF é mexer com rotinas do tipo DFT (famosas transformadas de Fourier). Isto exige muito processamento, coisa que o nosso amiguinho 12f675 não permite.

No entanto, me lembro de ter visto a algum tempo atrás uma Note Application da Microchip onde foi implementado um DFT simplificado (pasmem : trabalhando a um bit). Mesmo assim, consumia mais de 1800 bytes de flash. O 12f675 tem apenas 1024.

Quando tiver um tempo vou pesquisar para ver se encontro o artigo e se tem exemplos de uso.


ReplyQuote
(@sergiotronic)
Membro Confiável
Joined: 4 anos ago
Posts: 28
8 de Novembro de 2020 11:33  

Aqui neste site tem um (eu acho),

 
No caso teria que ativar os pinos 4 e 7 como saídas para ter três leds (pino 4,5 e 7)

ReplyQuote
(@clarios)
Membro Honorário Admin
Joined: 9 anos ago
Posts: 313
10 de Novembro de 2020 11:11  

A maioria destes decoders para dtmf encontrados na internet tem bastante limitações. Alguns são instáveis, outros precisam que o tom fique por mais de 1 segundo, e coisas do gênero. Talvez você poderia montar em protoboard a montagem citada e testar se ela é realmente funcional para o que você pretende fazer  antes de tentar fazer qualquer modificação. Eu encontrei outra no site  RomanBlack. Mas o problema é o mesmo: será que é funcional para suas necessidades? Só se você testar.


ReplyQuote
(@sergiotronic)
Membro Confiável
Joined: 4 anos ago
Posts: 28
12 de Novembro de 2020 09:48  

Big Lários, tivemos a mesma idéia. Eu montei ontem a noite e funcionou bem, fiz muitos testes. Digo, funcionou conforme citado naquele site, com 12f675. Quando digo que funcionou bem quero dizer que todas as vezes que eu gerei os dtmfs o PIC reconheceu acionando a sua saída no pino 5 (coloquei um led). A minha necessidade descrita no primeiro PDF deste tópico é bem mais simples, porém só a sua boa vontade e motivação poderá alterar o ASM (quem sabe até transpôr para CCS). Vai ser uma mão na roda para demais projetos. Saudações.


ReplyQuote
(@sergiotronic)
Membro Confiável
Joined: 4 anos ago
Posts: 28
12 de Novembro de 2020 09:49  

Ops, PDF não, JPG


ReplyQuote
(@sergiotronic)
Membro Confiável
Joined: 4 anos ago
Posts: 28
12 de Novembro de 2020 10:16  

Problema é que eu preciso de 3 led´s e 1 chave e no 12f675 não tem pinos sobrando. Vou pensar em algo e posto aqui depois. Abçs.


ReplyQuote
(@clarios)
Membro Honorário Admin
Joined: 9 anos ago
Posts: 313
20 de Novembro de 2020 11:19  

Analisando o esquema do JPEG que você enviou, ele não trabalha com cristal. O cristal é importante para a rotina e sem ele não funciona. Então descarte este esquema. Talvez um 16F676 possa ser usado.

Mas qual foi a rotina que você testou e que funcionou? Poderia me passar o link?

This post was modified 1 semana ago by Claudio Larios

ReplyQuote
(@sergiotronic)
Membro Confiável
Joined: 4 anos ago
Posts: 28
21 de Novembro de 2020 07:43  

Testei aquele mesmo do link da minha mensagem anterior, este: https://pe1grl.khds.nl/dtmf/dtmf.htm

 

Logo no começo tem um 12f675 com cristal e logo abaixo da imagem tem o código ASM. Na entrada ÁudioIN liguei na saída de áudio da placa de som onboard do meu PC. E gerei os DTMF´s neste link aqui: https://onlinetonegenerator.com/dtmf.html

 

Para gerar uma sequencia de DTMF para testar a montagem, usei este link: https://www.audiocheck.net/audiocheck_dtmf.php

 

Nele, mais abaixo em File Generator, basta digitar a sequencia desejada e fazer o download

 


ReplyQuote
(@clarios)
Membro Honorário Admin
Joined: 9 anos ago
Posts: 313
21 de Novembro de 2020 15:16  

Obrigado por sua resposta e os links.

Funcionou bem para você? Qual foi a senha que usou para ligar e desligar a saída? Foi a citada no artigo #346962#1* para ligar e #346962#0* para desligar?

O gerador de sequências DTMF on-line referenciado por você gera tons curtos e rápidos. Fico admirado que tenha funcionado bem usando ele! Geralmente neste tipo de montagem você tem que entrar lentamente com os tons e demorar um pouquinho mais no tempo tanto do tom como da pausa para funcionar (meio lerdo).


ReplyQuote
(@sergiotronic)
Membro Confiável
Joined: 4 anos ago
Posts: 28
22 de Novembro de 2020 12:24  

Funcionou sim Lários, gravei o .HEX e gerei naquele outro site as sequencias (senhas) que acendem e apagam o led (para apagar tem que esperar 10 segundos). Funcionou bem.


ReplyQuote
(@clarios)
Membro Honorário Admin
Joined: 9 anos ago
Posts: 313
23 de Novembro de 2020 19:24  

Assim que tiver um tempinho vou montar este circuito que você indicou para ver como se comporta.


ReplyQuote
(@clarios)
Membro Honorário Admin
Joined: 9 anos ago
Posts: 313
23 de Novembro de 2020 19:24  

Ah! Obrigado por ter retornado  mais uma vez!


ReplyQuote
(@sergiotronic)
Membro Confiável
Joined: 4 anos ago
Posts: 28
26 de Novembro de 2020 11:26  

Boa Lários, se conseguir ao menos passar o código para CCS no PIC 16F676 já será bacana demais, mas não com aquela senha formada por sequencias. Apenas com 3 ou 4 dtmf´s (3 ou 4 teclas à livre escolha) acionando 3 a 4 leds com opção de modo pulso ou retenção. Abçs.


ReplyQuote
(@clarios)
Membro Honorário Admin
Joined: 9 anos ago
Posts: 313
26 de Novembro de 2020 18:41  

O código é imenso já usando uma linguagem eficiente como o asm. Programando com linguagem C tende a piorar o gasto com posição de memória flash. Mas achei interessante a metodologia usada. Assim que eu tiver um tempo irei estudar estes arquivos em asm. Quem sabe consiga alguma coisa. Mas isto vai demorar um pouco.


ReplyQuote
Page 1 / 2
Back To Top