Come programmare un chip ATmega328 con i vostri sketch
Quando abbiamo a disposizione un chip Atmega328 dotato di bootloader Arduino Uno (Arduino Standalone) possiamo caricare gli sketch utilizzando un semplice schema. Esistono varie soluzioni, tra cui, quella di utilizzare la board Arduino UNO. Nel precedente articolo è stata utilizzata per caricare il bootloader su un chip vergine; in questo caso la utilizzeremo per poter caricare gli sketch sul chip esterno.
Lo schema elettrico è il seguente:


Prima di eseguire qualsiasi operazione dovete rimuovere il chip ATMEGA328 dalla board Arduino UNO, questo perché la scheda viene utilizzata come semplice convertitore USB-Seriale.
La procedura per caricare il codice è identica a quella per la programmazione della board Arduino UNO.
Per completezza la riepilogo di seguito:
Carichiamo il classico sketch di esempio per far blinkare il led onboard:
Selezioniamo il tipo di board da programmare (dipendente dal tipo di bootloader caricato sul chip, solitamente quello per Arduino UNO)
Ora selezioniamo la porta seriale dove è collegata la scheda
Non ci rimane che caricare lo sketch con il pulsante upload
attendiamo il trasferimento del codice sul nuovo chip
Questa procedura è utile per sfruttare la scheda Arduino UNO come programmatore piuttosto che acquistarne una, almeno per saltuarie operazioni di programmazione. Certamente consiglio di dotarsi un convertitore usb seriale esterno se intendiamo realizzare diverse board Arduino standalone.
La possibilità di avere un chip ATMEGA328 compatibile Arduino permette di realizzare numerosi progetti personalizzati, costruire la propria board risparmiando spazio, dato che è sufficiente usare solamente l’ATMEGA. Un aspetto vincente che fa di questo microcontrollore un evergreen!
Related posts
8 Comments
Lascia un commento Annulla risposta
Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.
Articoli popolari
Sorry. No data so far.
.Net micro framework Arduino Arduino Webserver Domotica Flyport I2C IOT Netduino OpenPicus raspberry RTC Speed Test
Dettagliato e semplice come sempre. Bravo. Continua così sei ottimo divulgatore.
Grazie, gentilissimo come sempre.
A presto
Marco
Prova a vedere qs. http://www.gioblu.com/tutorials/programmazione/216-usare-larduino-uno-come-programmatore-isp se non ho capito male non è necessario rimuovere l’ATMega.
Grazie Pixel per il contributo.
Ho letto varie guide e qualcuno riesce a caricare gli sketch senza rimuovere il chip atmel dalla board Arduino UNO, ma non è una operazione che riesce sempre, per questo ho preferito consigliare la rimozione del chip.
Nel link che mi hai consigliato è stata apportata una modifica al file boards.txt inserendo il parametro atmega.upload.using=arduino:arduinoisp, questo permette di ‘trasformare’ la board arduino uno come un programmatore vero e proprio. In questo caso puoi caricare gli sketch senza rimuovere il chip dalla scheda.
A presto
Marco
Esatto, a quanto pare per evetuali problemi basta disabilitare l’autoreset della Board collegando un condensatore elettrolitico.
Leggi pure qs. http://www.gioblu.com/tutorials/programmazione/214 è altrettanto interessante e utilizzi la board per programmare Chip diversi… più piccoli meno ingombranti e più adatti per progetti compatti e a basso consumo!
Una domanda vorrei farti… sto proprio cercando di capire cosa sono i fuses e a cosa servono… sapresti spiegarmi?
Sono dei byte di configurazione del chip, seguendo questo link (http://www.engbedded.com/fusecalc/) trovi un’utility on line che permette di definire questi byte in base alle opzioni di funzionamento che vuoi caricare sul chip.
Marco
…e poi? Nel senso che una volta caricato tutto sul chip, come lo utilizzo? Hai qualche guida o schema per farmi capire come utilizzare un chip stand-alone? Una volta impostato tutto con Arduino, sarebbe comodo creare una scheda con solo i componenti necessari ed il chip, ma non ho idea come fare, cioè non saprei quali componenti siano necessari tra il chip e le varie uscite o ingressi… grazie
Ciao
ci sono tantissimi motivi per i quali è bene conoscere come caricare il bootloader. il primo in assoluto è la possibilità di cambiare il chip della Arduino UNO in caso di danneggiamento, cambi il chip con 3-4 € invece di comprare tutta la scheda. Puoi usare la Arduino UNO per prototipare per poi realizzare un circuito dedicato usando il chip Atmega e qualche componente.
Per i componenti minimi da usare puoi controllare lo schema elettrico del Lillypad, sono quelli minimi per creare una scheda funzionante.
A presto