Ciao a tutti.
Apro un nuovo post perchè l'argomento è nuovo ma mi allaccio ad uno che avevo aperto qualche giorno fa "Telecomando termostufa" nel quale tra l'altro sono sparite alcune risposte.
Lo scopo principale è di riuscire a leggere il segnale del telecomando della termostufa che pare essere sui 433Mhz.
Su suggerimento di un utente del forum mi sono munito di rx a 433MHz (non prorpio quella da lui suggerita ma dovrebbe essere simile.) La potete vedere in allegato.
Poi, senza andare troppo su difficile con il telecomando della termostufa ho vuloto provare a leggere il segnale di un radiocomando del cancello che sicuramente lavora su quella frequenza (e non ha il rolling code).
A questo punto, cercando un po' di documentazione in giro ho scaricato la libreria VirtualWire ed ho utlizzato l'esempio incluso per la ricezione:
#include <VirtualWire.h>
const int led_pin = 13;
const int transmit_pin = 12;
const int receive_pin = 11;
const int transmit_en_pin = 3;
void setup()
{
delay(1000);
Serial.begin(9600); // Debugging only
Serial.println("setup");
// Initialise the IO and ISR
vw_set_tx_pin(transmit_pin);
vw_set_rx_pin(receive_pin);
vw_set_ptt_pin(transmit_en_pin);
//vw_set_ptt_inverted(true); // Required for DR3100
vw_setup(2000); // Bits per sec
vw_rx_start(); // Start the receiver PLL running
pinMode(led_pin, OUTPUT);
}
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(led_pin, HIGH); // 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(led_pin, LOW);
}
}
Ho collegato l'rx a arduino, ho caricato l'esempio ed ho aperto il monitor seriale. Ho cominciato a premere il pulsante dell'apricancello ma niente, non succede niente.
Ho interpretato male io lo scopo della libreria o sto sbagliando qualcos'altro?
HO anche provato con la libreria RC-Switch ma anche in questo caso non funziona.
Riuscite ad aiutarmi?
Si, l'avevo letto. Si basa appunto sull'altra libreria che ho provato, la RCswitch. Anche in questo caso ho provato l'esempio incluso nella libreria ma niente da fare, non ricevo niente.
Ho tenuto premuto il pulsante del telecomando per un paio di minuti; che siano troppo pochi?
Per non lasciare in sospeso questo post vi comunico gli aggiornamenti.
Dopo varie prove sono riuscito ad ottenere dei risultati con la libreria rc-switch e un radicomando che serve per far suonare un campanello (praticamente un campanello wireless della avidsen).
Questo significa che il modulo rx funziona correttamente ma purtroppo non con il radiocomando apricancello, tantomeno con il radiocomando della termostufa che era il mio obbiettivo.
A questo punto vorrei solo capire se è un "problema" di libreria o se lavorano con protocolli diversi. Secondo voi?
Preciso anche che con la libreria virtualwire, invece, non ottendo nessun risultato neanche con il campanello e questo ma fa un po' sperare che possa essere un "problema" della libreria.
Adesso non so nel caso Tuo com'é realizzato il protocollo del telecomando ma per cause di sicurezza puó essere bidirezionale e il cancello trasmette alla chiave un codice che la chiave deve criptare e rispedire in modo che il cancello sa se il telecomando é quello giusto. Nelle automobili viene fatto cosí.
Ciao Uwe
Ummmm, non credo perchè con i telecomandi apricancello universali riesco tranquillamente a memorizzare quello originale.
Questo vuol dire che l'universale riceve tranquillamente il segnale....
Accertato che il modulo rx funziona correttamente, potrebbe essere la libreria che non arriva a fare la scansione del mio telecomando?
Mi spiego meglio: ho usato lo stesso modulo rx per leggere i segnali inviati da una sonda di temperatura wireless (433Mhz) della Oregon . Per fare questo mi sono servito di un codice per arduino trovato in rete. Ho provato, con lo stesso codice a rilevare sempre una sonda di temperatura a 433Mhz ma non della Oregon e in questo caso non ho rivevuto niente. Come è possibile? LAvorano tutte e due sulla stessa frequenza...
Non potrebbe essere lo stesso caso che capita con l'apricancello (o telecoamndo stufa)? La libreria riceve correttamente il segnale inviato dal campanello (così come il codice riceve dalla sonda Oregon) ma non interpreta invece l'apricancello (così come il codice per la sonda NON Oregon)
Spero di essere stato abbastanza chiaro. Quando uno non si intende molto di questa materia cerca di esprimersi al meglio...