Pubblicato il

Come Programmare Attiny85 con Arduino – Lezione 7

Premessa:

Per i meno esperti oggi parleremo della famiglia Attiny o meglio dire dei microcontrollori della ATMEL giusto per ricordarlo è un azienda manufatturiera di semiconduttori fondata nel 1984.Questo tutorial ci permetterà di capire come programmare un Attiny85 con Arduino.

LISTA DEI MATERIALI:

Cosa ci possiamo fare:
L’utilità maggiore sta che una volta programmato il microcontrollore non utilizzeremo una scheda arduino per i nostri progetti, ma bensì esclusivamente attiny85 e qualche componente passivo. Quindi vedremo la procedura per il caricamento dei sketch arduino e successivamente l accensione del classico led.

Vediamo innanzitutto la piedinatura dell’Attiny85:

attiny85_pinout

 

 

 

 

 

Mentre da Arduino:

Piedino 1 = Ain0 (D 5) PB5
Piedino 2 = Ain3 (D 3) PB3
Piedino 3 = Ain2 (D 4) PB4
Piedino 4 = GND
Piedino 5 = PB0 (D 0) pwm0
Piedino 6 = PB1 (D 1) pwm1
Piedino 7 = PB2 (D 2) INT0 Ain1
Piedino 8 = VCC

Questa procedura è utile perché l’ATtiny85, essendo molto piccolo, trova impiego nei progetti dove le dimensioni sono un requisito fondamentale. Naturalmente essendo piccoletto, le sue caratteristiche hardware sono limitate, ma pur sempre interessanti. Ecco riassunte le specifiche principali:

Program Memory 8 Kbyte
EEPROM 512 Byte
SRAM 512 Byte
Frequenza di lavoro 1MHz – 8MHz – 16MHz
ADC 4 Canali
Protocollo Seriale SPI

una peculiarità di questi microcontrollori è che per funzionare non necessitano del classico circuito risuonatore (quarzo + condensatori) ma possono utilizzare un generatore di clock interno.

Clicca qui per —> Download Attiny Boards per Arduino

Una volta scaricato e scompattato il download, andate nella cartella: Arduino e – se ancora non esiste – create una nuova cartella e chiamatela: Hardware. Copiate qui dentro le cartelle: tiny e tools che avete appena scaricato.

Se tutto è andato bene, chiudete e aprite nuovamente l’IDE di Arduino: andate nel menu Strumenti > Tipo di Arduino e dovreste vedere un’elenco dei chip ATTiny. Se non li vedete probabilmente avete copiato le cartelle in maniera sbagliata.

boards-attiny85

APer prima cosa carichiamo sul nostro Arduino lo sketch dirigendovi nella sezione File troverete un esempio denominato Arduino ISP: File > Esempi > Arduino ISP

Questo sketch è molto importante, perché “trasforma” Arduino in un programmatore di chip. Una volta caricato lo sketch, siamo pronti per collegare l’Arduino alla breadboard.

Collegamento attiny ad arduino
Programmare-Attiny85-Arduino

Ora che il nostro Arduino è diventato un programmatore ISP ci basta caricare uno sketch e passarlo sull’ATTiny85.

Per poter caricare il codice direttamente sul chip, andate in: Strumenti > Tipo di Arduino e selezionate il chip ATTiny85 – non dovete selezionare Arduino! Se non sapete quale dei diversi chip scegliere, provate quello con la frequenza più bassa: @1Mhz. Il chip dovrebbe funzionare anche a 8Mhz.

Adesso aprite: Strumenti > Programmatore e scegliete Arduino as ISP. Caricate lo sketch sottoriportato.

void setup()
{
  //PIN0 in output
  //il PIN0 corrisponde al PIN5 dell'ATtiny85
  //vedi lo schema
  pinMode(0, OUTPUT);
}

void loop()
{
  //led on-off ogni mezzo secondo
  delay(500);
  digitalWrite(0, HIGH);
  delay(500);
  digitalWrite(0, LOW);
}

Clicchiamo sul pulsante upload per caricare lo sketch sull’ATtiny85. I led TX e RX della board Arduino UNO inizieranno a lampeggiare indicando il trasferimento del firmware sull’ATtiny85. Dopo qualche istante, se non si verificano problemi tipici di autoreset (superabili utilizzando il classico condensatore da porre tra il GND e il pin /Reset) sulla finestra dell’IDE dovrebbe apparire la conferma di Done uploading, con i seguenti warning:

avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85

Possiamo ignorarli perchè non compromettono la procedura.

Colleghiamo il led con una resistenza per verificare che tutto sia stato eseguito correttamente

ATiny-Esempio

Buon Progetto. Critics Corporation – Progetti Arduino Roma