Guida: La programmazione di micro ATMEL con Arduino [rel. 4]

Ciao.
Prima di arrivare a questa discussione avevo già visto le indicazioni di Arduino Playground - MegaISP, in cui però dice di usare i pin 10,11,12, 13, inoltre dice di usare ArduinoISP, poi dando una occhiata al file pins_arduino.h ho visto che i pin sono 50, 51, 52, 53, ma con la scheda Mega 2560 anche usandoli non funziona.
Ho partecipato anche alla discussione Guide: How to use an Arduino as an In System Programmer (ISP) - Microcontrollers - Arduino Forum , ma senza raggiungere lo scopo.

Ora ringrazio tutti per i loro suggerimenti, ma mi piacerebbe sapere se qualcuno ha effettivamente ha fatto funzionare Arduino Mega 2560 come programmatore AVR, e come ci è riuscito.

Grazie.

Enrico.

enricozeta:
Ora ringrazio tutti per i loro suggerimenti, ma mi piacerebbe sapere se qualcuno ha effettivamente ha fatto funzionare Arduino Mega 2560 come programmatore AVR, e come ci è riuscito.

Mi tocca quotare Leo :slight_smile:

Ha ragione astro, l'ArduinoISP funziona solo sulle UNO, per le MEGA esiste uno sketch apposito:
Arduino Playground - MegaISP

Scusate, forse io non ci arrivo, ma nella guida Arduino Playground - MegaISP ci sono le indicazioni:
1)The following DO NOT work with the Arduino Uno, for more information visit: http://arduino.cc/en/Tutorial/ArduinoISP
Ma in realtà con Arduino UNO funziona.
2) Now connect the Arduino to the device you want to program. The pin used by the Arduino are as follows:
•10: slave reset •11: MOSI •12: MISO •13: SCK
Go to File>Exampels>ArduinoISP
Che è appunto quello che ho fatto, ma con Arduino Mega 2560 non funziona.

Posso avere fatto qualche errore, ma qualcuno seguendo la guida indicata sopra ha fatto funzionare la programmazione AVR con Arduino Mega 2560?

Enrico.

enricozeta:
Che è appunto quello che ho fatto, ma con Arduino Mega 2560 non funziona.

Cosa non ti è chiaro del fatto che lo sketch ISP incluso con l'IDE non funziona con la mega 2560 perché specifico per l'ATmega328, quindi non adatto per l'ATmega 2560, e che i pin da utlizzare sono diversi rispetto alla UNO ?

Credo che il nostro amico stia facendo confusione tra lo sketch ArduinoISP e lo sketch MegaISP, appena gli sarà chiara la differenza risolverà subito il problema :wink:

Riprova lo sketch ArduinoISP, adattando i pin. Da una più attenta lettura mi pare che lo sketch MegaISP sia vecchio e che sia stato sostituito/unificato all'ArduinoISP.

Leggendo sul forum ho visto che consigliano il condensatore anti-autoreset anche sulle Mega2560. Prova con questo.

leo72:
Riprova lo sketch ArduinoISP, adattando i pin. Da una più attenta lettura mi pare che lo sketch MegaISP sia vecchio e che sia stato sostituito/unificato all'ArduinoISP.

Leggendo sul forum ho visto che consigliano il condensatore anti-autoreset anche sulle Mega2560. Prova con questo.
Arduino Forum

però l'autoreset dà errore 51, questo esce se tenti di caricare uno sketch su Arduino tenendo proprio bloccare il reset col condensatore.

La tua obiezione è giusta ma sto cercando di dargli più suggerimenti possibili, non essendo fisicamente lì non so cosa possa essere che non vada.

un mega applauso a menniti per la sua completissima guida.

sono 3 o 4 giorni che la "spulcio" di tanto in tanto, ma non avendo molto tempo a disposizione sto cercando di organizzarmi per entusiasmarmi con la programmazione ISP.

A mio parere risulta molto interessante e non vedo l'ora di mettere in pratica i suoi consigli :smiley:

Marbi:
un mega applauso a menniti per la sua completissima guida.

sono 3 o 4 giorni che la "spulcio" di tanto in tanto, ma non avendo molto tempo a disposizione sto cercando di organizzarmi per entusiasmarmi con la programmazione ISP.

A mio parere risulta molto interessante e non vedo l'ora di mettere in pratica i suoi consigli :smiley:

Grazie :). Se hai qualche difficoltà chiedi su questo Topic. Ciao.

sarà fatto, penso di avere tutto l'occorrente per "sperimentare", l'unica clausola devo attendere altri 7 giorni prima di cominciare, ma non preoccuparti, Vi stresserò, come sempre, per bene LoL :wink:

ciao a tutti

ho seguito questa bellissima guida http://www.michelemenniti.it/VHD/Elettronica/GPAT_v3.pdf
e sono riuscito ad inviare bootlader ad un chip ATmega328 vergine. :slight_smile: :slight_smile: tra l'Arduino uno e breadboard senza cavo isp (collegamento con i fili)
ora pero non so come proseguire per caricare lo sketch perche sono indeciso (confusionato) :astonished: su quale procedura usare inquanto ho come chip SMD nella mia arduino uno e nella guida di cui sopra non se ne parla.

visto che ci sono un ultima cosa: :* :*
dopo aver inviato il bootlader al chip ATmega328 vergine, ( e dopo che mi avrete (gentilmente) spiagato come inviare lo sketch su SMD) come riporto la mia arduino uno come prima? cioe ri/poter caricare gli sketch sulla mia arduino uno senza usarla come programmatore?

grazie anticipatamente a chi mi toglierà i dubbi ... :wink: :wink: :wink:

visto che ci sono un ultima cosa: smiley-kiss smiley-kiss
dopo aver inviato il bootlader al chip ATmega328 vergine, ( e dopo che mi avrete (gentilmente) spiagato come inviare lo sketch su SMD) come riporto la mia arduino uno come prima? cioe ri/poter caricare gli sketch sulla mia arduino uno senza usarla come programmatore?

puoi continuare ad usarla come se niente fosse. il fatto di essere un programmatore è uno sketch come un altro, quindi non devi fare nulla.

non capisco perchè vuoi caricare il boot-loare sull'arduino uno visto che lo ha già...

come dice lesto, la tua Arduino Uno smd non ha ricevuto nessuna modifica, il bootloader lo hai caricato sul chip esterno, mentre sulla Uno smd hai solo caricato uno sketch.
La versione di bootloader che avevi sulla Uno smd e' sempre rimasta la stessa.
Quindi per chiarire, quando sulla Uno smd carichi blink, l'arduino ti diventa un lampeggiatore di led, quando ci carichi ArduinoISP, l'arduino toi diventa un programmatore per mcu esterni.

@ lesto

non capisco perchè vuoi caricare il boot-loare sull'arduino uno visto che lo ha già...

non lo voglio caricare il bootloader sul mio arduino uno, ma lo caricato su di un chip ATmega328 vergine per poi caricare uno sketch e farlo funzionare in standalone e per fare delle prove di caricamento per costruirmi un pcb.

grazie per la spiegazione che non cambia nulla nella mia arduino uno. :wink:

@ Testato
Anche per te grazie sei stato chiarissimo ... :wink: :wink: in merito al fatto che spiegazione che non cambia nulla nella mia arduino uno.
resta inrisolto il punto primo:

ora pero non so come proseguire per caricare lo sketch perche sono indeciso (confusionato) smiley-eek su quale procedura della guida usare inquanto ho come chip SMD nella mia arduino uno e nella guida se ne parla.

ancora grazie

Lo sketch puoi caricarlo con la stessa tecnica con cui hai caricato il bootloader, nella mia Guida è spiegato come devi fare. Alla fine il bootloader verrà cancellato ma sul chip stand-alone il bootloader non ti serve; però è importante caricare il bootloader come prima operazione per settare correttamente i fuse del chip vergine.
Se hai dubbi scrivi :slight_smile:

Oggi cerco di leggere e capire tutto :slight_smile:

Per quel che conta grazie.

mr_j:
Oggi cerco di leggere e capire tutto :slight_smile:

Per quel che conta grazie.

conta, conta, XD

@ Menniti

grazie sei stato chiaro e forte.
quindi lascio tutto come sta nella breadbord e invio sketch che voglio caricare ... :grin: :grin:
mi sembra troppo facile

@ mr_j
tu scrivi

Oggi cerco di leggere e capire tutto smiley

Per quel che conta grazie.

ricordati che serve sempre dare risposte e anche fare domande stupide, senza vergognarsi .... grazieeeeeeeeeeeeeeeeee :wink: :wink:

per la cronaca ..... a qualcuno potrebbe interessare:
NON ho avuto bisogno di disabilitare l’autoreset della mia arduino uno SMD.

Fatte tutte le prove e ...............tutto ok
:grin: :grin: :grin: :grin: :grin: :grin:
dopo aver caricato bootloader nel chip vergine come consigliava Minniti

è importante caricare il bootloader come prima operazione per settare correttamente i fuse del chip vergine

poi ho caricato semplicemente lo sketch arduinoisp che si trova negli esempi
e poi ho caricato uno sketch di prova finale (blink) che si trova sempre negli esempi.
grazie a tutti.

adesso appena capito cosa lasciare del circuito per renderlo autonomo e costruirmi un pcb ridotto al minimo di componenti
provo le altre spiegazioni finali della grandissima guida. :grin: :grin: