Ciao!
Per un progetto ho avuto la necessità di creare una rete di più moduli, tenendo sotto controllo i costi e il consumo di batteria.
Curiosando in rete ho trovato che i moduli nRF24l01 (di cui vi avevo già parlato qui) potrebbero fare al caso mio.
Infatti con questi moduli è possibile non solo una comunicazione trasmettitore/ricevitore, ma anche creare una "rete" composta da un "master" e fino a 6 "slave" collegati allo stesso master.
Ho trovato molti esempi non funzionanti, anche a causa della confusione creata dalle molte librerie disponibili per questo modulo.
L'unico progetto funzionante è questo Instructables(in inglese) dell'utente Millervet, grazie al quale sono riuscito a capire il funzionamento di questo sistema.
Ecco un video che mostra il comportamento dei 2 moduli slave.
Questi sono gli schemi per collegare i moduli nRF24l01 al nostro Arduino:
Ecco quello per il modulo "master", la scheda che controllerà tutti gli altri moduli.
E questo è lo schema per realizzare gli "slave" i moduli che in questo progetto riceveranno i dati dal "master".
Ecco il codice da caricare nel modulo "master"
Questo invece quello per i moduli "slave"
cambiare il valore della variabile "WHICH_NODE" in base al nodo (massimo 6 slave quindi valori da 1 a 6)
Ciao!
Seguimi sulle mie pagine per rimanere sempre aggiornato sui nuovi post!
Per un progetto ho avuto la necessità di creare una rete di più moduli, tenendo sotto controllo i costi e il consumo di batteria.
Curiosando in rete ho trovato che i moduli nRF24l01 (di cui vi avevo già parlato qui) potrebbero fare al caso mio.
Infatti con questi moduli è possibile non solo una comunicazione trasmettitore/ricevitore, ma anche creare una "rete" composta da un "master" e fino a 6 "slave" collegati allo stesso master.
Ho trovato molti esempi non funzionanti, anche a causa della confusione creata dalle molte librerie disponibili per questo modulo.
L'unico progetto funzionante è questo Instructables(in inglese) dell'utente Millervet, grazie al quale sono riuscito a capire il funzionamento di questo sistema.
Ecco un video che mostra il comportamento dei 2 moduli slave.
Questi sono gli schemi per collegare i moduli nRF24l01 al nostro Arduino:
Ecco quello per il modulo "master", la scheda che controllerà tutti gli altri moduli.
E questo è lo schema per realizzare gli "slave" i moduli che in questo progetto riceveranno i dati dal "master".
Ecco il codice da caricare nel modulo "master"
Questo invece quello per i moduli "slave"
cambiare il valore della variabile "WHICH_NODE" in base al nodo (massimo 6 slave quindi valori da 1 a 6)
Ciao!
Seguimi sulle mie pagine per rimanere sempre aggiornato sui nuovi post!
Consiglio anche di valutare le librerie di MySensors.org che sono abbastanza semplici
RispondiEliminaGrazie mille gli darò un'occhiata!
EliminaCiao, volevo chiederti un informazione si possono fare due master e uno slave. Cioè mi servirebbe che due arduino nano inviano dei dati diversi ad un singolo arduino Mega.
RispondiEliminaGrazie in anticipo!!
Buongiorno, programma molto interessante, che risolverebbe i miei "problemi" di gestione tabelloni.
RispondiEliminaHo provato a far "parlare" un arduino uno (master) con un mega ( purtropo al momento ho solo due antenne!) ma sembra che i due non si parlino; il mega non da' alcun segnale di ricezione, sull'arduino uno lampeggia invece il led RX e sulla seriale ottengo una serie (scusa i "bisticcio")di zeri. Ovviamente ho mantenuto i PIN del trasmettitore ed ho cambiato quelli del ricevitore (CE --> 49, CSN --> 53, SCK -->52, MOSI --> 51 e MISO --> 50). Escluderei problemi di Hardware in quanto ho provato a scaricare l'esempio "GettingStarted" e funziona .
Hai qualche idea su come superare l'empasse?
Io, purtroppo, ho pochissime esperienze di programmazione (ricavate dai vari tutorial)e praticamente nessuna di elettronica
Grazie in anticipo + saluti.
Enrico
Risolto inserendo una "base" con condensatore sulle antenne.
EliminaI condensatori li avrai saldati tra i pin Vcc e Gnd, cosa che è determinante su tutti gli nRF24L01 perché funzionino. ( 10 - 50 uF )
EliminaPer le librerie invece è un gran caos. Non sono per nulla compatibili tra loro e quelle aggiornate non vanno mai bene. Io ne trovai una funzionante tempo addietro e mi capita spesso di doverla reinstallare.
No, ho utilizzato delle basi (costo ca. 1.50€!)già presenti sul mercato, , alimentandole a 5 V sono riuscito a trasmettere a ca. 500 mt (con antenna). Purtroppo ogni tanto il programma si "impalla" e devo spegnere e riaccendere per farlo ripartire.
EliminaSaluti
Buongiorno mi chiamo Juri e sono alle prime armi con arduino. Ho fatto un pò di pratica con ingressi ed uscite analogiche e digitali senza grossi problemi ma con la comunicazione wireless che mi serve per trasmettere i dati di un sensore remoto non riesco a venirne a capo. Ho provato diversi sketch e configurazioni incluso il presente senza successo. Non riesco a farli comunicare.
RispondiEliminaNello specifico ho caricato gli sketch su due arduino pro nano ma non comunicano.
Ho cambiato solo quanto sotto indicando HIGH o LOW in tutte le configurazioni possibili.
const int pinCE = 9; //settare basso per modulo in standby, alto modulo acceso
Chiedo una mano, mi scuso in anticipo per l'ignoranza :)