Programmare un ATtiny tramite Arduino

Soluzione semplice e veloce per programmare un microcontrollore ATtiny (AVR Microcontrollers) usando gli strumenti messi a disposizione da Arduino

Programmare un microcontrollore richiede l'uso di appositi IDE (integrated development environment) solitamente forniti dal produttore. Non sempre però tali IDE ed il linguaggio di programmazione supportato sono di facile utilizzo. La soluzione proposta consente di programmare un microcontrollore ATtiny (parente minore della serie ATmega montato su Arduino) tramite Arduino.

Vediamo cosa occorre:

    Arduino Duemilanove

    ATtiny45 o ATtiny85

    una breadbord

    cavetti per collegamento in rame o alluminio

    un resistore da 100 ohm (codice colore rosso) e due da 10 ohm (codice marrone), con una tolleranza del 10% (codice argento)

    un LED

    Arduino IDE

La libreria per programmare l'ATtiny con Arduino arduino-tiny-0022-0008.zip scaricabile dal sito http://code.google.com/p/arduino-tiny/downloads/list

 

Vediamo per passi come procedere:

1- Installare il supporto per l'ATtiny in Arduino. Nella cartella in cui salvate il codice dei programmi per Arduino (sketchbook folder) create una cartella di nome “hardware” e decomprimete il file zip scaricato.

2- Nella sottocartella “tiny” nella cartella “hardware” troverete il file boards.txt . Questo file deve essere opportunamente modifificato per ogni modello di ATtiny che si vuole programmare settando l'ISP (in-system programmer). Per un ATtiny85, 8MHz clock si dovrà scrivere:

# Questa è una riga di commento
# attiny85at8.upload.protocol=avrispv2
attiny85at8.upload.using=arduino:arduinoisp
# attiny85at8.upload.using=pololu
<

Decommentare solo il modello che si usa.

3- Lanciare la IDE di Arduino. Se era già attiva, chiudere e riaprire.

4- Aprire il programma di ArduinoISP dal menù degli esempi. Selezionare il modello corrispondente al proprio e caricare il programma ArduinoISP.

5- Per verificare che tutti sia andato a buon fine collegare un LED dal Pin 9 di Arduino alla massa. Se i primi passi sono stati svolti correttamente il LED dovrebbe lampeggiare lemtamente una volta che il programma è caricato.

6- IMPORTANTE: per completare la trasformazione di Arduino in un ISP si devono collegare i tre resistori a disposizione in serie (ottenendo un resistore da 120ohm) dal Pin di reset di Arduino a +5V. Ciò serve per evitare che la IDE resetti Arduino automaticamente calncellando il programma che abbiamo caricato. Ciò serve in tal caso poiché vogliamo usare Arduino com ISP per un ATtiny. Ricordarsi di rimuovere tali resistori per usare Arduino normalmente.

7- Collegare Arduino con l'ATtiny come in figura sottostante

Usando lo schema del microcontrollore è riportato nella figura sottostante effettuare il collegamento con Arduino.

Usare i punti sull'angolo dell'ATtiny per orientarlo nel modo corretto e collegare i Pin del ATtiny come segue:

    Pin 1: digital 10 di Arduino

    Pin 2 e 3: niente

    Pin 4: massa

    Pin 5:digital 11 di Arduino

    Pin 6: digital 12 di Arduino

    Pin 7: digital 13 di Arduino

    Pin 8: +5V

A questo punto siete pronti per programmare! Come ultimo passo una verifica: effettuare i collegamenti come in figura sottostante

Aprire il programma Blink nalla cartella examples/basics. Cambiare tutte le occorrenze di Pin 13 con Pin 0. Nel menù Tools/Boardseleziona re il modello di ATtiny che si usa, collegare un LED dal Pin 5 alla massa del ATtiny. Caricando il programma modificato il Pin di errore di Arduino dovrebbe rimanere spento mentre il LED del ATtiny dovrebbe lampeggiare. Ciò indica che tutto è pronto e funzionante.

A questo punto potrete programmare l'ATtiny in C++ tramite la IDE di Arduino.

Questa è una soluzione rapida ed efficace per utilizzare la IDE di Arduino come programmatore per un ATtiny evitando la scrittura di codice assembler. L'unico limite di tale metodo è imposto dalla libreria usata. Infatti non tutte le funzionalità dell'ATtiny sono ancora programmabili tramite la libreria proposta, che benchè sia un otttimo progetto è ancora in fase di sviluppo.

La scheda Arduino disponibile da Farnell

Scarica subito una copia gratis
Tags:,

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend