Un saluto a tutto il forum. E 'da poco che mi sono affacciato al mondo Arduino e vorrei provare a decodificare un mio telecomando che utilizza l'encoder ev1527 ad una frequenza di 433MHz.
Ho trovato una libreria opportuna per questa decodifica e devo dire una volta provata il monitor seriale rileva alla grande i parametri dell'encoder.
Ho fatto una prova con un telecomando a tre canali e accendere tre led diversi ma il comportamento è un po strano. A me serviva una funzione che premendo il pulsante di un canale il led si accenda ma appena tolgo la pressione dal pulsante (0) il led si spenga. Diciamo la versione "momentary" e non "latch" di un decoder. Ma questo non avviene ossia il led si accende con irregolarità e a con il pulsante premuto a volte il led lampeggia.
Lo skech semplice che ho fatto è il seguente con un solo pulsante e un solo led in uscita.
Il monitor seriale visualizza il codice decimale, binario, il codice Raw (che non so cosa sia), protocollo ecc.
Io ho preso il numero decimale univoco e l'ho confrontato.
Come dovrei modificare lo skech perchè il led si accenda correttamente ad ogni pressione?
Grazie
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch ();
void setup () {
Serial.begin (9600);
mySwitch.enableReceive (0); // Ricevitore su interrupt 0 => questo è il pin # 2
pinMode (9, OUTPUT);
}
void loop () {
if (mySwitch.available ()) {
output (mySwitch.getReceivedValue (), mySwitch.getReceivedBitlength (), mySwitch.getReceivedDelay (), mySwitch.getReceivedRawdata (), mySwitch.getReceivedProtocol ());
mySwitch.resetAvailable ();
}
if (mySwitch.getReceivedValue () == 2001205) // numero decimale dell'encoder visualizzato dal monitor seriale
{digitalWrite (9, HIGH);}
else {digitalWrite (9, LOW);}
}