Arduino perde memoria dello sketch caricato

Ciao a tutti, apro questo topic perché ho riscontrato il problema come da titolo e non ho trovato nulla a riguardo in rete. Credo che SW sia la sezione opportuna, altrimenti chiedo gentilmente di segnalarmelo.

Come da titolo mi ritrovo con un Arduino (UNO R3) che perde (apparentemente, almeno) la memoria dello sketch caricato quando viene scollegata e ricollegata l'alimentazione.

Il problema è insorto dopo un utilizzo con Matlab, ma non credo che questo ne sia la causa... Lui scarica un suo sketch client ma finisce lì...

Allora: io riesco a fare l'upload di uno sketch che funziona regolarmente. Se scollego e ricollego l'USB l'Arduino rimane in uno stato in cui il led 13 fa 3 lampeggi veloci ed uno stop poco più lungo ciclicamente. Questo non succede se, invece, premo il tasto reset. Arduino si riavvia, il led lampeggia e parte lo sketch giusto.

Uso Arduino 1.0.6 su OSx Yosemite. Non ho il medesimo problema con un altro UNO (R2) - non ho provato a usare Matlab.

Ho pensato che il problema possa essere qualche modifica del comportamento di Arduino da parte di Matlab, che gli possa impedire il corretto caricamento dello sketch dopo un restart. Ho pensato di provare a riscrivere il bootloader ma non so se potrei così risolvere il problema.

Qualcuno ha qualche idea di quale possa essere il problema e di come possa eventualmente risolvere?

Vi ringrazio molto a priori, buona serata, Luca

si io ho una idea.
ma mi manca una sfera di cristallo, ormai è natale me la regali?

Ti ringrazio vbextreme. Se potessi regalartela lo farei volentieri prima, però, piacerebbe anche a me averne una.

Credo di aver indicato tutte le informazioni possibili riguardo al mio problema (descrizione, tipo e revisione di arduino, versione IDE e SO) quindi a cosa servirebbe detta sfera, vbextreme? Tutte le info in mio possesso sono quelle scritte sopra (se la domanda era riferita allo sketch che ho caricato non ho specificato perché il problema è indipendente dal programma).

In ogni caso ho risolto riscrivendo il bootloader. Chiedo scusa per aver aperto il topic per un problema così facilmente risolvibile.

L.

Presumo, da ignorante quale sono, che chiunque faccia una domanda non ne calibri l’importanza, perchè per lui, in quel momento, potrebbe sembrare un grossissimo problema e soprattutto insormontabile in quanto si lascia prendere dalla preoccupazione di aver combinato un bel casino!
Ed ecco che chiede aiuto a chi ne sa più di lui, perchè è speranzoso, anzi ha la certezza matematica che su un forum ci siano delle persone preparatissime e con lo spirito di aiutare gli altri (è questo lo spirito proprio dei Forum in genere). Quindi caro Luca, voglio ringraziarti per il problema che hai posto e soprattutto per la risposta , in quanto un domani (dato che sono un neofita ignorante) potrei trovarmi anche io nella stessa condizione. Ti saluto come saluto tutti coloro che leggeranno queste riga. Francesco

Gli ignoranti e gli speranzosi hanno tutta la mia comprensione (specie la prima categoria, nella quale mi annovero), però comprendo ancor di più la risposta di vbextreme o le risposte di altri che, come lui, sono qui quotidianamente a fare i conti con domande incomplete che vorrebbero risposte esaurienti... e pensare che basterebbe attenersi al regolamento (e al buon senso) per avere risultati migliori... ad esempio postare i codici, descrivere quello che uno ha fatto, etc. Se una cosa funziona e poi io compio un'azione per la quale smette di funzionare, per chiedere spiegazioni a qualcuno più esperto di me, quantomeno gli spiego per filo e per segno qual'è stata la mia azione che ha procurato il danno. In questo caso specifico, cosa hai fatto con matlab? Che codice hai caricato? C'è un link che descrive il progetto che seguivi? Quale codice stai caricando adesso? Se rispondere a queste o altre domande vi indispone, pensate come indispone gli utenti assidui ripetere le stesse cose di continuo...

@LucaGilardi, hai detto tutto, o non hai detto niente? per come la vedo io non hai detto assolutamente niente. Prima cosa fondamentale è sapere cosa è collegato ad arduino, come e perché il più dettagliato possibile. Seconda cosa fondamentale è il firmware. Solo dopo si illustra cosa accade e cosa dovrebbe accadere. Ecco perché ti ho chiesto una sfera di cristallo, per poter vedere il tuo circuito e il tuo firmware comodamente seduto sul mio divano. Ma ormai hai risolto, vabbhe sarà per la prossima volta.

Se non l'ho scritto è perché ritengo non sia importante. Non ho postato sketch perché come ho detto non era influente. Non ho descritto circuito perché non avevo nulla di collegato alla scheda. Non ho descritto cosa ho fatto con Matlab perché non è stato nulla di "anomalo".

In ogni caso, grazie! L.

LucaGilardi: Allora: io riesco a fare l'upload di uno sketch che funziona regolarmente. Se scollego e ricollego l'USB l'Arduino rimane in uno stato in cui il led 13 fa 3 lampeggi veloci ed uno stop poco più lungo ciclicamente. Questo non succede se, invece, premo il tasto reset. Arduino si riavvia, il led lampeggia e parte lo sketch giusto.

Questo è un problema legato alle vecchie versioni del bootloader della UNO, però sulla r3, se originale, non dovrebbe esistere, la soluzione è aggiornare il bootloader con una versione recente come hai già fatto.

Grazie astro. La scheda è r3 ufficiale... Per quello ero perplesso. Comunque grazie ancora.

L.