Ir ao conteúdo
  • Cadastre-se

RX para controle de portão


Julio Garcia

Posts recomendados

Olá,

Estou fazendo o projeto que já foi desenvolvido para para PIC aqui no forum, mas dessa vez para Arduino e estou com uma duvida. Qual o baudrate do controle de portão?

Eu preciso dessa informação para setar o Serial.read do RX do meu Arduino.

Muito obrigado!

(Sou novo no fórum e o tópico antigo tava fechado)

O Charauis explicou perfeitamente como funciona a transmissão do controle, explicou tão bem que eu descobri que eu descobri que não é tão trivial conseguir o baud rate do controle. Alguém trabalha com Arduino fez um código para o RX?

http://forum.clubedohardware.com.br/rr3-433mhz-pic/383645

Link para o comentário
Compartilhar em outros sites

Resolvi meu problema usando um R33 433.92 e o código fornecido pelo Dene!

/*

ARDUINO DECODIFICADOR HT6P20B COM RESISTOR DE 2M2 NO OSC.

ESTE CÓDIGO NÃO USA TIMER, INTERRUPÇÃO EXTERNA E NEM PINO DEFINIDO DE ENTRADA.

ELE MEDE O TEMPO DO PILOT PERIOD E COMPARA SE ESTÁ DENTRO DA FAIXA DEFINIDA,

SE TIVER ELE PASSA PARA CODE PERIOD E FAZ AS MEDIDÇÕES DE TEMPO EM NIVEL ALTO

SE TIVER DENTRO DA FAIXA ACRECENTA BIT 1 OU 0 NA VARIAVEL _DATA CASO NÃO ZERA AS VARIÁVEIS E RE-INICIA

APOS RECEBER TODOS OS BITS ELE PEGA OS 4 BITS DO ANTE CODE E TESTA PARA SABER SE O CÓDIGO FOI RECEBIDO

CORRETAMENTE, CASO RECEBIDO CERTO ELE COLOCA A VARIAVEL ANTCODE EM 1.

CRIADO POR: JACQUES DANIEL MORESCO

DATA: 28/02/2012 USANDO ARDUINO 0022.

FONES:54 3324 2251 54 9206 7168

E-MAIL: [email protected]

Permitido o uso público, mas deve-se manter o nome do autor.

*/

int x,startbit,ctr,dataok,t1,larpulso,larpulso1,larpulso2,larpulso3,larpulso4,bt1,bt2,antcode=0;
unsigned long _data=0; // DATA é o Código recebio do HT6p20 todos os 28 BITS onde, 22 do coodigo+2 dos botões+4 do anti-codigo;
unsigned long _dur,_dur1; // Duração do Pulso
byte _pin; // Pino que vai receber o sinal RF digital.

void setup(){
_pin=2;
Serial.begin(9600);
pinMode(2, INPUT);
//pinMode(13, OUTPUT);

pinMode(13,OUTPUT); // D13 - 1 RF +VCC
pinMode(12,OUTPUT); // D12 - 2 RF GND
pinMode(7,OUTPUT); // D7 - 7 RF GND
pinMode(5,OUTPUT); // D5 - 10 AF +VCC
pinMode(4,OUTPUT); // D4 - 11 AF GND

digitalWrite(13,1); // D13 - 1 RF +VCC
digitalWrite(12,0); // D12 - 2 RF GND
digitalWrite(7,0); // D7 - 7 RF GND
digitalWrite(5,1); // D5 - 10 AF +VCC
digitalWrite(4,0); // D4 - 11 AF GND
}

void loop(){

//digitalWrite(13, digitalRead(2)); //Pisca o LED conforme o valor da entrada digital, testar interferencias.
if (startbit==0)
{// Testa o tempo piloto até o Bit de inicio;
_dur = pulseIn(_pin, LOW);
if(_dur > 8000 && _dur < 12000 && startbit==0)
{
larpulso=_dur/23;
larpulso1=larpulso-50;
larpulso2=larpulso+50;
larpulso3=larpulso+larpulso-50;
larpulso4=larpulso+larpulso+50;
startbit=1;
_dur=0;
_data=0;
dataok=0;
ctr=0;
}
}

// Se o Bit de inicio OK ENTÃO Inicia a medição do tempo em Nivel ALTO dos sinais, e testa se o tempo está na faixa.
if (startbit==1 && dataok==0 && ctr < 28)
{
++ctr;
_dur1 = pulseIn(_pin, HIGH);
if(_dur1 > larpulso1 && _dur1 < larpulso2) // Se a largura de pulso é entre 1/4000 e 1/3000 segundos
{
_data = (_data << 1) + 1; // anexar um * 1 * para a extremidade mais à direita do buffer
}
else if(_dur1 > larpulso3 && _dur1 < larpulso4) // Se a largura de pulso é entre 2/4000 e 2/3000 segundos
{
_data = (_data << 1); // anexar um * 0 * para a extremidade mais à direita do buffer
}
else
{
/* força finalização do laço */
startbit=0;
}

}




if (ctr==28)
{
if (bitRead(_data,0)==1)
{
if (bitRead(_data,1)==0)
{
if (bitRead(_data,2)==1)
{
if (bitRead(_data,3)==0)
{
antcode=1;
}
}
}
}

if (antcode==1)
{// Se foram recebidos todos os 28 Bits, o valor vai para a variavel _data e pode ser usada como exemplo abaixo.
dataok=1;

Serial.print("ID: ");
Serial.println(_data/16,BIN);
ctr=0;
startbit=0;
antcode=0;
delay(100);
}
}
}

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!