Problemi convertitore usb/seriale? nrf24l01+?

Ciao a tutti, sono fresco fresco di forum e trovo topic simili ma nessuno mi soddisfa. Uso Arduino UNO REV 3 da circa un anno e due settimane fa dopo uno dei tanti upload dei vari progetti l'IDE non mi riconosce la porta seriale. Prova e riprova, bestemmia e bestemmia, ho ordinato un'altra Ardu convinto di aver bruciato qualcosa. La scheda si accende, il led pure ma tx e rx non danno segni di vita. Non è l'IDE perchè con la scheda nuova funziona tranquillamente. anche collegando i due ardu con RESET,+5,GND e rx carico gli sketch su entrambi. mi ero rassegnato a fare l'upload tramite l'altro arduino ma quando ho cominciato a lavorare con nrf24l01+ carico l'esempio classico su tutti e due ma uno riceve e l'altro non trasmette!! ho provato ad invertire le shield autocostruite e sono ok, l'ardu collegato al seriale lampeggia il tx ad ogni invio, mentre l'ardu "libero" non da segni di ricezione o trasmissione (a led ON acceso). Suppongo che lo sketch ci sia sulla scheda "parzialmente ita" ma non so cosa altro provare...

grazie e scusate se non mi sono impegnato di più a cercare un topic adatto!!

mi sento come la particella lete... ho provato anche ad invertire i 2 atmega e tutti e due funzionano, quindi resta solo la scheda. mi chiedo :perchè l' nrf24 non risponde?

nessuno puo aiutarmi?

ciao

Non è che ho capito tanto di quello che hai scritto. :sweat_smile: ricapitolando: hai una UNO a cui si è bruciata/guastata la seriale

ma tx e rx non danno segni di vita.

Ne hai presa un'altra e adesso le usi entrambe per un progetto con 2 nrf24l01+ montati su 2 shield autocostruite e per caricare i programmi sulla UNO con seriale rotta utilizzi l'altra UNO collegata tramite seriale

anche collegando i due ardu con RESET,+5,GND e rx carico gli sketch su entrambi.

come descritto nella guida di Menniti ma senza togliere il 328 (ma questa è pura supposizione).

Se quanto scritto sopra corrisponde allora penso semplicemente che non è certo che sul secondo arduino (quello con seriale rotta) si carichi correttamente lo sketch. Prova a programmarlo con la tecnica ISP, almeno sei sicuro che lo sketch viene caricato correttamente. Se invece non ho capito niente del tuo problema, credimi, io ci ho provato ma la tua descrizione del problema è molto confusa ;)

ciao pippo72

Nemmeno io ho capito molto, se sei sicuro che i 2 mega328 funzionano dovrebbe funzionare anche le nrf24L01 in quando usano la stessa porta ISP che si usa per la programmazione ISP. (la SPI)

Prova a mettere dentro il programma sui 2 mega328 tramite ISP, se vengono programmati bene ma non funziona lo stesso allora c'è un bug nel tuo programma

magnetron: nessuno puo aiutarmi?

Per primo impara ad avere pazienza. È molto pretenzioso pretendere risposte entro un ora e mezza

anche collegando i due ardu con RESET,+5,GND e rx carico gli sketch su entrambi. mi ero rassegnato a fare l'upload tramite l'altro arduino ma quando ho cominciato a lavorare con nrf24l01+ carico l'esempio classico su tutti e due ma uno riceve e l'altro non trasmette!!

poi non capisco che cosa stai facendo.

ok, scusate l'inizio poco smagliante! non pretendevo una risposta immediata ma vedevo letture del post che andavano senza nessuna risposta e non capivo perchè( forse la mia non chiarezza?? :roll_eyes:). ok , ci riprovo: secondo la guida di Menniti al paragrafo "una strana scoperta" si parla di come fare l'upload senza togliere il chip dalla board . cioè, usando RESET , + , - , RX in parallelo sulle due board, carico lo sketch . l'ho provato con il blink e funziona, l'ho provato con uno sketch per i sensori Dallas ed ha caricato tranquillo. Poi ho costruito 2 shield per i nrf24l01 tipo " maniacbug" . ho caricato lo sketch su entrambe le board ma quella nuova lavora con tutte e 2 le shield(quindi quelle sono ok), quella danneggiata si accende e basta. lo sketch è quello dell'esempio Getting started.

perfetto, allora capisco ancora qualcosa :) :) :) Ripeto, se vuoi essere sicuro che l'UNO con seriale rotta carichi lo sketch DEVI programmarlo con la tecnica ISP oppure DEVI togliere il 328 dall'arduino collegato alla seriale.

secondo la guida di Menniti al paragrafo "una strana scoperta" si parla di come fare l'upload senza togliere il chip dalla board . cioè, usando RESET , + , - , RX in parallelo sulle due board, carico lo sketch

E Menniti spiega anche il perchè questa tecnica possa NON funzionare.

ciao pippo72

Scusa ma Menniti non dice che non funziona, anzi. dice solo che eliminando la risposta di arduino verso l'IDE non si puo sapere se e andato tutto a buon fine. Comunque ho appena provato a caricare lo sketch togliendo il chip e collegando le due board (come dovrebbe esser fatto) con RST,+,-,TX,RX e carica in ugual modo. Lasciando così collegate le due board e lanciando il monitor seriale vedo che tutto funziona: ovvero lo sketch e presente, come da "Getting Started" vedo i dati del nrf24 e il transceiver è in attesa del comando "T". ora, scollegando tutto, rimettendo il chip tolto, caricando lo stesso sketch sulla uno funzionante, apro il monitor seriale, vedo le stesse cose di cui sopra , lo mando in trasmissione e il led tx lampeggia a intervalli di trasmisssione , sull'altra uno i led tx rx sono kaput!

ciao io dico:

questa tecnica possa NON funzionare.

tu dici:

non si puo sapere se e andato tutto a buon fine.

Stiamo dicendo la stessa cosa solo che io sono pessimista, tu ottimista ;)

ora, scollegando tutto, rimettendo il chip tolto, caricando lo stesso sketch sulla uno funzionante, apro il monitor seriale, vedo le stesse cose di cui sopra , lo mando in trasmissione e il led tx lampeggia a intervalli di trasmisssione , sull'altra uno i led tx rx sono kaput!

Da quello che ho capito comunque sull'altra UNO hai la seriale bruciata, quindi è normale che il led tx e rx non si accendano. Se ti serve il collegamento seriale su entrambe le UNO sei fritto; se invece una sola UNO deve essere collegata al PC metti quella buona. I moduli nrf24l01 non usano la seriale per comunicare con arduino quindi anche se la UNO con seriale rotta non lampeggia non vuol dire che i 2 modulini non comunicano.

ciao pippo72

quindi il problema non è la scheda…infatti collegavo la board buona al pc e l’altra ad un alimentatore esterno… Non so che fare, i due nrf usati collegati al pc funzionano entrambi ma messi in rcezione nn rispondono…il codice getting started va caricato in ugual modo su tutte e due le board, giusto? Non c’é niente da modificare,vero?

ciao

magnetron:
…il codice getting started va caricato in ugual modo su tutte e due le board, giusto? Non c’é niente da modificare,vero?

questo io non lo so.
Ho usato quei moduli con la libreria RF24 e ho usato questo tutorial (adattandolo alle mie esigenze). Qui ci sono 2 programmi diversi, uno per la trasmissione e uno per la ricezione. Solo allo sketch in ricezione serve effettivamente la seriale.

ciao
pippo72

ok, quando torno a casa mi leggo bene il tutorial. Comunque uso anchio rf24 library. Avevo gia visto quel tutoriql ma ho seguito le indicazioni di un altro. Grazie per la disponibilita. Per Uwe : scusa ,non volevo essere insistente ! Non succedera piu`…

Ciao Pippo. Il paragrafo è di poche righe, leggerlo ti chiarirebbe bene il concetto. Non potendo dare certezza scientifica ovvio che scrivo che la cosa va verificata a fine operazione ma ti prego di credermi se ti dico che l'ho testata centinaia di volte e non ha mai fallito. Quindi stai pur certo che non è una questione di ottimismo o pessimismo, funziona e basta. ;)

prof Menniti buongiorno.

La prego di non pregarmi :wink: , le credo, ci mancerebbe altro.
Tra l’altro non ho prove che non funziona, io non l’ho mai provata quindi non posso dire niente.
La mia era solo un’ipotesi che teneva in piedi il mio ragionamento su quale potesse essere la causa del problema di magnetron.

E Menniti spiega anche il perchè questa tecnica possa NON funzionare.

Effettivamente questo non lo dice, chiedo venia :blush: :blush:

pippo72

Ciao, ho riletto la guida, ho caricato un altro esempio della rf24 (pingpair) e va. ho caricato e ricaricato sketch con il collegamento seriale con e senza chip ed è sempre andato. che lo sketch sia sempre corretto non posso saperlo (la seriale non va!) ma sembra di si. ma se i led tx rx non vanno e colpa della seriale bruciata? e che collegamento c'è tra la seriale e i led se, in caricamento sketch o in trasmissione dati lavorano? sulla uno con seriale ok e nrf24 collegata al pc mando un numero e il led tx lavora, sulla uno con seriale ko ricevo il numero e lo rispedisco ma i led non vanno...è solo un led?

aspetta un attimo, ma tu come colleghi i due Arduino al PC? se parli si seriale KO significa che quello non lo riesci a programmare via USB giusto? Magari comprendendo bene che collegamenti stai facendo si può cercare di capirte qualcosa in più.... Intanto ti spiego questo: il convertitore USB seriale della UNO r3 ha il TX sul pin 8 ed il relativo LED sul pin 11, mentre ha l'RX sul pin 9 ed il relativo LED sul pin 10. I LED indicano che il convertitore è in attività, ossia che la seriale del micro (pin 0 e 1 di Arduino) è in comunicazione con l'USB del PC tramite il convertitore stesso. Se invece tu stai comunicando mediante l'altro Arduino è ovvio che i LED di questo Arudino restino spenti, i dati stanno viaggiando su un altro percorso.

buondì, allora, io collego RESET,+,-,rx(pin0),tx(pin1) delle due board se tolgo il chip dalla UNO funzionante, collego la funzionante al pc e carico lo sketch. Altrimenti, dato che gli esempi della libreria rf24 vengono caricati su entrambe le UNO, non tolgo il chip, non collego il TX tra le due board e carico lo sketch su tutte e due. effettivamente la UNO rotta non comunica con il PC via USB (il PC non la vede) quindi sono costretto a caricargli gli sketch in questo modo. Lo sketch pingpair proposto negli esempi ( http://maniacbug.github.com/RF24/pingpair_8pde-example.html) prevede che una board manda un numero (e hai l'ok stampato sul monitor seriale per ogni invio corretto) e l'altra riceve il numero e lo rispedisce indietro( viene poi stampato sul seriale il tempo di risposta). Quindi il led tx sulla uno buona collegata al pc lampeggia solo perchè sta trasmettendo al computer tramite la seriale e non perchè sta comunicando con l'altra uno.... Esiste un sistema per fare un controllo dei pin e dei led ? Sto ancora sperimentando questi trasmettitori (sia a livello hardware che software) per un progetto, ho già provato quelli a 315 mhz ma non trovo niente che mi garantisca una comunicazione sicura ed efficace da distanze tra i 10 e i 30 m tra l'esterno (perimetro) di edifici quali capannone ed un punto all'interno dello stesso edificio senza avere messaggi persi o segnali scarsi. intanto grazie per l'interesse, e complimenti per il Suo lavoro.

collegamento tra le due board per il caricamento sketch: PC UNO BUONA UNO ROTTA RST >>>>>>>>>>>>>>> RST + >>>>>>>>>>>>>>> + - >>>>>>>>>>>>>>> - TX >>>>>>>>>>>>>>> TX (se tolgo il chip dalla uno buona, altrimenti non lo collego) RX >>>>>>>>>>>>>>>> RX

Grazie a te :) quindi è come dici, i led non stanno indicando attività di comunicazione diretta tra i due micro ma solo indiretta. Un led che non si accende si può verificare con un tester ma nel tuo caso è rotto il convertitore infatti se inverti le board sul pc non vedi più nulla. Potresti collegare tra le linee tx e gnd e tra rx e gnd una coppia di R da 1k con un led di diverso colore per vedere l'attività diretta ma ciò diminuirà le prestazioni a distanza. Però se i due Arduino fossero buoni, ognuno collegato ad un pc, I led dei convertitori sarebbero direttamente indicativi della comunicazione.

quindi sarebbero direttamente indicativi della comunicazione tra il chip e il rispettivo pc connesso?