trasferire sketch tra due arduino

Salve a tutti, probabilmente è un argomento già trattato ma non riesco a trovare un post per risolvere il mio problema:
tempo fa ho compilato uno sketch su un Arduino Mega che mi pilota un motore stepper con valori digitati da tastiera e visualizzati su display. Qualche giorno fa il display ha smesso di funzionare ma funziona tutto, continuo ad impostare i valori ed il motore lavora senza visualizzare nulla. Ho sostituito il display pensando che fosse rotto, ma niente! probabilmente sono le uscite seriali del Mega che pilotano il display che sono andate! Il mio quesito è: posso copiare il programma dall'Arduino Mega corrotto e trasferirlo su uno nuovo?
Purtroppo ho fatto l'errore di non farmi la copia dello sketch originale che è andato perso.
Grazie!

No, ma Sí probablimente sí. Sul Arduino non é presene lo sketch, ma il risultato del sketch comilato.

Con un programmatore ISP puoi scaricare e programmare un altro arduino.
C'é lo sketch che fa di un arduino un programmatore ISP.

Ciao Uwe

Come ti ha spiegato Uwe, ovviamente NON puoi recuperare i sorgenti del tuo programma (... ma probabilmnete la cosa neanche ti interessa), mentre, con un programmatore ISP (... lui consiglia di usare un altro Arduino con un programma chiamato "Arduino as ISP", a me NON piace tale soluzione e preferisco un vero programmatore ISP) puoi leggere e salvare su disco il .hex e, con lo stesso programmatore, riscriverlo su una nuova board.

Se non sei pratico con i comandi di "avrdude" (utility che ti seve per fare le suddette operazioni), ti consiglio un interfaccia "grafica" che ti aiuta ... AVRDUDESS :wink:

Guglielmo

(e comunque d'ora in avanti salvati su Google Drive o OneDrive i tuoi programmi... :wink: ).

Vediamo se ho capito:
Devo collegare all'Arduino Mega corrotto un Arduino Uno a cui devo caricare uno sketch che lo renda programmatore ISP ed interfacciarlo ad un pc tramite AVRDUDESS che mi permette il download del file .hex il quale, una volta salvato sul pc, devo uplodare, sempre con l'Arduino Uno, su un nuovo Arduino Mega! giusto?
Se sì, esiste una guida per i collegamenti e la procedura giusta?
Per gpb01, se più semplice usare un vero programmatore ISP, me ne consigli uno e dove comprarlo?
Grazie a tutti!

Un vero programmatore fa sempre comodo, e QUESTO è uno che funziona bene ed è piuttosto economico.

Colleghi il connettore ICSP al connettore ICSP del Arduino su cui vuoi lavorare, selezioni la giusta porta COM (ne mette a disposizione DUE, una è quella del ICSP, l'altra e quella dell'interfaccia seriale fatta per programmare le schede che hanno un bootloader a bordo) e dai i comand direttamente con AVRDUDESS.

Se invece vuoi usare un secondo Arduino come programmatore (... cosa che NON mi piace, ma è opinione del tutto personale), allora segui QUESTA guida.

Guglielmo

Con un Arduino come programmatore rischi di sbagliare e programmare il programmatore! :slight_smile: A me è capitato...
Io uso abitualmente l'USBASP.
Un venditore a caso:
https://www.ebay.it/itm/USBASP-USBISP-AVR-Programmer
insieme all'adattatore:
https://www.ebay.it/itm/2PCS-10-Pin-Convert-to-6-Pin
N.B.: non prolungare la piattina, perché non funziona più! E' già della massima lunghezza possibile. Quando voglio stare più comodo, uso una prolunga USB.