Come programmare un ATtiny85 con Arduino

Come programmare un ATtiny85 con Arduino

Nel tutorial di oggi vedremo Come programmare un ATtiny85 con Arduino, impostato come programmatore ISP, tramite Arduino IDE.


Microcontrollore ATtiny85

Come programmare un ATtiny85 con Arduino. Chip

L’ATtiny85 è un micro-controllore, prodotto dalla ATMEL, appartenente alla stessa famiglia dei chip presenti su alcune schede Arduino (ATmega328P, ecc…). Un esempio è l’Arduino Nano, che andremo ad utilizzare come programmatore, equipaggiato con un chip ATmega328P.

Queste le caratteristiche principali: oscillatore interno a 8 MHz (o 16 MHz con PLL interno), interfaccia SPI, I2C o porta seriale, 8 K di memoria di programma flash, 512 byte di RAM, 512 byte di EEPROM e supporta un’alimentazione da 1.8 a 5.5 volt.

Questo il Pinout del chip:

Pinout ATtiny85

Per maggiori info potete consultare il datasheet a questo link.

Materiale occorrente

Per realizzare questo progetto ci servono i seguenti componenti:

Oltre al materiale elencato sarà necessario scaricare, tramite l’IDE, le schede aggiuntive per programmare i chip ATtiny, e configurare Arduino come Programmatore ISP.

Configurazione scheda ATtiny85 in Arduino IDE

Di default Arduino IDE non gestisce le schede ATtiny, ma installare il necessario è molto semplice.
Per prima cosa dobbiamo aggiungere il link per permettere ad Arduino IDE di gestire le schede aggiuntive.
Apriamo l’IDE e clicchiamo su File->Impostazioni

Impostazioni Arduino IDE

Aggiungiamo nel campo URL aggiuntive per il Gestore Schede il link “https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json”, come evidenziato nell’immagine seguente, e premiamo OK

Come programmare un ATtiny85 con Arduino. Url aggiuntive

N.B. se sono già presenti dei collegamenti per altre schede possiamo aggiungere il link in coda separandolo con una virgola da quelli già presenti

Ora rechiamoci nel gestore schede da Strumenti->Scheda->Gestore Schede

Gestore schede Arduino IDE

Nella barra di ricerca inseriamo ATtiny e premiamo Invio (1).
Verrà mostrato il pacchetto di installazione disponibile per le schede della famiglia ATtiny, compreso la ATtiny85. Clicchiamo su Installa (2) per avviare l’installazione

Come programmare un ATtiny85 con Arduino. Installazione schede ATtiny

Al termine dell’installazione il nostro ambiente di sviluppo sarà pronto per poter essere utilizzato per la programmazione dei chip ATtiny.


Come programmare un ATtiny85 con Arduino

Configurare Arduino come Programmatore ISP

Ora vediamo come impostare Arduino Nano, come Programmatore ISP, in modo da poterlo utilizzare per caricare gli sketch sul chip ATtiny85.
Con Arduino collegato ad una delle porte USB configuriamolo, dal pannello Strumenti dell’IDE, in questo modo:

  • Scheda -> Arduino Nano
  • Processore -> ATmega328P
  • Porta -> COM4 (N.B. la porta potrebbe essere differente)
  • Programmatore -> Arduino as ISP

Selezione scheda, processore, porta e programmatore Arduino Nano

Dalla tab File -> Esempi cerchiamo e selezioniamo lo sketch ArduinoISP

Sketch ArduinoISP

Una volta selezionato carichiamolo, su Arduino Nano, cliccando sul pulsante Carica (contrassegnato da una freccia rivolta verso destra)

Carica sketch ArduinoISP su Arduino Nano

A questo punto la board Arduino è pronta per essere utilizzata come programmatore

Schema di montaggio per caricare lo sketch

Ora dobbiamo effettuare i collegamenti necessari per poter permettere ad Arduino Nano di poter caricare gli sketch sul chip ATtiny85

Per questioni di spazio le indicazioni degli 8 piedini non vengono stampate tutte, sul chip ATTiny85, ma può essere individuato facilmente il Pin 1 che solitamente è contrassegnato con un piccolo cerchio o, se non presente, a sinistra della scalanatura a forma di mezzo cerchio

Individuare piedino uno su microcontrollore ATtiny85

Una volta individuato il piedino 1 basta guardare lo schema dell’immagine del Pinout per individuare la disposizione degli altri piedini.

Ora effettuiamo i collegamenti tra Arduino Nano, impostato come programmatore, e il chip ATtiny85 come mostrato nella tabella seguente

COLLEGAMENTO ATtiny85 – Arduino
Arduino Nano/UNO ATtiny85 Jumper
D10 Pin 1 (Reset)      Arancione
D11 Pin 5 (MOSI)      Bianco
D12 Pin 6 (MISO)      Verde
D13 Pin 7 (SCK)      Giallo
5V Pin 8 (VCC)      Rosso
GND Pin 4 (GND)      Nero

Questo il circuito realizzato con fritzing

Come programmare un ATtiny85 con Arduino. Circuito collegamento ISP


Sketch blink per ATtiny85

Copiamo ed incolliamo, lo sketch seguente, nell’IDE di Arduino:

Configurazione IDE e esecuzione dello sketch

Prima di caricare lo sketch è necessario impostare la Scheda, il Processore, il Clock e la Porta relativi all’ATtiny85.
Colleghiamo la board Arduino Nano al nostro PC, tramite la porta USB, e configuriamola dal pannello Strumenti dell’IDE in questo modo

  • Scheda -> ATtiny25/45/85
  • Processore -> ATtini85
  • Clock -> Internal 1 MHz (solitamente il valore impostato di default su chip nuovi)
  • Porta -> COM4 (N.B. la porta potrebbe essere differente)

Assicuriamoci anche che in Programmatore sia impostato Arduino as ISP

Selezione Scheda, Processore, Porta e Clock per ATtiny su Arduino IDE

Terminata la configurazione non ci resta che caricare lo sketch cliccando sul pulsante Carica

Se non si sono verificati errori, il nostro ATtiny è pronto per far lampeggiare un led.
Scolleghiamo i jumper utilizzati per il collegamento, con il micro-controllore Arduino Nano, ed effettuiamo i collegamenti del Led e dell’ATTiny come da schema seguente

COLLEGAMENTO ATtiny85 Led
ATtiny85 Led R220Ω
Pin 5 +
1° Pin
Pin 4 2° Pin

Sul Pin 8 va collegato il VCC e sul Pin 4 il GND di una fonte di alimentazione (massimo 5,5 volt).

N.B. per alimentare il circuito ho utilizzato una scheda di ricarica TP4056. Se no avete una fonte di alimentazione potete utilizzare tranquillamente i PIN 5V e GND di Arduino e sfruttare Arduino come alimentatore.

Questo il circuito realizzato con fritzing

Come programmare un ATtiny85 con Arduino. Circuito fritzing blink

e questo il circuito reale

Come programmare un ATtiny85 con Arduino. Circuito con alimentazione tramite scheda di alimentazione TP4056

Ora non ci resta che alimentare l’ATTiny per vedere in esecuzione lo sketch.

A presto 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *