fala galera do ldg
ó eu aqui novamente procurando ajuda kkkk
é o seguinte estou precisando criar um sistema que receba um sinal de um controle remoto daqueles usados em televisores ou mesmo um controle universal
eu tava analisando e percebi que poderia receber estes sinais atraves do timer0,1 do pic mais anda não tenho ideia de como criar este artificio no codigo eu sei que posso habilitar a interrupção para receber este sinal mais o que acontece é que assim que o primeiro pulso bater no pino eu ja travo a execução do programa e consequentemente paro o restante do recebmento do trem de pulsos gerado pelo controle o que eu posso fazer sera que se eu usar o canal seial do pic eu consigo receber todos os sinais?
desde ja agradeço
Tags:
Ola danilo, vc pode fazer uma varredura em uma entrada qualquer do pic, ou ativar a interrupção de mudança de estado de um PORT, então e so analizar o trem de pulso e protocolo que é enviado, ja fiz um circuito com 12f629 que liga e desliga uma lampada com uma tecla de controle remoto de receptor de parabolica, usei uma tecla que é usada para ajuste do receptor. no circuito tem uma chave que é para programar a tecla que quizer. Eu usei a varredura da PORT do PIC, ela tenta achar a condição de Start bit em um PORT, enquanto nao chega o Start ele desvia o programa para o inicio, quando o programa acusa o Start ele grava os "0" e "1" que chegam em 03 Variaveis. Fiz ele comparar tres amostras para ter certeza que é a mesma tecla que esta enviando o codigo.
Vc so tem que saber em qual protocolo o controle transmite para poder decodificar. Abraço
como seria esta rotina?
pois ja causei algumas lesões no celebro tentando achar uma resposta
quanto ao protocolo estive pensando no sirc se eu nao me engano e um dos mais usados o problema
e que antes de mandar o trem de pulsos o controle envia alguns sinais de identificaçao e este e o maior
problema do meu ponto de vista
boa noite Renato
vo dar uma olhada neste conteudo pra ter melhor noção mais acredito que o ponto mais critico seja a rotina de recepção destes sinais no software
Att. Danilo s cabral
Ola Danilo,
Voce ja tem o controle remoto, Qual seria? No projeto que fiz eu usei como receptor o sensor TSOP de um aparelho de parabolica de sucata que tinha aqui em maos pois ja sai o sinal do controle totalmente filtrado e em niveis TTL.. Tenho a rotina de decodificação de um protocolo SIRC em assembly, pode te dar uma ideia de como funciona:
; trem pulso protocolo sirc
;nivel 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
; _-----------_____-----------_____----------_____----------_____----
; | 2.4ms |600us|1.2ms|600us|600us|600us|1.2ms|600us|
; |START | | BIT 1 | BIT 0 | BIT 1 |
btfsc input
call rx_on
rx_on
movlw .25 ;
movwf A0 ;
call delay_100us ;
btfss input ; Start Bit 2.4 ms
return ; se nivel baixar ante do tempo
decfsz A0,f ; sai rotina
goto $-4 ;
;;;;;;;;;;;;;;;;;
movlw .24 ;quantidade de bits de leitura
movwf count_rx
btfsc input ;espera nivel baixar para continuar
goto $-1
call delay_100us
clrf RxBuf
clrf RxBuf1
clrf RxBuf2
rx_loop
btfss input
goto $-1 ;espera subir nivel par ler bit
call delay_600us ;ajuste tempo para saber se é BIT 0 ou 1
bcf STATUS,C ;se depois do tempo baixar nivel é 0
btfsc input ;se nivel for alto é 1
bsf STATUS,C ;
rlf RxBuf2,1 ; Salvando bits de leitura
rlf RxBuf1,1 ;
rlf RxBuf,1 ;
btfsc input ; espera baixar nivel se ja nao estiver
goto $-1 ; para ler proximo bit
decfsz count_rx,1
goto rx_loop
return
bomdia jose rubens o protocolo que irei usar no momento é rc5 da philips
eu criei um codigo que acredito que vai funcionar bem tambem me basiei na contagem do tempo
agora so tenho que monta todo o circuito e ver se funciona futuramente irei implementar o protocolo sirc
Bom dia Danilo, depois de testar posta ai os resultados para a gente aprender um pouco tbm. O protocolo rc5 ainda nao tentei nada, so dei uma olhada de como e codificado.
Abraço.
boa noite jadson
cara eu não manjo nada de arduino
mas se for com pic ai eu posso te ajudar bom pra começar vc tem que definir qual controle remoto vc vai usar eu sugiro ultilizar um da philips ou cce pos ambos usam o protocolo rc5 ai vc tem que ter um semsor tsop
vc vai ter que dar uma olhada no tsop de 37khz pois esta é a portadora que o rc5 ultiliza
o microcontrolador pode ser o pic 16f84a ele custa ums 10 reais ou entam o 16f628a que igual ao outro pino a pino porem tem mais recursos agora se vc nao trabalha com pic ai fica mais dificil eu escrevi todo o meu codigo em assembler (é que eu gosto das coisas mais dificil)
galera hoje montei um hard experimentel mais nun funciono de prima como esperado
não acredito que seja o codigo mais sim o sensor de ir pois quando aciono a tecla do controle ele não esta mudando o nivel logico de acordo com a medição do multimetro e agora o que eu faço não tenho como saber o funcionamento correto deste sensor porque o mesmo não tem nenhuma identificação e nao consigo achar o datasheet acredito que estou com um baita problema nas mãos rsrsrs
vove o que eu faço acho que vou ter que comprar um tsop mesmo
ontem a noite la pelas 22:00 irei o sensor da placa para fazer uma analise e fiquei mais doido ainda rsrs
verifiquei a placa que ele estava instalado para verificar os valores de tensão e era mais ou menos assim so que a saida
so fica em zero volts mesmo quando eu estimulo ele com co controle remoto sera que eu estou fazendo alguma coisa errada? se alguem tiver alguma ideia eu ficaria grato!!
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por