collapse

* Links de Robótica

* Posts Recentes

Medir Agua que está no Poço por filjoa
[Ontem às 20:58]


URGENTE - display de 7 segmentos com backpack por helderjsd
[20 de Setembro de 2017, 12:30]


Preços e fabricantes de pcb por Sérgio_Sena
[19 de Setembro de 2017, 10:20]


Palavras Cruzadas por Njay
[19 de Setembro de 2017, 02:24]


Isaac Asimov - I, Robot por senso
[18 de Setembro de 2017, 03:41]


Apresentação por TigPT
[17 de Setembro de 2017, 07:31]


ic SL440 da Plessey? por senso
[16 de Setembro de 2017, 13:11]


Compra Colectiva RS-Amidata por brunus
[15 de Setembro de 2017, 22:31]


Ideias para construir um quadrúpede simples por zordlyon
[15 de Setembro de 2017, 10:18]


Preparar bancada de testes por jm_araujo
[14 de Setembro de 2017, 10:24]

Autor Tópico: Módulos RF+Arduinos problemas!  (Lida 869 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.




Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.390
  • 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 !

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.390
  • 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