USANDO UM PIC PARA DETECTAR UMA FAIXA DE FREQUÊNCIA ESCOLHIDA – COM PIC 12F675 (DIDÁTICO)

Gostaria de usar um tom para acionar uma saída de um PIC, quando este corresponder a uma faixa de frequência desejada? Veja mais …

Muitos controles remotos ainda usam tons de frequência para controlar saídas. Este é o caso de alguns brinquedos , como pequenos ‘carrinhos’ que se movem para frente e para os lados apenas. O proposto neste artigo é usar o timer 0 para contar, em uma janela de tempo, o sinal de tom gerado no transmissor, que queremos usar para controlar o PIC. Em princípio, medimos a frequência do sinal e depois a comparamos com um valor inferior e outro superior, e se estiver dentro desta faixa, irá acionar a saída. Para facilitar as coisas, foi usado um delay de 3,906 Ms para a medição. No exemplo, a frequência alvo será 32khz. Assim, quando o timer 0 contar ‘128’ dentro do delay citado, teremos uma frequência de 32khz na entrada. Caso queira outras frequências para a faixa de passagem, basta lembrar que multiplicando o valor a comparar por 256, teremos a frequência.

Exemplo: Faixa inferior: 12
Faixa superior: 18
Portanto:
12 x 256 = 3072 hertz
18 x 256 = 4608 hertz

Com estes valores, teremos o acendimento do led a partir de 3072 Hertz até 4607 Hertz.
O mínimo possível é 1 x 256= 256 Hertz e o máximo é 255 x 256 = 65khz. Para outros valores, necessita uma mudança nos tempos de delay de contagem ou mesmo, usar prescaller no timer 0.

Veja agora o esquema abaixo:

Neste temos uma saída ligada na DB9 (serial) e com ajuda de um terminal de serial (HyperTerminal, por ex.) a 38400 bauds , 8 bits, sem paridade, nenhum controle, podemos visualizar o valor do timer ao termino de uma amostragem. Caso não queira usar a parte da serial, poderá comentar o comando -> ‘#define teste’, logo no começo do arquivo asm e depois recompilar. Com respeito a frequencia alvo desejada, podemos compilar com outros valores e carregar no pic. Com a serial em uso, podemos ver o valor do timer 0 no exato momento que o led liga ou desliga, a medida que alteramos o sinal da entrada , no pino 5. Poderá usar um gerador de sinais de onda quadrada. Senão, monte um pequeno circuito com um ci 555, com vcc nos pinos 4 e 8. Ligue gnd no pino 1. Interligue os pinos 2 e 6 e juntamente ligue um capacitor de 1000 pf ao gnd, e ainda dos pinos 2 e 6, um resistor de 1k em série com um extremo do potenciometro de 22k e o centro ligado ao pino 3 do 555. Do pino 3 teremos a saída de frequência para o teste. Ajuste o potenciometro para variar a frequência e veja o resultado no monitor do PC, bem como o efeito no led. Veja abaixo, um ‘print screen’ do que será observado na tela do PC.

Lógicamente, podemos fazer várias janelas de comparação, permitindo com isto, acionar varios pinos de saída de um PIC. Dá margem a construção de um sistema de controle remoto por tom, com poucos componentes, mas com muitas saídas. Vai da sua criatividade!!!
Obs. Esta montagem é de natureza didática, sendo montado e testado apenas em placa de protoboard, sujeita a bugs ainda não detectados. Esta sendo fornecido o arquivo ASM que poderá ser alterado conforme a necessidade do hobista. O uso de tom junto com receptor e transmissores comerciais ( do tipo usado em portões) está limitado as frequências de modulação abaixo de 4khz, por terem banda passante limitada.

Segue o arquivo ASM:

32KHZ_SENSOR_ASM

Segue o arquivo HEX:

32KHZ_SENSOR_HEX

Em 11/09/2020 foi postado mais uma pasta com todos os arquivos desta montagem.  Na pasta zipada abaixo contém arquivos em formato C para Compilador CCS C Compiler e MPLABX. Adicionalmente tem em formato basic usando o  compilador Great Cow Basic, além dos arquivos asm para Mplab-Ide:

32khz_Sensor_Zip

Em 19/09/2020 foi postado o exemplo  a seguir, escrito em linguagem C de um transmissor (TX) e um receptor (RX) baseado em controle por tom. Opera entre 300 e 900 HZ, com 5 canais, os quais podem ser configurados para modo retenção ou pulso de forma individual.

Obs. Deve ser evitado o uso de meio de transmissão por  rádio frequência, pois ruídos  captados ou outros sinais transmitidos por outros equipamentos podem acionar as saídas de forma aleatórias. Segue a pasta zipada com os arquivos deste exemplo:

Controle_Remoto_Tom_via_fio_zip

Manuais:
Pic12f675

Curiosidades:
Tenha uma boa noite de sono
“Mayday! Mayday! Mayday!” — a chamada que salva vidas
Vasa: tragédia vira atração turística
O ouro que moveu montanhas
Quando comer peixe lhe faz mal
Você sabia?
Quem criou as leis que governam o Universo?
Como o árabe tornou-se a lingua dos instruidos
Mestres medievais da astonomia
Faça bom uso de sua curiosidade
Florestas tropicais – como explorar sem destruir?
Busca de um céus mais seguros
O que aprendemos dos projetos da natureza?
Nostalgicos moinhos de vento!
A história da ‘cortiça’
Carros – no presente e no passado
O sistema de ‘spray’ do besouro
Ouvindo sons do espaço
Porque as estrelas são cintilantes?
Uma voz silenciosa que pode se ouvida

Outros assuntos:
Como acabar com a tática do silêncio
Os milagres são possíveis – 3 objeções
Como enfrentar o bullying sem ter de partir para a briga (animação)
Como criar filhos responsáveis
Como administrar o seu dinheiro
Ensine valores morais a seus filhos
Ensine seus filhos bons principios com atividades de colorir
Como posso ter ânimo para exercitar
Como posso controlar meu peso?
Entrevista com um bioquímico
Adolescentes- O que fazer se estou sofrendo bullying?
Como evitar ferir com palavras?
Como tratar seu cônjuge com respeito?

Até o próximo artigo!!!

Clique aqui para comentarios/sugestões fora deste tópico

20 comments on “USANDO UM PIC PARA DETECTAR UMA FAIXA DE FREQUÊNCIA ESCOLHIDA – COM PIC 12F675 (DIDÁTICO)

    1. Olá onixtecnologia!

      Aparentemente parece que está ao contrário, mas está correto. As linhas do RS232 alternam entre +15v e -15v, e quando é -15 volts irá carregar o capacitor com seu lado positivo para o gnd.
      Cláudio

  1. ❓ Olá larios, qual o limite máximo da frequência neste exemplo aqui para detectar uma frequencia que eu fiz o calculo e de 65.536hz, e isto mesmo? como pode ser feito para detectar uma frequencia de 150khz, exemplo um leitor de rfid. para poder testar se o ocilador do leitor esta na faixa certa de 125khz…. 😐

    1. Olá Foxconn! Como você pretende usar esta montagem? Pelo que sei (lí alguns artigos apenas) , o rfid é passivo. Ele necessita de um transmissor apropriado que, ao transmitir, além da informação, a rf é usada para gerar o VCC do circuito do rfid. A partir do VCC, ele retorna uma transmissão para o equipamento mestre em tempos apropriados.
      Como você vai ‘alimentar’ o rfid?
      Cláudio

      1. Olá Claudio, este cicuito vai ser este mesmo do seu exemplo para detectar a frequencia, so vai ter que bolar um leitor com uma bobina, quanto a leitura eu vou usar um um leitor rfid de aproximação comercial mesmo, ele ligado ja gera por rf a frequencia de 125khz, que e gerada por uma bobina a tag de aproximação, isto seria para testar o funcionamento do leitor rfid, a alimentação do leitor e os 12vcc seria de fonte normal mesmo, com um regulador interno para abaixar para os 5vcc do cicuito do leitor. a minha ideia seria para fazer um leitor de tag para acesso em uma porta e gerenciar os usuarios previamente cadastrado. Se me puder ajudar nesta minha curiosidade e creio de mais colegas aqui do blog fico agradecido, abraço….

        1. Olá Foxcon! Capturar a frequência citada exigirá circuitos apropriados de rf, visto que não tem ligação direta no circuito do rfid. Eu sou sincero em dizer que não sei como poderia fazer isto.
          Mas é um assunto interessante para pesquisa.
          Claudio

Comments are closed.

Back To Top