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!

Exibições: 495

Responder esta

Respostas a este tópico

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

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço