Transmissor de infravermelho com pic e ardudino receber

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?

Exibições: 1984

Responder esta

Respostas a este tópico

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

O problema que até meu professor está apanhando para fazer.

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

se possível 16f28a ou 16f877a

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

Anexos

Oi RSC, 

olha a figura ampliada mostrando o pulso de 38KHz modulado pelos bits.

Rui

Anexos

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

Anexos

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

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço