Programmare un ATMEGA328 con il bootloader di Arduino UNO

A volte puo’ succedere che il bootloader del vostro Arduino UNO si possa danneggiare, oppure avete necessità di sostituire il Microcontrollore ATMEGA328 con uno nuovo. In questi casi è necessario ricaricare il Bootloader originale.

Il “Bootloader” è un piccolo programma che risiede nella parte iniziale della memoria del Microcontrollore, è il primo programma ad essere eseguito ad ogni accensione o RESET della scheda. Ha lo scopo di mettere in comunicazione il PC e il microcontrollore stesso per avere la possibilità di trasferire il codice sorgente (sketch) compilato nella memoria FLASH del microcontrollore.

Nelle schede Arduino appena acquistate il “bootloader” è già caricato in produzione, quindi tranne in casi particolari, non è mai necessario ricaricarlo.

Un’altra interessante opzione è quella di avere un’applicazione “stand-alone”, ovvero un circuito composto solo dal microcontrollore  ATMEGA328, software sviluppato con l’ambiente di sviluppo ARDUINO e pochi altri componenti.

In questo tutorial vediamo come si programma un nuovo ATMEGA328 con il bootloader di Arduino UNO.

Materiale necessario:

-Un Arduino UNO collegato al PC tramite USB
-Un microcontrollore ATMEGA328 (versione PDIP)
-Due condensatori ceramici da 18pF
-Una resistenza da 10k ohm (1% o 5% di tolleranza)
-Un cristallo di quarzo da 16 Mhz
-Una basetta 1000 fori o una ‘breadbard’ per esperimenti

Funzionamento e schema elettrico:

Lo schema elettrico è molto semplice, pochi collegamenti tra ARDUINO UNO e la basetta che ospiterà il nuovo ATMEGA328. ARDUINO UNO eseguirà la funzione di ‘programmatore ISP’ portando il firmware del ‘bootloader’ dall’ambiente di sviluppo di ARDUINO fino nella memoria del nuovo ATMEGA328.
Di seguito lo schema elettrico e un disegno per i collegamenti base da eseguire:

Schema elettrico

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Collegamenti da eseguire su di una breadboard:

 

Caricamento del BOOTLOADER

Una volta eseguiti tutti i collegamenti necessari, alimentiamo Arduino UNO collegando la porta USB al computer e selezioniamo la porta USB nell’ambiente di sviluppo (IDE) di Arduino in modo da caricare uno speciale ‘sketch’ che farà la funzione di programmatore ISP verso il nuovo ATMEGA328, successivamente carichiamo lo sketch compilato in Arduino UNO e infine, dopo qualche setup, trasferiamo il Bootloader nella memoria del nuovo ATMEGA328.

Ecco tutti i passi da seguire:

1. Strumenti->Porta Seriale-> (seleziona la porta dove è collegato Arduino UNO)

2. File->Esempi->ArduinoISP (Per caricare lo sketch che farà funzionare Arduino come programmatore ISP)

3. Sketch->Verifica/Compila (Per compilare lo sketch ArduinoISP)

4. File->Carica (Carichiamo il binario dello sketch nella memoria di Arduino)

5. Strumenti->Tipo di Arduino->Arduino Uno (Per specificare quale tipo di bootloader vogliamo caricare)

6. Strumenti->Programmatore>Arduino as ISP (Per specificare che Arduino verrà usato come programmatore ISP)

7. Strumenti->Scrivi il Bootloader (Scriviamo il Bootloader nella memoria del nuovo ATMEGA328)

Durante la scrittura del Bootloader, noterete i LED di Arduino lampeggiare e compare sulla finestra del compilatore una scritta in basso: “Sto scrivendo il bootloader sulla di scheda I/O” e poi dopo qualche minuto: “Scrittura del bootloader terminata”.

Il vostro nuovo ATMEGA328 è ora pronto per l’utilizzo.

Non perderti nessuna novità!

Non inviamo spam! Leggi la nostra Informativa sulla privacy per avere maggiori informazioni.

Articoli simili

  • Introduzione ad Arduino Uno (Rev.3)

    Arduino UNO è probabilmente la scheda di sviluppo più famosa tra i giovani Makers e studenti. Grazie al l’ambiente di sviluppo (IDE) molto facile da utilizzare, il basso costo, il linguaggio semplificato e tutto open-source, la piattaforma Arduino si è diffusa rapidamente a livello mondiale nel mondo Maker, artistico, scientifico ed in generale tra gli…

  •  |  | 

    Come funziona il bus seriale UART

    Cos’è il bus seriale UART UART è l’acronimo di Universal Asynchronous Receiver/Transmitter, cioè trasmettitore/ricevitore asincrono universale.È uno dei modi più semplici e diffusi per far comunicare tra loro due dispositivi elettronici, ad esempio: La UART è un protocollo seriale asincrono, cioè: Quindi è importante che entrambi i dispositivi conoscano a quale velocità i dati sono…

  • Facciamo lampeggiare un LED con Python

    Python è il linguaggio di programmazione preferito nella piattaforma Raspberry Pi. Una volta installato il sistema operativo Raspbian, abbiamo tutto il necessario per iniziare ad utilizzare il linguaggio Python, perché il compilatore e tutti i tools necessari sono già compresi nell’immagine Raspbian contenuta nella SD card. Materiale necessario: Una scheda Raspberry Pi Un led Una…

  • Come si usano i GPIO in Arduino

    GPIO è l’acronimo di “General Purpuse Input Output” pin. In una scheda controllata da un Microcontrollore, tutti i pin che sono identificati con il temine “GPIO” sono configurabili con diversi ruoli a seconda di come vengono configurati nel software. L’uso principale e più comune, è quello di “pin discreto”, ovvero in grado di essere configurato…

  • Programmare un ATMEGA328 con il bootloader di Arduino UNO

    A volte puo’ succedere che il bootloader del vostro Arduino UNO si possa danneggiare, oppure avete necessità di sostituire il Microcontrollore ATMEGA328 con uno nuovo. In questi casi è necessario ricaricare il Bootloader originale. Il “Bootloader” è un piccolo programma che risiede nella parte iniziale della memoria del Microcontrollore, è il primo programma ad essere…

  • Costruiamo case di cartone luminose con inchiostro conduttivo

    Questo mini-tutorial spiega come impiegare il KIT della Bareconductive per la costruzione di due simpatiche casette di cartone. Il KIT, oltre ad essere creativo e didattico, farete sicuramente felici i vostri bimbi creando un simpatico paesaggio illuminato. Glowing House Set Alla Maker Faire Rome, ho acquistato, presso lo shop, una simpatica e creativa scatola di…