RF 433 Mhz...

Ciao a tutti, ho un problema con la trasmissione RF a 422 Mhz…Quello che vorrei fare è ricevere con arduino mediante un apposito modulo ricevitore RF il segnale proveniente da un telecomando di un cancello… Ho verificato che il telecomando abbia frequenza 433 Mhz e la ha… Il problema è che se collego il modulo ricevitore ad arduino e carico lo sketch seguente, quando premo il bottone del telecomando nel Monitor seriale non succede nulla, cioè è come se il modulo di arduino non riceve alcun segnale… Quale potrebbe essere il problema?.. Grazie mille a tutti…

#include <VirtualWire.h>
void setup()
{
Serial.begin(9600); // Debugging only
Serial.println("setup");
// Initialise the IO and ISR
vw_set_ptt_inverted(true); // Required for DR3100
vw_setup(2000); // Bits per sec
vw_rx_start(); // Start the receiver PLL running
}
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)) // Non-blocking
{
int i;
digitalWrite(13, true); // Flash a light to show received good message
// Message with a good checksum received, dump it.
Serial.print("Got: ");
for (i = 0; i < buflen; i++)
{
Serial.print(buf[i], HEX);
Serial.print(" ");
}
Serial.println("");
digitalWrite(13, false);
}
}

Hai saldato l'antenna al modulino ? comunque sappi che sono come il tempo questi moduli... sono più le volte che non funzionano che quelle in cui vanno...

Ciao, si ho saldato l'antenna al modulo... Il fatto è che se collego ad un secondo arduino un trasmettitore, l'arduino con il ricevitore mi riceve correttamente il messaggio inviato dall'arduino con il trasmettitore... Perchè con il telecomando invece non va?

probabilmente lavora in frequenze vicine ai 433mhz.. bisognerebbe con la bobina di sintonia provare a vedere se lo becchi ma cosìnon riesci più "sentire" l'altro trasmettitore...

No è sbagliato il concetto di base, lui sta facendo filtrare il segnale in ingresso che legge dalla libreria VirtualWire, a meno che il telecomando non usi la stessa libreria non potrà mai vedere cosa sta inviando con questa lib.

In ogni caso dovrebbe ricevere qualche tipo di codice magari senza senso ma qualcosa dovrebbe leggere...

Non credo perchè la virtualWire trasmette il messaggio e in fondo c'appende un checksum, quindi se il checksum ricevuto non combacia con quello della stringa il messaggio viene scartato

azz hai ragione.. mi ero dimenticato del controllo... Allora potrebbe provare avedere se capta il segnale usando un oscilloscopio o la pulsein.

Ciao, grazie a tutti delle risposte... Allora come faccio a ricevere il seganle senza usare la Virtual wire?

Come diceva ratto devi usare la pulseIn() di arduino