ATMEL ATtiny25/45/85 con Arduino
Guida all'utilizzo dei microcontrolloti ATMEL ATtiny25 ATtiny45 ATtiny85 con Arduino IDE

I modelli Atmel ATtiny25, ATtiny45 e ATtiny85 sono microcontrollori a 8 pin: due sono dedicati all’alimentazione, VCC e GND, mentre i restanti possono essere configurati dall’utente come linee di ingresso/uscita o per funzioni periferiche specifiche. Dei sei pin restanti (PB0–PB5), però, PB5 è il pin di RESET: in pratica le linee di I/O utilizzabili sono cinque (PB0–PB4). PB5 può diventare un I/O solo programmando il fuse RSTDISBL, che disabilita il reset e con esso la programmazione ISP (Arduino as ISP, USBasp): per riprogrammare il chip servirebbe poi un programmatore ad alta tensione.
Questi dispositivi consentono di sfruttare le principali funzionalità di un microcontrollore mantenendo costi, ingombri e consumi estremamente contenuti. Gli ATtiny trovano quindi impiego in tutti quei progetti in cui non sono richieste prestazioni elevate né un numero elevato di connessioni di input/output verso l’esterno.
I tre microcontrollori in oggetto condividono lo stesso datasheet e di conseguenza troviamo caratteristiche elettriche estremamente simili. Avremo quindi su tutti i modelli il medesimo pinout:
Questa famiglia di microcontrollori può esser facilmente gestita e programmata tramite il software Arduino IDE (come riportato nella guida Arduino IDE vs ATMEL ATtiny) e quindi il pinout si semplifica in:
Sfruttando l’IDE di Arduino per programmare tali dispositivi è poi possibile agire su alcuni parametri dal menu Strumenti. Frequenza di clock, B.O.D. (Brown-Out Detection) e conservazione della EEPROM durante la programmazione sono impostati dai fuse: diventano effettivi solo dopo il comando Scrivi il bootloader, che sugli ATtiny programmati via ISP non carica alcun bootloader ma scrive soltanto i fuse. LTO (Link Time Optimization) è invece un’opzione del compilatore: agisce a ogni compilazione e non richiede la scrittura dei fuse.
Per procedere alla programmazione vera e propria dei microcontrollori è possibile quindi sfruttare come software l’IDE di Arduino, e come programmatore la stessa scheda ArduinoUNO impostata come ArduinoISP, oppure programmatori specifici.





