Arduino

Arduino IDE vs ATMEL ATtiny

Tutorial alla programmazione dei microcontrollori ATtiny85 tramite l'ultima release di Arduino IDE

Le board Arduino, sviluppate intorno al concetto di semplicità, hanno portato la gestione e la programmazione di microcontrollori alla portata di chiunque. Questo fenomeno ha condotto quindi alla continua necessità e voglia di rinnovo dell’interfaccia di programmazione, Arduino IDE: questa guida è stata scritta con la release 1.8.7, mentre oggi la versione corrente appartiene alla serie 2.x (le voci di menu citate più sotto sono rimaste sostanzialmente le stesse, con i nomi indicati tra parentesi).

L’obiettivo di questa guida è di condividere la configurazione dell’IDE per poter programmare non solo schede ufficiali Arduino, ma anche schede di terze parti e/o microcontrollori ATtiny.

La domanda di partenza è: perché dovrei utilizzare microcontrollori ATtiny? La risposta è alquanto semplice: spesso e volentieri, nei nostri progetti, non necessitiamo di tutti gli input/output di un ATmega328P-PU (montato sulla scheda ArduinoUNO) e di conseguenza possiamo risparmiare spazio (e denaro) spostando il progetto su microcontrollori su misura per le nostre idee. Ovviamente non è tutto oro ciò che luccica: oltre al numero di pin dobbiamo valutare attentamente la frequenza di clock e la memoria interna, oltre ovviamente ad altre specifiche tecniche.
Tra i tanti microcontrollori gestibili non nativamente dall’IDE possiamo trovare il modello ATtiny85:

Microcontrollore ATtiny85 in package DIP-8

Come notiamo dalla foto dispone di soli 8 pin (due dei quali dedicati all’alimentazione). Dei 6 pin rimanenti uno è il RESET: gli I/O utilizzabili sono quindi 5. Il pin di reset può diventare un sesto I/O solo programmando il fuse RSTDISBL, ma dopo questa operazione il microcontrollore non è più programmabile via ISP (serve un programmatore ad alta tensione per ripristinarlo), per cui è sconsigliato. Tra i pin disponibili possiamo individuare una serie di caratteristiche che lo rendono ideale per progetti medio/piccoli:

Pinout del microcontrollore ATtiny85

Inizialmente il software di programmazione era distribuito per i sistemi Microsoft Windows, MacOS e GNU/Linux, ma compatibile solo per piattaforme ix86 e x64. Tuttavia, a partire dalla release 1.6.9, l’IDE è stato distribuito anche per piattaforme ARM (ad esempio RaspberryPI). La procedura seguente vale per le versioni dell’IDE dotate di Gestore schede (dalla serie 1.6.x in poi, comprese la 1.8.x e la 2.x); su Raspberry Pi e altre piattaforme ARM verificare sul sito ufficiale quale versione è disponibile per il proprio sistema. Come sempre si consiglia di installare l’ultima versione disponibile sul sito ufficiale.

STEP 1: Aprire l’IDE di Arduino ed accedere alle preferenze (File > Preferenze; su macOS, nell’IDE 2.x, Arduino IDE > Settings)

STEP 2: Alla voce “Url aggiuntive per il gestore schede” aggiungere il link di proprio interesse tra quelli elencati qui. Personalmente per l’utilizzo della famiglia ATtiny sfrutto il link:

http://drazzy.com/package_drazzy.com_index.json

STEP 3: Una volta confermato spostarsi in Strumenti > Scheda…. > Gestore schede (nell’IDE 2.x è anche l’icona Board Manager nella barra laterale sinistra) ed installare il pacchetto ATTinyCore by Spence Konde

A questo punto avremo configurato correttamente il nostro IDE per la programmazione di microcontrollori della famiglia ATtiny. Per programmare quest’ultimi è possibile utilizzare un programmatore esterno (AVR ISP MKII, USBtinyISP e tanti altri) oppure sfruttare una scheda Arduino con il sistema ArduinoISP.

Di seguito il link per una guida alla costruzione del programmatore per ATtiny e ATmega USBtinyISP:

Guida al programmatore USBtinyISPUSBtinyISP: programmatore Atmel fatto in casa

Guida ad Arduino as ISPArduinoISP: programmiamo ATmega e ATtiny

Admin | MST-Tutorial

Appassionato di elettronica, elettrotecnica e programmazione. Fondatore di MST-Tutorial, condivido con entusiasmo conoscenze, esperienze e progetti legati all’innovazione tecnologica, con l’obiettivo di rendere accessibili concetti tecnici complessi attraverso tutorial chiari e pratici.

Articoli Correlati

Pulsante per tornare all'inizio