604
contributi
Modifiche
Da GolemWiki.
m
Di base, ogni modulo è contraddistinto da una coppia di indirizzi (anche identici): trasmissione e ricezione. Ogni pacchetto inviato è marcato con l'indirizzo di trasmissione scelto e sarà processato da un modulo ricevente solamente se corrisponde al suo indirizzo in ricezione. Il protocollo 'TL;DR'Enhanced ShockBurst™'' dispone nativamente di una utile funzione di conferma ricezione (autoACK), eventualmente disattivabile.
EventualmenteIn linea di massima ogni modulo è contraddistinto da una coppia di indirizzi (anche identici), in trasmissione e ricezione. Ogni pacchetto inviato è possibile configurare fino ad marcato con l'indirizzo di trasmissione scelto e sarà processato da un massimo modulo ricevente solamente se corrisponde al suo indirizzo in ricezione. Il protocollo dispone nativamente di 6 indirizzi una funzione autoACK: l'unità trasmittente attende la conferma di avvenuta ricezione (ACKnowledgement), altrimenti ritenta l'invio. Ogni modulo può ricevere o trasmettere, ma la comunicazione è ''pipeshalf duplex'') su uno : non è ammessa la bidirezionalità nello stesso moduloistante di tempo.
Non ho provato, ma '''Da testare''': si può provare ad impostare uno tentare di creare un canale broadcast impostando lo stesso indirizzo di ricezione su a più moduli per creare un canale simil-broadcast. Conviene disabilitare e disabilitando l'autoACK, che diventa a questo punto deleterio.
[Bozza] Aggiunte info sull'adattatore
== Principi di funzionamento ==
Per maggiori informazioni tecniche si consiglia la lettura del [https://www.sparkfun.com/datasheets/Components/SMD/nRF24L01Pluss_Preliminary_Product_Specification_v1_0.pdf manuale] del chip.
=== Pinout e connessione ad Arduino ===
[[File:Esempio.jpg|200px|thumb|none|Pinout versione a 8pin]] [[File:Esempio.jpg|200px|thumb|none|Pinout versione a 10pin]]
È necessario scaricare la libreria RF24 dal gestore librerie. Negli esempi sono già presenti degli sketch di prova per testare il corretto funzionamento del modulo (es. pingpair).
=== Funzionamento della penna usb ===
Gli adattatori USB in commercio permettono di collegare il modulo nRF24 al PC in modo diretto, senza passare da Arduino.
Nel caso in esame si è usato l'adattatore commercializzato da [http://www.chinalctech.com/index.php?_m=mod_product&_a=view&p_id=1207 LC Technology]. Tale adattatore:
* forza gli indirizzi di ricezione e trasmissione a <code>0x0110104334</code>;
* viene identificato dal PC come una comune porta seriale (su Linux, ad esempio: ''/dev/ttyUSB0'') a 9600 baud;
* si avvia per default in modalità trasmettitore. Per passare a ricevitore è necessario cortocircuitare i due pin SWIM e GND per qualche istante.
Per testare la comunicazione si mette a disposizione il seguente sketch di esempio da caricare su Arduino.
All'accensione invia un riepilogo della configurazione del modulo nRF24 e si pone in ascolto di pacchetti trasferiti, per passare in modalità trasmissione è sufficiente battere ''T''.
==== Clone fatto in casa ====
Viste le esigenze richieste dal [[Archerino|Progetto Arcieri]] abbiamo realizzato una nostra versione dell'adattatore USB. I file del circuito stampato, del codice sorgente e le istruzioni di caricamento sono versionate su [https://git.golem.linux.it/giuliof/nRF24-key git].
Agendo opportunamente sul file di configurazione da caricare in memoria è possibile configurare ognuno dei registri dell'nRF24.
== Riferimenti ==