Bom eu tentei o tutorial que tem aqui no labgaragem do modulo RF e garagino e não funciona ....eu tenho 2 modulos RF ,2 receptores e 2 transmissor e os 2 estão funcionando ...eu testei eles com CI dedicados HT12e ,HT12D ambos funcionam...
No arduino não funciona,tentei com a biblioteca do arduino e nada ...testei em varios pinos e nada...eu tenho 4 atmega 328 fiz o teste em todos....
Sera que pode ser a programação ....!!!ajuda!
Tags:
kra, posta o esquema q vc ligou e o codigo q esta utilizando... fica mais facil ajudar! eu jah testei 2 pares aki em ksa e funcionou corretamente...
Cara eu recentemente fiz um transmissor/receptor com um par destes com PIC 4 canais 2 analogicos e 2 digitai, funciona corretamente. Posta o circuito e o código para nós vermos.
Abçs
Utilizei essa Programação e não funcionou linkhttp://labdegaragem.com/profiles/blogs/como-utilizar-os-modulos-rf-...
3. Sketch Módulo Receptor
- Transfira o sketch abaixo para o Garagino do módulo receptor:
#include <VirtualWire.h> //Inclui a biblioteca VirtualWire.h
void setup()
{
//++++++++++++++Inicializa o módulo receptor+++++++++++++++++++
vw_set_ptt_inverted(true);
vw_setup(2000);
vw_set_rx_pin(2); //Configura o pino D2 para a leitura dos dados
vw_rx_start(); //Inicia a leitura de dados do módulo receptor
//==============================================================
//Configura os pinos de 6 a 9 como saída
for(int i=6;i<=9;i++)
{
pinMode(i, OUTPUT);
}
//======================================
}
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN]; //Variável para o armazenamento do buffer dos dados
uint8_t buflen = VW_MAX_MESSAGE_LEN; //Variável para o armazenamento do tamanho do buffer
if(vw_get_message(buf, &buflen)) //Se no buffer tiver algum dado (O ou 1)
{
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//Incrementa a posição para a leitura do buffer por i (0 a 4)
//Incrementa a posição dos pinos digitais por j (6 a 9)
int j=6;
for (int i = 0; i < buflen; i++,j++)
{
buf[i] = buf[i] - 48; //Pega o dado do buffer que é recebido em hexadecimal e subtrai 48
if(buf[i] == 1) //Se o dado na determinada posição do buffer for igual 1
{
digitalWrite(j,!digitalRead(j)); //Inverte o estado do respectivo pino digital
}
}
//========================================================================================
}
}
4. Sketch Módulo Transmissor
- Transfira o sketch abaixo para o Garagino do módulo transmissor:
#include <VirtualWire.h> //Inclui a biblioteca VirtualWire.h
char *nibble = "0000"; //Cria a variável nibble com o valor 0000
int le_pino; //Cria a variável para a leitura dos pinos digitais
void setup()
{
//++++++++++++++Inicializa o módulo transmissor+++++++++++++++++++
vw_set_ptt_inverted(true);
vw_setup(2000);
vw_set_tx_pin(3); //Configura o pino D3 para a leitura dos dados
//================================================================
//Configura os pinos de 6 a 9 como entrada
for(int i=6; i<=9; i++)
{
pinMode(i, INPUT_PULLUP);
}
//======================================
}
void loop()
{
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//Incrementa a posição para o armazenamento no nibble por i (0 a 4)
//Incrementa a posição dos pinos digitais por j (6 a 9)
int j=0;
for(int i=6;i<=9;i++,j++)
{
le_pino = digitalRead(i); //Lê o estado do botão
if(le_pino == 1) //Se o botão estiver pressionado
{
while(le_pino == 1) le_pino = digitalRead(i); //Aguarda o botão ser despressionado
nibble[j] = '1'; //Armazena na respectiva posição do no nible o caracter 1
}
else nibble[j] = '0'; //Senão armazena na respectiva posição do no nible o caracter 1
}
vw_send((uint8_t *)nibble, strlen(nibble)); //Envia a variável nibble
vw_wait_tx(); //Aguarda o fim de transmissão
//=======================================================================================
}
Boa noite,
Você tentou deixar o pino de TX e RX default ? Se não, faça este teste,,,
Abs
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por