ciao a tutti Arduino DUE e modulo nRF24L01

ciao a tutti, mi sono appena iscritta al forum, anche se è da qualche tempo che mi sto impratichendo con arduino Ho acquistato un Arduino DUE e un MICRO e ora anche una coppia di moduli nRF24L01 per far dialogare i due microcontrollori. Ma non riesco assolutamente, ho seguito le istruzioni sul sito maniacbug, usando la libreria RF24 ma poi mi sono accorta che si usava arduino millenove, quindi ho scoperto che non va bene collegare MOSI, MISO ed SCK ai pin 11, 12 e 13 di Arduino, ma bisognerebbe collegare ai pin dedicati SPI nella parte centrale della piastra Arduino. L'ho fatto ma il trasmettitore non trasmette. Ho aggiunto le librerie SPI alle librerie di Arduino, ma non va ugualmente. Qualcuno mi può gentilmente aiutare. Ho letto di altri che usano Arduino uno e che non hanno avuto difficoltà, forse bisogna impostare qualcosa in particolare ? grazie mille

un MICRO

che sarebbe un micro? una cosa piccola? :)

Arduino DUE è completamente diverso, infatti i pin 11, 12 e 13 sono liberi di essere usati a piacimento, in effetti che sulla MEGA o UNO fossero paralleli all'ICSP sempre, era un controsensenso.

collegare ai pin dedicati SPI nella parte centrale della piastra Arduino. L'ho fatto ma il trasmettitore non trasmette.

non hai messo un link dello shield che usi, quindi non posso nemmeno confrontare gli schemi, inoltre arduino DUE ha l'ICSP a 3.3v e il tuo shield vuole "presumo" 5V.

Le connessioni corrette per MOSI, MISO ed SCK le trovi qui http://arduino.cc/en/pmwiki.php?n=Reference/SPI tabella connection

ciao

prima di tutto non capisco se devo usare con ArduinoDUE i pin SPI o ICSP, perché al link che mi hai mandato parrebbe ICSP, mentre leggendo in altri posti avevo trovato che con il processore SAM3X si devono usare MOSI MISO SCK del SPI.

Scusa quali sono i pin SPI? http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus#Mode_Numbers

MOSI, MISO ed SCK che siano sui 11-12-13 o sul connettore ICSP parliamo sempre del Serial Peripheral Interface Bus

quindi a parte che hai ignorato le mie domande, MOSI, MISO ed SCK li devi connettere al conettore ICSP, come fare non so dirtelo perchè non ho un link dello shiled che usi o moduli separati, che forse lavorano a 3v.

su Arduino DUE vedo che ci sono due set di SPI: un ICSP situati vicino al USB e un SPI + distanti ieri ho trovato una pagina sul server arduino.cc che mi faceva pensare che il MOSI, MISO e SCK da usare con il chip che usa Arduino DUE fossero quelli del SPI + vicini a USB, mentre dal link che mi ha mandato parrebbe che suggerisse ICSP. In ogni caso se collego a SPI non funziona proprio. Sto usando nRF24L01 della Nordic, e ho scaricato le librerie del sito manicabug, con il classico esempio GettingStarted, sembrerebbe funzionare come trasmettitore, anche se collego mosi, miso sck ai pin 11,12 e 13, ma poi il ricevitore non riceve nulla,. invio i millisecondi All'inizio mi riceveva dei numeri molto grandi e non i valori inviati. Ora non riceve + nulla. Sto usando le librerie relative all'esempio scaricato, ma francamente brancolo nel buio. mi è venuto in mente che forse sbaglio i collegamenti grazie ancora per la pazienza

Ma tu sei proprio sicuro che la libreria RF24 sia compatibile con la DUE ??? A me, guardando i sorgenti, non sembra ... :roll_eyes:

Guglielmo

non sono sicura di nulla, ho anche scaricato la Mirf, ma non ho provato, voi cosa consigliate ?

Allora ho capito cosa intendi, la MEGA lo chiama ICSP la due scrive SPI, sugli shield lo stesso connettore che va sopra l'SPI lo chiama ICSP. il connettore che io uso per i MOSI, MISO e SCK sulla DUE è quello centrale vicino all'ERASE fatto apposta per gli shield, l'altro connettore, forse è una ripetizione o forse è uno slave, non l'ho mai calcolato dato che non potrei nemmeno raggiungerlo.... dovrei vedere lo schema della scheda

Gugli, prima di occuparsi della lib bisogna conoscere il modello che usa e i collegamenti corretti, cercando quel modulo escono vari tipi, alcuni hanno scritto il nome vicino al pin, altri no, altri 5v, altri parlano di 3v.

pablos: Gugli, prima di occuparsi della lib bisogna conoscere il modello che usa e i collegamenti corretti, cercando quel modulo escono vari tipi, alcuni hanno scritto il nome vicino al pin, altri no, altri 5v, altri parlano di 3v.

Si, si, certamente ... ... ma poi tieni conto comunque che nessuna delle lib che ho visto mi sembra compatibile con la DUE (... spero di sbagliare), né quella che sta usando lui (... che, mi pare, guardando il codice, cerca di usare PROGMEM) né l'ultimissima RadioHead che si trova QUI ... :roll_eyes:

Guglielmo

oppure questa https://github.com/mcrosson/RF24/tree/due Updated library to build for Arduino DUE... però son tutti uguali sti moduli alla fine?

quindi devo usare i pin ICSP, infatti con questi almeno trasmette qualcosa ho comprato questi su ebay: http://www.ebay.com/itm/2-Pcs-NRF24L01-2-4GHz-Antenna-Wireless-Transceiver-Module-For-Arduino-/231235900218 i collegamenti penso di averli capiti, nel senso che ho visto sul datasheet il csn, ce miso mosi sck, ma all'inizio avevo collegato a 11,12 13 questi ultimi e pensavo di aver sbagliato, anche se trasmettevo qualcosa inoltre questo modulo radio della nordic funziona a meno di 3,6 v, e uso come alimentazione quella dello stesso arduino (3,3v), nel senso che non ho un alimentatore esterno (forse sarebbe + stabile, ma per ora non ce l'ho) ora provo ad usare la libreria mirf con i suoi esempi, collegando sui pin icsp e poi ce e csn i pin 7 e 8, come indicato sull'esempio stesso tra i commenti speriamo per quanto riguarda l'altro arduino che ho comprato, è un Arduino MICRO http://arduino.cc/en/Main/arduinoBoardMicro che ha i pin MOSI, MISO SCK indicati visivamente.

pablos: ... però son tutti uguali sti moduli alla fine?

Si, usano tutti lo stesso modulo nRF24L01+ della Nordic Semiconductor ...

Guglielmo

quindi riassumendo questo connettore visto dall'alto http://arduino.cc/en/pmwiki.php?n=Reference/SPI va collegato con il tuo connettore del modulo (e vedo un 3.3v quindi sei ok) e gli altri pin sono indicati perciò non dovrebbe essere un problema, ti manca solo sapere qual'è il pin CS, e quello è scritto nella libreria e nello sketch di esempio

si, ma prima mi hai scritto di usare l'header SPI vicino all'erase, ma quello è SPI e non mi funziona in pratica non so la differenza tra SPI e ICSP, ma SPI vicino all'Erase non funziona, e mi hai mandato il link che indica che per il DUE si deve usare ICSP. http://arduino.cc/en/pmwiki.php?n=Reference/SPI tu quale useresti ? e quale libreria ? forse nessuna è adatta all'Arduino due ?

Spetta, mi trovi impreparato sul fatto del perchè uno ti va e l'altro no, a rigor di logica tutti gli shield che uso sulla DUE hanno bisogno del MOSI, MISO e SCK + CS e funzionano sul connettore vicino all'erase, questo è determinato però dal software delle librerie. Do un occhiata allo schema della DUE e vediamo perchè c'è sta differenza.

Dunque, l'ICSP che vedi vicino alla USB è collegato al chip 16U2MU che gestisce la USB di programmazione (quella in basso) non ha nulla a che vedere con il miso, mosi ecc che servono a te ... fai attenzione perchè quello ha nel Vcc +5V

I MOSI, MISO e SCK che ti servono per comunicare con il modulo è quello vicino all'erase centrale che è connesso al SAM3X

Esatto, stavate confondendo i connettori ...

... per usare dei devices SPI si DEVE usare il connettore SPI che si trova vicino al ATSAM3X8E, l'altro connettore ICSP è quello relativo alla programmazione del ATMEGA16-U2. ;)

Guglielmo

Edit : E' anche ben descritto nel reference della scheda :

SPI: SPI header (ICSP header on other Arduino boards) These pins support SPI communication using the SPI library. The SPI pins are broken out on the central 6-pin header, which is physically compatible with the Uno, Leonardo and Mega2560. The SPI header can be used only to communicate with other SPI devices, not for programming the SAM3X with the In-Circuit-Serial-Programming technique. The SPI of the Due has also advanced features that can be used with the Extended SPI methods for Due.

si, ma prima mi hai scritto di usare l'header SPI vicino all'erase, ma quello è SPI e non mi funziona e mi hai mandato il link che indica che per il DUE si deve usare ICSP. http://arduino.cc/en/pmwiki.php?n=Reference/SPI

Anche tu non hai tutti i torti :D :D in effetti su quel link viene chiamato ICSP, questo è dato probabilmente da un miscuglio di schede nuove e pagine aggiornate create sulla base di schede precedenti. Infatti come dicevo prima sulla MEGA il connettore centrale che ci interessa a noi si chiama ICSP, sulla DUE si chiama SPI.

Sulla DUE ignora il connettore ICSP che serve per riprogrammare e/o comunicare con il chip della USB

per usare dei devices SPI si DEVE usare il connettore SPI che si trova vicino al ATSAM3X8E, l'altro connettore ICSP è quello relativo alla programmazione del ATMEGA16-U2

Bhe questo è risolto, il problema più grave adesso è la libreria, senza modulo nRF24L01 non posso fare nulla.

ok, allora è SPI ho cercato adesso di usare la libreria MIRF, ma funiona solo il client sul arduinoDUE quando collegavo su ICSP oppure sui 11, 12, 13 il che però non va bene quindi non funziona niente né server, né client se collego con i pin spi non succede nulla di nulla né arduino due, né arduino micro sarà colpa della libreria ! ne ho già provate due e nessuna funziona ma quindi quellli che dicono che gli funziona forse hanno arduino uno