Ciao a tutti ![]()
Qualcuno ha provato a usare i moduli nrf24l01+ con un atmega standalone(con ide arduino)?
In pratica devo montare una scheda che comunichi con un altro arduino per terminare la tesina( macchina radiocomandata). Il programma quando utilizzo due arduini va bene senza problemi, quando però provo a utilizzare i moduli con un ping tra arduino e cip stand alone non va niente. Il ping è preso dagli esempi e i chip se utilizzati tra due arduini funzionano correttamente. Ho controllato tutte le saldature e mi darei un 90% di fiducia sulle saldature. La basetta e la piu semplice possibile, regolatore di tensione, quarzo , condensatore e resistenza tra reset e vcc. e abbassamento tensione a 3V3 per il RT
Ora i miei dubbi: la scheda arduino prevede magari qualcosa per la trasmissione che la mia scheda potrebbe non avere? ad esempio sui pin di MISO MOSI e CLK?
Sul Reference dell SPI c'è un pin SS (slave select) , nel programma base non è presente l utilizzo di questo pin , e (scusate se ripeto) tra due arduini funziona tutto correttamente, da qui un altro dubbio , arduino prevede un collegamento a questo pin pre impostata che io devo fare sulla mia basetta?
ciao
cicciofranco:
Ciao a tutti
Qualcuno ha provato a usare i moduli nrf24l01+ con un atmega standalone(con ide arduino)?
Si e per fortuna senza problemi.
cicciofranco:
quando però provo a utilizzare i moduli con un ping tra arduino e cip stand alone non va niente.
Sei sicuro che il tuo standalone funzioni? Prova con un programma tipo Blink e vedi se va.
cicciofranco:
la scheda arduino prevede magari qualcosa per la trasmissione che la mia scheda potrebbe non avere? ad esempio sui pin di MISO MOSI e CLK?
No.
Prova a ricontrollare i collegamenti, non solo come bontà delle saldature ma anche come esattezza dei pin.
ciao
pippo72
MISO, MOSI e CLK sono pin fissi, a seconda del chip che usi.
Il pin SS è a scelta, su Arduino Uno di solito i tre fissi sono 13,12 e 11 e quindi viene naturale usare come SS il 10, ma non è obbligatorio usare quello.
"It is, however, possible to use any pin as the Slave Select (SS) for the devices. "
In stand-alone sul AtMega328 quali pin usi? PB5->SCK PB4->MISO PB3->MOSI PB2->pin 10 arduino uno (SS)
Cosa intendi per programma base? Quel modulo non ha una libreria standard nell'IDE. Devi scaricare una libreria di terzi.
Quale usi ?
Come libreria uso la mirf. Lo stand alone l ho provato cob il blink quindi il pin 13 penso vada. Il problema allora potrebbe essere sul miso o mosi. @pippo72 Ma il ss non è necessario quando si utilizza quel modulo Rt giusto? Perché utilizzando due arduini non mi si è mai posto il problema
cicciofranco:
@pippo72 Ma il ss non è necessario quando si utilizza quel modulo Rt giusto? Perché utilizzando due arduini non mi si è mai posto il problema
Non so cosa tu abbia combinato, ma l'utilizzo del pin SS fa parte del protocollo SPI e NON puoi trascurarlo pena ...
... strani malfunzionamenti ! ]![]()
Guglielmo
Se la libreria è questa:
http://playground.arduino.cc/InterfacingWithHardware/Nrf24L01
dice che il pin Select è di default il 7. Quindi non lo dichiari perchè di default è quello.
Puoi cambiarlo:
Mirf.csnPin = 9;
Mirf.init();
Scusate allora c'è stato un mio errore di comprensione. Il cepin nel programma lo imposto io pensavo dovessi impostare anche l ss su arduino. Il problema sarà sulle saldature, ricontrollero
Scusa ma il CePin è una cosa, il csnPin un'altra (il pin SS le vedi a volte indicato come CS)
Si sorry l ho scritto mentre ero in classe e ho sbagliato.. comunque niente proverò a ricontrollare le saldature. Ora ho provato a farne uno il piu semplice possibile alimentato con i 5v di arduino e collegando solo i pin di resst tx rx vcc gnd e i 5 miso mosi clk ce cs.. vedo se cosi funziona