Olá Garagistas!
Estou com um problema, estou fazendo um trabalho para meu curso de automação e não estou conseguindo resolver um problema.
Bom configurei o arduino para receber os comando de um controle remoto de tv, ok tudo funcionando e ativando as portas corretamente. O problema que acabou se tornando um desafio até para o professor:
Fazer o pic transmitir os sinais para o arduino, ou seja, fazer ele se tornar o controle remoto.
Alguém poderia me ajudar?
Tags:
Oi RSC, boa noite,
você quer fazer um transmissor para controle remoto com um PIC? Correto?
Com a ajuda do seu Prof. seu trabalho será facilitado.
Primeiro você tem que escrever o código para o teclado,
depois de acordo com cada tecla selecionada você envia o code para o leitor de RC com arduino.
O importante é usar o mesmo protocolo.
Normalmente o pessoal escreve códigos par o Arduino , usando o protocolo NEC.
http://techdocs.altium.com/display/FPGA/NEC+Infrared+Transmission+P...
este link mostra como os dados devem ser transmitidos,
e aqui no LdG tem bastante tópicos tratando deste assunto (Receptor), e mostrando estes protocolos.
Rui
Oi RSC bom dia.
vou ver se escrevo um code.
Tem algum PIC que você tem preferencia ou posso escrever para o PIC16F1847?
Mas eu escrevo em C Hi-Tech.
Rui
OI RSC, boa tarde.
Segue a copia de um código pra o PIC16F628a.
Este código não tem a parte do teclado, pois ele é fácil de resolver ou encontrar na Net.
Para testar eu usei dois valores fixos nas variáveis ADDR e DATAC.
Ao escrever o código para seu controle, ao apertar uma determinada tecla,
ela deve enviar para estas variáveis os valores que deverão ser enviados o Receptor.
A freqüência da portadora deveria ser exatos 38KHz, mas o PWM do PIC em 4 Mhz, só permitiu
ou 38.462Hz ou 37.037Hz. Eu deixei com 38.462Hz.
A saída modulada pelo 38Khz é no port B3 (Pino 9) e a saída sem modulação é no port A0 (Pino 17).
Anexo também uma tela que capturei do PIC e o formato do protocolo NEC
Rui
Oi RSC,
olha a figura ampliada mostrando o pulso de 38KHz modulado pelos bits.
Rui
Sr. RSC. bom dia.
esta é uma nova versão do código.
Nela a saída fica em zero qdo não tem pulso.
Rui
Senhor Rui, obrigado pela sua ajuda, irei testar os códigos amanha....
Rodrigo,
Não esqueça de dizer ao seu professor que nota ele da para o Rui. rsrsrsrs.
Abs.
caso funcione aqui o professor será obrigado a dar nota 10, e pode ter certeza que irei dar os créditos para o senhor Rui
Senhor Rui, me tira uma duvida, no caso eu tenho um valor de um controle remoto que eu estava usando antes, posso jogar esse valor no ADDR?
Exemplo FF8217
RSC, bom dia,
O protocolo NEC, para o qual escrevi este código, utiliza 4 bytes:
a saber:
1 byte de endereço do dispositivo;
1 byte de complemento do endereço do dispositivo;
1 byte de comando para dispositivo;
1 byte de complemento do comando para dispositivo.
Com esta informação, eu utilizei a variável ADDR para o endereço
e a variável CMD para o comando.
Os complementos delas foram calculados e colocados nas variáveis NotADDR e Not CMD.
O número que você apresenta tem 3 Bytes, é necessário saber se eles são um
comando de algum outro protocolo, ou uma sequencia de comandos.
Isto você terá que descobrir , identificando qual protocolo o seu receptor utiliza.
Rui
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por