Flaa garagistas tudo na paz?

Seguinte comprei um daqueles modulos rf (modelo Fs1000A), entretanto não consigo faze-lo funcionar...

Estou executando os exemplos que vem na biblioteca VirtualWire, mas não está dando certo...
Já soldei as antenas nos modulos, mas não ajudou...

O que eu poderia fazer para descobrir o que está dando de errado??

Obrigado a todos 

Exibições: 697

Responder esta

Respostas a este tópico

Niguem??

Envie links sobre esse modulo.

Sua rotina e sua ligação.

Colega ja tive esse mesmo problema Nao é problema fisico nao é na programaçao 

tente este codigo aqu

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 

  • int x,startbit,ctr,dataok,t1,larpulso,larpulso1,larpulso2,larpulso3,larpulso4,bt1,bt2,antcode=0;

    unsigned long _data=0; 

    unsigned long _dur,_dur1;     

    byte          _pin;    // PINO  receber o sinal RF digital.2

    //para Cada controle Sao uzados 2 variaveis < conter > uma para cana 

    /// canal do controle

    // Cada botao é um canal diferente ou seja quase 

    // inpossivel burlar este sistema 

     

     

    int counter = 1;////////////////////CANAL 1/////controle 1/////////"variavel Counter"    

    int countero = 1;////////////////////CANAL 2/////controle 1/////////"variavel Countero"

    int counter1 = 1;////////////////////CANAL 1/////controle 2/////////"variavel Counter"    

    int counter2 = 1;////////////////////CANAL 2/////controle 2/////////"variavel Countero"

    int counter3 = 1;////////////////////CANAL 1//////controle 3////////"variavel Counter"    

    int counter4 = 1;////////////////////CANAL 2//////controle 3////////"variavel Countero"

                          ////////PODE ADICIONAR VARIOS CANAIS...          

                         ////////CADA CANAL DEVE TER DUAS VARIAVEIS

     

    void setup()

     

    {

      _pin=2;

      Serial.begin(9600);

      pinMode(2,  INPUT);

      pinMode(13,OUTPUT);

      pinMode(9, OUTPUT);

      pinMode(3, OUTPUT);

    }

     

    void loop()

     

    {

     

    digitalWrite(3, 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.println(_data,DEC);

               Serial.println(counter,DEC);

            

               ctr=0;

               startbit=0;

               antcode=0;

               delay(100);

               ////////////////////CANAL 1//////////////"variavel Counter"

              /////Colocar codigo botao liga

               if (_data==145199317)//////dentro do parentes vai o codigo do botao         

                 { if(counter==1)

               digitalWrite(13, HIGH);

               

               

                       

               counter++;

              if(counter==3)

              digitalWrite(13, HIGH);

              

               if(counter==3)

               counter=(1);

            

             }else{

               ////////////////////CANAL 2//////////////"variavel Countero"

               /////Colocar Codigo botao Desliga

               if(_data==145199333)                

              

               {

               if(countero==1)

               digitalWrite(13, LOW);

               countero++;

     if(countero==3)

     digitalWrite(13, LOW);

     if(countero==3)

     countero=(1);

            

             }

             }

           }

             }

             }

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

  • o pino data do receptor por na porta 2 do arduino 

Olá utilizei o seguinte o tutorial como base: http://www.instructables.com/id/RF-315433-MHz-Transmitter-receiver-...

Edson este código é para o receptor? Qual código eu uso no transmissor?

na realidade o trasmissorque utilizo é um controle

Como assim um controle?
Aqueles de portão? 
Usei o código, que você passou mas não funcionou... Usei uma chave de carro para testar porque não tenho nenhum controle de portão.

Também testei usando o próprio transmissor (usando o código de exemplo da VirtualWire) mas não obtive sucesso 

Olá José, tudo certo?
Já tinha dado uma olhada neste tutorial, mas acredito que ele não sirva porque usa um outro módulo rf..
O meu modelo é o Fs1000A
Abraços

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço