Come usare un Arduino come ISP

tramite: O2O
Difficoltà: media
18

Introduzione

La scheda programmabile Arduino, di orgoglio italiano, ha dato vita ad un cambiamento abbastanza radicale nell'elettronica digitale moderna, soprattutto per quanto riguarda l'accessibilità. Una scheda Arduino è pratica, economica e, con qualche istruzione, utilizzabile anche dai meno esperti, per realizzare un numero di funzioni elevatissimo. Un utilizzo particolare e interessante di una scheda Arduino è come ISP, ovvero In-System Programming: il chip permette cioè di essere programmabile quando già installato nel sistema, e non solo ed esclusivamente prima. Questo velocizza l'implementazione dei dispositivi, permettendo ad esempio di effettuare programmazione e in-device test in un unico step. Il microcontrollore AVR (es. ATMEGA328) incluso sulla board Arduino è perfetto per essere programmato via ISP dalla scheda stessa; così facendo, occorrerà possedere e acquistare i soli microcontrollori per programmarli tramite Arduino. In questo tutorial vedremo dunque come usare un Arduino come ISP
.

28

Occorrente

  • Scheda ARDUINO
  • Microcontrollore AVR
  • Breadboard
  • Cavo USB
  • Resistore (10KOhm)
  • Quarzo (16MHz)
  • Condensatori (due da 22pF, uno da 10uF)
  • Cavetti jumper
  • Computer
38

Preparare la scheda Arduino al funzionamento come programmatore ISP

Aprendo il software di programmazione (l'IDE) di Arduino, si dovrà impostare il firmware ArduinoISP che si trova fra gli Examples. Si imposti ora la porta seriale corrispondente alla scheda che useremo come programmatore ISP; il percorso è Tools (Strumenti) --> Board e Serial Port. A questo punto si potrà caricare lo sketch ArduinoISP.

48

Caricare il programma effettivo (sketch)

Per far sì che l'AVR possa leggere i programmi che verranno forniti da Arduino tramite la porta USB/seriale, è opportuno caricarvi il bootloader. Per poter usare una sola scheda Arduino (e il micro incluso) occorrerà montare un semplice circuito elettronico su una breadboard. In particolare, facendo riferimento ad una scheda Arduino UNO e ad un chip ATMEGA328, avremo bisogno di una Resistenza da 10KOhm, un quarzo da 16MHhz e due condensatori da 18 o 22 pF. Si rimuova il chip e lo si monti sulla breadboard. Arduino deve passare al chip la 5V (VCC) e la massa (GND). Si controlli il pinout del chip per sapere quali pin usare. I pin 9 e 10 dell'ATMEGA sono collegati ai due piedini del quarzo, in parallelo ai quali troviamo un piedino di ciascun condensatore; l'altro capo dei condensatori andrà a massa.
Arduino comunicherà con il chip tramite i pin 10-11-12-13 (della scheda); il primo di essi entrerà nel pin di RESET del chip (nell'ATMEGA328 è il primo), che dovrà poi essere collegato a VCC tramite un resistore di pull-down da 10KOhm. Gli altri entreranno rispettivamente nei pin dal 17 al 19 del micro.
Potrebbe esserci l'eventualità di bypassare l'auto-reset di Arduino, connettendo il pin di RESET a quello di GND tramite un condensatore di 10 uF (attenzione: il + del condensatore va nel pin RST).

Continua la lettura
58

Montare il circuito per collegare Arduino al chip e caricare il bootloader

Ora che il chip è collegato tramite circuito ad Arduino, sarà possibile impostare quest'ultimo per l'uso da programmatore ISP. Dall'IDE, sarà sufficiente effettuare il percorso Tools --> Programmer (in italiano Strumenti --> Programmatore). Da lì, selezionare "Arduino as ISP".

68

Impostare Arduino come programmatore ISP

Dopo impostato Arduino as ISP, sarà possibile selezionare il comando Burn Bootloader per caricare il bootloader sul micro. Basta cliccarvi ed attendere qualche minuto. Una volta caricato il bootloader, il micro saprà riconoscere e ricevere messaggi e programmi Arduino. A questo punto è possibile staccare i ponticelli che partivano dai pin 10-11-12-13 dell'Arduino.

78

Caricare il programma/sketch su Arduino

A questo punto sia la scheda Arduino, per le impostazioni messe prima, sia il microcontrollore, grazie al bootloader, sono pronti a ricevere il programma/sketch. Affinché il chip venga programmato da Arduino come ISP, bisognerà collegare i pin 0 e 1 dell'Arduino, a quelli 1 e 2 (rispettivamente pin0 RX e pin1 TX) del chip. Fatti questi collegamenti, basterà scrivere e uploadare su Arduino il programma/sketch ArduinoISP.

88

Consigli

Alcuni link che potrebbero esserti utili:

Potrebbe interessarti anche

Segnala contenuti non appropriati

Tipo di contenuto
Devi scegliere almeno una delle opzioni
Descrivi il problema
Devi inserire una descrizione del problema
Si è verificato un errore nel sistema. Riprova più tardi.
Verifica la tua identità
Devi verificare la tua identità
chiudi
Grazie per averci aiutato a migliorare la qualità dei nostri contenuti

Guide simili

Programmazione

Arduino tutorial: primi passi

ARDUINO è una scheda elettronica dotata di microcontrollore, molto semplice da utilizzare. L'ambiente di sviluppo di Arduino è basato sulla programmazione in linguaggio C (uno dei più diffusi e semplici linguaggi di programmazione). Alcune delle peculiarità...
Programmazione

Come installare Arduino sul PC

Arduino è una piattaforma hardware open source, molto semplice e intuitiva. Progettato in Italia, Arduino permette di creare dispositivi e prototipi vari, con connettori I/O. L'ambiente di sviluppo si può facilmente scaricare sul proprio computer e...
Programmazione

Come gestire un servo con Arduino

Arduino è un progetto italiano che unisce insieme il mondo dell'hardware e quello del software, dando la possibilità a molti esperti di programmazione informatica, oppure a chiunque sia interessato, di appassionarsi ed approcciarsi facilmente al mondo...
Programmazione

Come programmare al meglio con Arduino

Con questa guida non pretendiamo di insegnarvi i segreti della programmazione anche perché sarebbe poco esaustivo pretendere di inserirle in queste brevi righe. Vi porteremo però in un mondo che non tutti conoscono. Un mondo che ha come protagonista...
Programmazione

Come programmare con Arduino

Coloro che coltivano una passione smisurata per la robotica e tutto ciò che appartiene all'utomazione, sicuramente avrà sognato almeno una volta di creare un circuito utile all'impiego di una particolare applicazione. Ebbene, per riuscire nell'intento,...
Programmazione

Come usare servomotore con Arduino

Se sei finito qui probabilmente hai un servomotore in mano e di starai scervellando per capire come dagli dei comandi. Nessun problema in questa guida vedremo come collegare ed usare un servomotore con Arduino.Prima un po' di teoria però:Un servo motore...
I presenti contributi sono stati redatti dagli autori ivi menzionati a solo scopo informativo tramite l’utilizzo della piattaforma www.o2o.it e possono essere modificati dagli stessi in qualsiasi momento. Il sito web, www.o2o.it e Arnoldo Mondadori Editore S.p.A. (già Banzai Media S.r.l. fusa per incorporazione in Arnoldo Mondadori Editore S.p.A.), non garantiscono la veridicità, correttezza e completezza di tali contributi e, pertanto, non si assumono alcuna responsabilità in merito all’utilizzo delle informazioni ivi riportate. Per maggiori informazioni leggi il “Disclaimer »”.