collapse

* Posts Recentes

é preciso ter cuidado com ESD? por senso
[Hoje às 01:15]


Potênciometro 4.7 ou 5 KOhm com switch por brunus
[Ontem às 19:35]


Bibliotecas para arduino e drivers de stepper - o problema da 'distracção' por SerraCabo
[Ontem às 02:12]


Zener BZW04-105? por brunus
[11 de Dezembro de 2018, 17:34]


Artigo 11, 13 e os restantes por jm_araujo
[10 de Dezembro de 2018, 11:05]


Compra Colectiva Mouser N3-2018 (limite 25 Nov) por Hugu
[10 de Dezembro de 2018, 01:07]


Ajuda para reparar Luzes de LED de Natal por brunus
[09 de Dezembro de 2018, 00:59]


Como reproteger as pontas de cobre do ferros de soldar? por brunus
[09 de Dezembro de 2018, 00:12]


Usar steppers de 5 pontas como se fossem de 4 pontas por SerraCabo
[08 de Dezembro de 2018, 21:18]


LusoRobótica - Website - Estado actual por Tech_JA
[06 de Dezembro de 2018, 09:18]

Autor Tópico: Módulos RF+Arduinos problemas!  (Lida 1109 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline Constantino

  • Mini Robot
  • *
  • Mensagens: 77
    • Brasil DIY
Módulos RF+Arduinos problemas!
« em: 22 de Junho de 2011, 03:47 »
Oi gente, vou direto ao ponto. Tenho um par de módulos de RF, e dois arduinos. Essa semana fiz os dois se comunicarem e usando char tudo ocorreu bem, enviei uma mensagem e consegui receber sem problemas. Mas o problema é o seguinte não consigo comparar os valores que recebo para ligar um led por exemplo.!

código do meu transmissor!





#include <VirtualWire.h>
#undef int
#undef abs
#undef double
#undef float
#undef round


int poten1=4;
int ptvalor1;
int poten2=5;
int ptvalor2;

int pt1,pt2=0;


char buff[6];
char buf[6];
void setup()
{
     // Initialise the IO and ISR
    vw_set_ptt_inverted(true);
    vw_setup(2000);               
    vw_set_tx_pin(13);             
 
  pinMode(poten1, INPUT);
  pinMode(poten2, INPUT);
}



void loop()
{
  ptvalor1=analogRead(poten1);
  ptvalor2=analogRead(poten2);
 
 
  int msgk = ptvalor1;       // numero de teste
 
  int msd=ptvalor2;



itoa(msgk, buff, 10);

 itoa(msd, buf, 10);
 
 const char *msg = buff ;       // this is your message to send
 const char *ms=buf;
 
   vw_send((uint8_t *)msg, strlen(msg));
   vw_wait_tx();                       // Wait for message to finish
   vw_send((uint8_t *)ms, strlen(ms));
   vw_wait_tx();
   delay(50);
}


Como vocês podem ver, eu pego os valores de dois potenciômetros, transformo em char e envio.



CODIGO DO RECEPTOR




#include <VirtualWire.h> 
#undef int
#undef abs
#undef double
#undef float
#undef round
void setup()
{
    Serial.begin(9600);   

// Initialise the IO and ISR
   // vw_set_ptt_inverted(true);   
    vw_setup(2000);               
    vw_set_rx_pin(11  );             
    vw_rx_start();               
}

void loop()
{
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen))
    {
    int i;
   
       
    for (i = 0; i < buflen; i++)
    {
        Serial.print(buf); 
        }
    Serial.println("");
     }
}



Minha pergunta é: como comparar os valores que recebo com alguma coisa ?

tipo:

if(valorrecebido=="t"){
digitalWrite(led,HIGH);
}

Muito obrigado pelas respostas.




Online senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.586
  • Helpdesk do sitio
Re: Módulos RF+Arduinos problemas!
« Responder #1 em: 22 de Junho de 2011, 03:53 »
Mete o teu código com as tags [ code] [ /code] sem os espaços, para ficar mais bonito.

Uma coisa, isto:
Código: [Seleccione]
#undef int
#undef abs
#undef double
#undef float
#undef round

Não te vai dar problemas?

Sim, para comparar é basicamente assim, agora é meteres na variavel valorrecebido os dados que recbes e ir fazendo a comparação.
Avr fanboy

Offline Constantino

  • Mini Robot
  • *
  • Mensagens: 77
    • Brasil DIY
Re: Módulos RF+Arduinos problemas!
« Responder #2 em: 22 de Junho de 2011, 04:00 »
Opa muito obrigado pela resposta :D

Sinceramente eu não sei o que significa :
Código: [Seleccione]
#undef int
#undef abs
#undef double
#undef float
#undef round

Se puderes me explicar fico muito agradecido.

E não posso colocar na variável valorrecebido por que sempre dá erro !

Online senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.586
  • Helpdesk do sitio
Re: Módulos RF+Arduinos problemas!
« Responder #3 em: 22 de Junho de 2011, 04:20 »
Provavelmente porque não a estás a declarar nem a preencher em lado nenhum.
Avr fanboy