collapse

* Posts Recentes

O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Emulador NES em ESP32 por dropes
[10 de Abril de 2024, 15:30]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

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