Cerchiamo di capire il codice che lascerò poco più sotto per il ricevitore..
Come per il codice del trasmettitore, includiamo la libreria RC-Switch ed istanziamo un oggetto RC-Switch per poter utilizzare i metodi della libreriaRC-Switch. Per il ricevitore dobbiamo anche inizializzare una linea seriale in modo da poter visualizzare i dati ricevuti nel nostro monitor seriale. Quindi impostiamo la velocità di trasmissione su 9600 bit al secondo ed usiamo il LED integrato per visualizzare quando vengono ricevuti i dati RF.
L’unica proprietà dell’oggetto RC-Switch che dobbiamo impostare è il pin collegato al moduloricevitore. Dopodiché siamo pronti per iniziare a ricevere i dati in modo da poter abilitare l’interrupt del ricevitore utilizzando il metodo.enableReceive().
Questo completa il ciclo di Setup. Nel nostro ciclo principale stiamo sostanzialmente aspettando la ricezione di dati RF controllando continuamente se sono disponibili dati validi con il metodo.available () appropriatamente denominato. Il metodo.available () restituirà vero solo se sono stati ricevuti dati validi.
Tali dati hanno una certa combinazione di bit e sono inviati prima di ogni pacchetto permettendo alla libreria RC-Switch di discriminare il rumore dal pacchetto corretto di dati. Una volta che il metodo.available () ritorna vero, accendiamo il nostro LED per mostrare che i dati sono stati ricevuti, stampiamo i dati ricevuti e la lunghezza dei bit nel nostro monitor seriale, chiamiamo il metodo.resetAvailable () che cancella i dati ricevuti dai buffer permettendoci di ricevere nuovi dati e infine spegniamo il nostro LED.