Ir ao conteúdo
  • Cadastre-se

RR3 433Mhz PIC 16F628


jaques_conrado

Posts recomendados

Não me parece a melhor ideia tenter receber esses sinais através da uart .

Como vai garantir os timmings e protocolos de transmissão ?

No site da holtek tem muita informação sobre circuitos ENCODER/DECODER :

http://www.holmate.com

http://www.holtek.com/english/tech/appnote/appnote.htm

Link para o comentário
Compartilhar em outros sites

Caro amigo.

Segue abaixo uma parte da rotina em ASM para PIC16F627, que pode te ajudar a decodificar o HT6P20B.

Esta rotina decodifica o sinal de um transmissor com o HT6P20B com um resistor de 2M2 entre os pinos 4 e 5. Isto da um clock interno de 2KHz, ou seja, um periodo de 500us. A rotina preve uma variaçâo deste periodo de 400us a 600us.

Para outro valor de resistor deve-se recalcular a contagem de CLow1, CLow2 e CHigh.


; Flags de Code Learning
;
#define SincOk FCode,0 ; 1 = sincronismo detectado
#define CodOk FCode,1 ; 1 = código OK
#define Check FCode,2 ; 1 = verificação Ok
#define Frame FCode,3 ; 0 = primeiro frame
#define NBlank FCode,4 ; 1 = memória preenchida
#define TBtn FCode,5 ; 1 = temporiza botão
#define Over FCode,6 ; 1 = fim de temporização
;
;
; Definição das variáveis do sistema
;
CBLOCK 0x20
; Sistema
W_ ; usada para salvar contexto
STATUS_ ; usada para salvar contexto
DCnt1 ; usada nas rotinas de atraso
DCnt2 ; usads nas rotinas de atraso
EEAddr ; endereço da EEPROM
EEData ; dado da EEPROM
FCtrl ; flags de controle
FTemp ; flags de temporização
; Code Learning
CLow1 ; sincronismo 0
CLow2 ; sincronismo 0
CHigh ; sincronismo 1
Dado1 ; dados recebidos
Dado2 ; dados recebidos
Dado3 ; dados recebidos
Dado4 ; função dos botões
Dado1_ ; dados para check
Dado2_ ; dados para check
Dado3_ ; dados para check
CBits ; números de bits recebidos
CPulse ; pulso 0 ou 1
FCode ; flags de code learning
CBtn ; temporizador de botão
CPrg ; temporizador de programação
NBtn ; número do botão
FBtn ; função do botão
MAddr ; endereço de memória
ENDC
;
; Constantes
; Interrupção: Fosc/4->[1:256]->TMR0(1:250) = 64 ms
;
EECtrl EQU 0x10 ; endereço dos bits de controle
MxCod EQU 0x04 ; número máximo de controles
KCBtn EQU 0x07 ; CBtn (7 x 64 ms = 448 ms)
;


;
ChkEE
clrf MAddr ; endereço inicial da memória
ChkEE1
movf MAddr,W ; testa o endereço
call TstBlank
btfsc NBlank ; endereço livre?
return ; não, retorna
incf MAddr,F ; sim, próximo endereço
movf MAddr,W
xorlw MxCod ; compara
btfsc STATUS,Z ; MAddr = MxCod?
return ; sim, retorna
goto ChkEE1 ; não, continua
;
; EEAddr = 4 * MAddr
;
GetEEAddr
movwf EEAddr ; salva MAddr
bcf STATUS,C
rlf EEAddr,F ; multiplica por 4
rlf EEAddr,F
return
;
TstBlank
call GetEEAddr ; obtem o endereço da EEPROM
bcf NBlank
call EERead ; verefica se a memória esta zerada
movlw 0x00 ; testa byte 1
xorwf EEData,W
btfss STATUS,Z
bsf NBlank ; memória não zerada
incf EEAddr,F
call EERead
movlw 0x00 ; testa byte 2
xorwf EEData,W
btfss STATUS,Z
bsf NBlank ; memória não zerada
incf EEAddr,F
call EERead
movlw 0x00 ; testa byte 3
xorwf EEData,W
btfss STATUS,Z
bsf NBlank ; memória não zerada
incf EEAddr,F
call EERead
movlw 0x00 ; testa byte 4
xorwf EEData,W
btfss STATUS,Z
bsf NBlank ; memória não zerada
return
;
MemCod
call GetEEAddr ; obtem o endereço da EEPROM
movf Dado1,W ; memoriza o código
andlw 0xFC ; mascara D0 e D1
movwf EEData
call EEWrite ; salva byte 1
incf EEAddr,F
movf Dado2,W
movwf EEData
call EEWrite ; salva byte 2
incf EEAddr,F
movf Dado3,W
movwf EEData
call EEWrite ; salva byte 3
incf EEAddr,F
movf Dado4,W
movwf EEData
call EEWrite ; salva byte 4
return
;
ApgCod
call GetEEAddr ; obtem o endereço da EEPROM
call EEWrite ; apaga byte 1
incf EEAddr,F
call EEWrite ; apaga byte 2
incf EEAddr,F
call EEWrite ; apaga byte 3
incf EEAddr,F
call EEWrite ; apaga byte 4
return
;
DetSinc
bcf SincOk
clrf CLow1
clrf CLow2
clrf CHigh
NBaixo
clrwdt
btfsc RxIn ; Loop de 6us
goto NAlto
incfsz CLow1,F
goto NBaixo
incfsz CLow2,F
goto NBaixo
decf CLow1,F
goto SaiDetSinc
NAlto
clrwdt
btfss RxIn ; Loop de 6us
goto TstCont
incfsz CHigh,F
goto NAlto
decf CHigh,F
goto SaiDetSinc
TstCont
clrwdt
movf CLow1,W ; CLow2=5, CLow1=254 até Clow2=8,CLow1=252
sublw 0xFE ; 254
btfsc STATUS,C
goto Tc00
movlw 0x05 ; 5
subwf CLow2,W
btfss STATUS,C
goto SaiDetSinc
goto Tc01
Tc00
movlw 0x06 ; 6
subwf CLow2,W
btfss STATUS,C
goto SaiDetSinc
Tc01
movf CHigh,W
sublw 0x43 ; 67 loops
btfsc STATUS,C
goto SaiDetSinc
movf CHigh,W
sublw 0x64 ; 100 loops
btfss STATUS,C
goto SaiDetSinc
bsf SincOk
SaiDetSinc
Return
;
LerCod
bcf CodOk
clrf Dado1
clrf Dado2
clrf Dado3
movlw 0x18 ; 24 bits
movwf CBits
Lc06
movlw 0x82 ; 130 loops = 650us
movwf CPulse
Lc00
clrwdt ; loop 5us
nop
decfsz CPulse,F
goto Lc00
btfss RxIn
goto Lc01
bcf STATUS,C
rlf Dado1,F
rlf Dado2,F
rlf Dado3,F
goto Lc02
Lc01
bsf STATUS,C
rlf Dado1,F
rlf Dado2,F
rlf Dado3,F
Lc02
decfsz CBits,F
goto Lc03
btfsc Frame ; primeiro frame
goto Lc30
bsf Frame
movf Dado1,W
movwf Dado1_
movf Dado2,W
movwf Dado2_
movf Dado3,W
movwf Dado3_
goto SaiLerCod
Lc03
movlw 0x64 ; 100 loops = 500us
movwf CPulse
Lc04
clrwdt ; loop 5us
nop
decfsz CPulse,F
goto Lc04
Lc05
btfsc RxIn
goto Lc05
goto Lc06
Lc30
bcf Frame ; compara dois frames
movf Dado1,W
xorwf Dado1_,W
btfss STATUS,Z
goto Lc31
movf Dado2,W
xorwf Dado2_,W
btfss STATUS,Z
goto Lc31
movf Dado3,W
xorwf Dado3_,W
btfss STATUS,Z
goto Lc31
bsf Check
goto SaiLerCod
Lc31
bcf Check
SaiLerCod
return
;
Compara
bcf CodOk ; sinaliza código errado
clrf MAddr ; endereço inicial da memória
LCompara
clrwdt
movf MAddr,W ; obtem o endereço da EEPROM
call GetEEAddr
call EERead
movf Dado1,W ; compara byte 1
andlw 0xFC ; mascara D0 e D1
xorwf EEData,W
btfss STATUS,Z ; são iguais?
goto NextAdr ; não, próximo endereço
incf EEAddr,F ; sim, próximo byte
call EERead
movf Dado2,W ; compara byte 2
xorwf EEData,W
btfss STATUS,Z ; são iguais?
goto NextAdr ; não, próximo endereço
incf EEAddr,F ; sim, próximo byte
call EERead
movf Dado3,W ; compara byte 3
xorwf EEData,W
btfss STATUS,Z ; são iguais?
goto NextAdr ; não, próximo endereço
bsf CodOk ; sim, código ok
incf EEAddr,F ; obtem funções dos botões
call EERead
movf EEData,W
movwf Dado4 ; salva funções dos botões
return ; retorna
NextAdr
incf MAddr,F ; incrementa endereço
movf MAddr,W ; compara
xorlw MxCod
btfsc STATUS,C ; MAddr = MxCod?
return ; sim, retorna
goto LCompara ; não, continua
;
EERead
bcf STATUS,RP0 ; bank 0
movf EEAddr,W ; endereço para leitura
bsf STATUS,RP0 ; bank 1
movwf EEADR
bsf EECON1,RD ; inicia leitura
movf EEDATA,W
bcf STATUS,RP0 ; bank 0
movwf EEData ; salva dado lido
return
EEWrite
bcf STATUS,RP0 ; bank 0
movf EEAddr,W ; endereço para escrita
bsf STATUS,RP0 ; bank 1
movwf EEADR
bcf STATUS,RP0 ; bank 0
movf EEData,W ; dado para escrita
bsf STATUS,RP0 ; bank 1
movwf EEDATA
bcf INTCON,GIE ; desabilita interrupções
bsf EECON1,WREN ; habilita escrita
movlw 0x55
movwf EECON2 ; escreve 55h
movlw 0xAA
movwf EECON2 ; escreve AAh
bsf EECON1,WR ; inicia ciclo de escrita
EEWrChk
clrwdt
btfsc EECON1,WR ; testa ciclo de escrita completo
goto EEWrChk
bsf INTCON,GIE ; habilita interrupções
bcf STATUS,RP0 ; bank 0
bcf PIR1,EEIF ; limpa EEIF
return;
;

Link para o comentário
Compartilhar em outros sites

Chaurais,

Desculpa minha falta de conhecimento, mais estou com algumas duvidas ... como sei se os codigos que estou recebendo estão corretos , outra coisa quando troco a bateria do transmissor colocando uma mais forte os codigos mudam. Exemplo: um dos binarios que recebi foi 0B1011010010100101011110000001 ...

Obrigado,

Jaques

Link para o comentário
Compartilhar em outros sites

Jaques.

O HT6P20B gera um código de 24 bits, sendo 22 bits de endereço e 2 bits de dado. O Endereço é fixo, ou seja, sempre a mesma sequencia de bits 0s e 1s. O dado muda de acordo com o botão pressionado. Se nenhum botão for pressionado teremos D0=0 e D1=1. Outras combinações são: D0=1 e D1=0, D0=0 e D1=1, D0=1 e D1=1. Portanto temos 3 combinações válidas e portanto poderemos ter até 3 botões no controle remoto.

Os bits do endereço e do dado são transmitidos utilizando-se 3 ciclos de clock interno do HT6P20B. Se ligarmos um resistor de 2M2 nos pinos 4 e 5 do HT6P20B, teremos um clock interno de 2KHz e portanto um ciclo de clock de 500us. Assim cada bit será transmitido em 1500us.

Para sabermos se o bit transmitido é 0 ou 1, devemos analisar o segundo ciclo do bit. O primeiro ciclo de cada bit será sempre 0; o segundo será 1 se o bit transmitido for 0 (ZERO) ou será 0 se o bit transmitido for 1 (UM). O terceiro ciclo será sempre 1. Veja a figura para entender melhor.

O código completo compreende 3 partes principais: Piloto, Endereço/Dado e Anti-Código.

O Piloto é formado por 23 ciclos 0 e um ciclo 1.

O Endereço é formado por 22 bits ou 66 ciclos e o Dado por 2 bits ou 6 ciclos.

O Anti_Código é formado por 4 bits (sempre 0101) ou 12 ciclos. Esta parte do código é ignorada pela rotina que te enviei.

Na figura você poderá visualisar melhor o que foi exposto sobre o código completo.

A função da rotina então é identificar o período piloto e depois ler cada bit de endereço e dado.

Para identificar o período piloto, lemos a saída do módulo receptor e contamos quanto tempo ela fica em 0.

Para considerar as variações que o código pode sofrer, consideramos um ciclo de clock interno de 400us a 600us. Então o intervalo de 23 ciclos em nível 0 deve ficar entre 9,2ms a 13,8ms. Se for maior que 13,8ms é porque não estamos recebendo nenhum código e assim devemos sair da rotina.

Após estes 23 ciclos em nível 0, teremos 1 ciclo em nível 1, no nosso caso um intervalo entre 400us a 600us.

Se isto ocorrer, então detectamos o período Piloto. Agora devemos ler os bits que seguem o Piloto. O próximo ciclo será 0 (primeiro ciclo de um bit); aguardamos o tempo de um ciclo + metade de um ciclo. Vamos estar situados então no segundo ciclo do bit. Como temos 24 bits (endereço + dado), vamos utilizar 3 bytes para salvar o código (Dado0, Dado1 e Dado2). Se o segundo ciclo do bit for 0, deslocamos um bit dos 3 bytes que salvam o código, junto com o bit CARRY=0 e fazemos o bit0 de Dado0 = 1; caso contrário só deslocamos com o bit CARRY=0. Aguardamos o término do bit (terceiro ciclo) e lemos o próximo bit, até completar 24 bits. Assim Dado2 terá os bits de endereço de A0 a A7, Dado1 terá os bits de endereço de A8 a A16 e Dado0 terá os bits de endereço de A17 a A21 e os bits de dado D1 e D0, tudo nesta ordem, pois os bits iniciam logo após o sinal piloto, sendo transmitidos de A0 a A21 e depois D1 e D0.

Atte.

Chaurais

post-101595-13884930195629_thumb.jpg

post-101595-13884930195798_thumb.jpg

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

Ola Chauráis

Meu nome é Augusto e gostei muito de sua explicação sobre o funcionamento do HT6P20B.

Estou iniciando na programação de microcontroladores e não estou conseguindo é identificar os 23 primeiros ciclos do piloto para fazer a rotina de leitura do codigo do controle remoto.

Estou utilizando PIC 16F628 e a porta RB0 como input e linguagem C. Meu compilador é o CCS. voce pode me ajudar ?

Grato

Augusto

Link para o comentário
Compartilhar em outros sites

Olá SOSCHIP

Obrigado pela ajuda, mas minha dificuldade nao está com o sinal recebido, mas sim com a rotina em C para ler corretamente a porta BR0 e identificar o sinal. Fiz rotina abaixo para verificar se estou conseguindo ler a porta RB0. Se a porta estiver em nível lógico alto (=1) será enviado um sinal em nível baixo na porta RB4 onde será aceso um led. Mas não estou tendo sucesso com ela.

Augusto

#include <16F628.h>

delay_ms(50);

#use delay(clock=4000000) // informa ao sistema o frequência

// de clock, para temporização

#fuses NOWDT,PUT,NOPROTECT,NOBROWNOUT,MCLR,NOLVP,INTRC_IO,XT //configuração das

//palavras de controle

//internas do PIC

short int pegabit;

void mostra_display(void);

#int_ext // tratamento da interrupção externa. quando houver alteração de nivel logico ocorre a interrupção.

void trata_ext()

{

delay_us(24);

pegabit = input(pin_b0); //lê porta RB0

if (pegabit == 1) //compara se é igual a 1 - nível alto

{

output_low(pin_b4); // manda um niel baixo para a porta RB4 onde esta um led

delay_ms(1000); // espera 1 segundo

output_high(pin_b4); // apaga o led

}

}

void main(void){

}

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Sinto muito, augustongoncalves

Mas eu só trabalho com assembler.

Um dos motivos é que posso criar os códigos e as rotinas da melhor forma possível.

Também não gosto muito de PICs, prefiro 8051 e AVR. Apesar de terem muitas instruções pra aprender, na hora de programar uma única linha assembler substitui várias dos PICs em determinadas funções.

Boa sorte!

Link para o comentário
Compartilhar em outros sites

  • 10 meses depois...
  • 10 meses depois...

pessoal,

ontem comçou a minha luta pra decodificar esse HT...

Mas não dá certo!!!!!!!!!!!!!!

O módulo RF capta interferências e o pic interpreta como se fosse um controle...

Fiz meu código: entrada de sinal Rb1 e um led em rb2

a ideia é fazer acender o led quando um período piloto é detectado...

mas é detectado à toa...

e quando ligo a entrada do pic diretamete a saida de um HT6P20B, o programa funciona de boa...

vejam o meu codigo:


program Decodifica

'vamos definir os symbols...
symbol data=portb,1

'variaveis


'main e declarações
main:
TRISB=00000010 'entradas e saidas...
clearbit(portb,0)

Piloto_92:
'ler a entrada..
If testbit(data)=0 then
delay_us(9200)
If testbit(data)=0 then
goto Piloto_138
end if
else
goto Piloto_92
end if

Piloto_138:
if testbit(data)=1 then
goto Piloto_400
end if
goto piloto_138

Piloto_400:
If testbit(data)=1 then
delay_us(500)
If testbit(data)=1 then
goto dados_0
else
goto piloto_92
End if
Else
Goto Piloto_92
End if

dados_0:
if testbit(data)=0 then
delay_us(500)
if testbit(data)=0 then
setbit(portb,0)
delay_ms(3000)
clearbit(portb,0)
else
goto piloto_92
end if
else
goto dados_0
end if

end.

qual é o problema pessoal!?

Grato!

Link para o comentário
Compartilhar em outros sites

pessoal,

ontem comçou a minha luta pra decodificar esse HT...

Mas não dá certo!!!!!!!!!!!!!!

O módulo RF capta interferências e o pic interpreta como se fosse um controle...

Fiz meu código: entrada de sinal Rb1 e um led em rb2

a ideia é fazer acender o led quando um período piloto é detectado...

mas é detectado à toa...

e quando ligo a entrada do pic diretamete a saida de um HT6P20B, o programa funciona de boa...

vejam o meu codigo:

qual é o problema pessoal!?

Grato!

Adicione aos comando um CRC, pode ser até simples como um bit de paridade, desta forma você poderá testar se o comando recebido é válido ou não. Bem útil quando se usa essas bandas ISM ;)

Link para o comentário
Compartilhar em outros sites

Adicione aos comando um CRC, pode ser até simples como um bit de paridade, desta forma você poderá testar se o comando recebido é válido ou não. Bem útil quando se usa essas bandas ISM ;)

obrigado pela resposta...

você poderia me explicar melhor amigo??

Não entendi nada!

Sou meio leigo..

matheus ryndack

Link para o comentário
Compartilhar em outros sites

Uma solução bem interessante e sem muita complicação, seria voce utilizar a comunicação USART para fazer isso, como?

olha so, habilite o modo usart, envie o byte de comando, o TX do modulo se encarrega de enviar o dado serialmente a o modulo transmissor, o modulo receptor do outro lado recebe esse sinal em formato serial e envia ao RX do outro PIC com seu modulo USART tambem ativo, e recebe o byte de comando!

Viu, sem complicação, o unico cuidado que voce devera ter, sera de configurar o baud rate dos dois PIC, exemplo se for usar 9600bps em um PIC ou outro tambem deve estar configurado com 9600bps!

espero que ajude!

abs.

Link para o comentário
Compartilhar em outros sites

Uma solução bem interessante e sem muita complicação, seria voce utilizar a comunicação USART para fazer isso, como?

olha so, habilite o modo usart, envie o byte de comando, o TX do modulo se encarrega de enviar o dado serialmente a o modulo transmissor, o modulo receptor do outro lado recebe esse sinal em formato serial e envia ao RX do outro PIC com seu modulo USART tambem ativo, e recebe o byte de comando!

Viu, sem complicação, o unico cuidado que voce devera ter, sera de configurar o baud rate dos dois PIC, exemplo se for usar 9600bps em um PIC ou outro tambem deve estar configurado com 9600bps!

espero que ajude!

abs.

eu já havia pensado nisso...

Mass eu quero aproveitar controles prontos, daqueles Ecp, então é decodifica ou decodifica...

alguma ideia pra decodificar amigo?

Link para o comentário
Compartilhar em outros sites

faça o seguinte, use o classico par HT12E e HT12D, funciona assim:

voce ira utilizar meio port pra enviar os comandos, no caso Rb0 a Rb3, esses quatro pinos serão ligados respectivamente ao D7 a D11 do HT12E, e sua saida serial na entrada do modulo RF, do outro lado a saida do modulo RF receptor sera ligada no pino de entrada do HT12D e n sua saida de dados D7 a D11 serão ligados respectivamente em meio port do PIC receptor, no caso Rb0 a Rb3 e esse ira interpretar o comando.

agora vamos ao funcionamento:

no software voce poderá enviar um comando que vai de 0 a 0Fh (0 a 15 em dec ou 0 a 1111 em bin) para o portB, esse comando ira aparecer naquele meio port, assim sera codificado serialmente pelo HT12E e enviado ao modulo de RF, no outro lado, o outro MOdulo RF capta esse sinal, envia ao HT12D em formato serial, esse CI então decodifica o sinal para o formato que foi enviado e o comando 0 a 0Fh ira aparecer no portB do PIC receptor, a partir dai mova pra um registrador criado e compare com uma tabela, cada comando faz algo, um liga isso, o outro liga aquilo...e por ai vai!

duvidas ja sabe ne!

abs.

Link para o comentário
Compartilhar em outros sites

faça o seguinte, use o classico par HT12E e HT12D, funciona assim:

voce ira utilizar meio port pra enviar os comandos, no caso Rb0 a Rb3, esses quatro pinos serão ligados respectivamente ao D7 a D11 do HT12E, e sua saida serial na entrada do modulo RF, do outro lado a saida do modulo RF receptor sera ligada no pino de entrada do HT12D e n sua saida de dados D7 a D11 serão ligados respectivamente em meio port do PIC receptor, no caso Rb0 a Rb3 e esse ira interpretar o comando.

agora vamos ao funcionamento:

no software voce poderá enviar um comando que vai de 0 a 0Fh (0 a 15 em dec ou 0 a 1111 em bin) para o portB, esse comando ira aparecer naquele meio port, assim sera codificado serialmente pelo HT12E e enviado ao modulo de RF, no outro lado, o outro MOdulo RF capta esse sinal, envia ao HT12D em formato serial, esse CI então decodifica o sinal para o formato que foi enviado e o comando 0 a 0Fh ira aparecer no portB do PIC receptor, a partir dai mova pra um registrador criado e compare com uma tabela, cada comando faz algo, um liga isso, o outro liga aquilo...e por ai vai!

duvidas ja sabe ne!

abs.

Se for pra fazer isso eu uso Usart mesmo...

Mas eu quero utilizar o bendido HT, que já tem controles prontos e baratos no mercado, é só decodificar...

Mas esse é oproblema..

Fiz códigos que identificavam tudo, mas parece que tem alguém com outro controle do lado apertando...

você tem alguma ideia?

Link para o comentário
Compartilhar em outros sites

Vem ca, deixa ver se eu entendi, voce quer que seu modulo e seu PIC decodifiquem o codigo vindo desses controles remotos de portoes?

tipo esses?

corrija me se estiver errado!

abs.

Isso mesmo!!!

E que o chip encoder HT6P20B não tem decoder logo isso deve ser feito via software.

Como os controles ECP trabalham a 433,92Mhz, e os controles também...

Já abri uma central desse padrão eles usamum módulo DhAY 433,92Mhz ask, eu comprei um e quero decodificar..

entende??

Eu até consegui mas o modulo capta muitos ruidos e aí o programa pensa que é um controle que está transmitindo..

Comprei também um HT6P20B, e montei um circuito no protoboard, ele funciona beleza com o pic, o problema realmente acontece quando eu coloco a entrada do pic no módulo RX, ele pega muita interfência...

esse controle que uso:

control_key.jpg

Até!

Link para o comentário
Compartilhar em outros sites

Vamos la primeiro um detalhe construtivo, nao monte circuito que trabalhem com frequencias elevadas na protoboard que não vai funcionar

agora voltando, voce conhece o protocolo usado por esses controles?

sabe o tempo exato de cada bit?

verifique esses parametros para ter o correto funcionamento do circuito!

abs.

Link para o comentário
Compartilhar em outros sites

Vamos la primeiro um detalhe construtivo, nao monte circuito que trabalhem com frequencias elevadas na protoboard que não vai funcionar

agora voltando, voce conhece o protocolo usado por esses controles?

sabe o tempo exato de cada bit?

verifique esses parametros para ter o correto funcionamento do circuito!

abs.

já decorei o protocolo...

lei a primeira pagina desse post..

mas mesmo com o modulo receptor não funciona??

apenas ligar alimentação, saida e GND??

sei o tempo exato cara..

Já decorei o protocolo...

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...