Tag

, , , , , , , , ,

Una delle cose più entusiasmanti che si possono fare con Arduino, una volta creato un progetto funzionante, è quella di poter miniaturizzare i nostri prototipi. Dopo aver creato un progetto che ci soddisfa, possiamo trasferire il comportamento descritto nel nostro sketch su un micro-controllore, e liberare il nostro Arduino per nuovi progetti.

Uno dei chip più diffusi si chiama ATTiny, ed è prodotto da ATMEL. È un piccolissimo ma potente chip che permette di controllare, senza bisogno di Arduino, un buon numero di pin, con performance discrete e un ingombro minimo.

ATTiny85

ATTiny85

Esistono diverse versioni di questo chip, con caratteristiche differenti. Una versione più grande di questo chip viene utilizzata proprio per costruire Arduino 🙂 Ci sono inoltre diverse aziende che producono micro-controllori: un altro chip molto diffuso è il PIC.

Ma ognuno di questi chip ha le sue regole e il suo datasheet, per cui ogni chip funziona in maniera leggermente diversa. In questo studio ci occuperemo solo dell’ATTiny85.

Per poter programmare un chip abbiamo bisogno di un’interfaccia di collegamento: ne esistono diverse in commercio, ma per il nostro piccolo esperimento utilizzaremo come interfaccia proprio il nostro Arduino (quante cose sa fare, questo Arduino!).

Requisiti

Per cominciare questo studio, ci servono solo poche cose: ovviamente un chip ATTiny85, il nostro Arduino, una decina di cavetti e – se avete un’Arduino UNO Rev. 1 o 2 – anche un condensatore da 10 uF (vedremo tra breve il perché).

Dal punto di vista software, invece, ci servono un po’ di strumenti in più: l’IDE di Arduino, così com’è, non permette di programmare un ATTiny85, ma il problema si risolve con una semplice libreria gratuita: arduino-tiny.

Preparazione

Andate sul sito di Google che ospita il progetto arduino-tiny, e scaricate l’ultima versione della libreria: arduino-tiny-xxxx-xxxx.zip.

Una volta scaricato e scompattato il download, andate nella cartella: Documenti/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, controllate.

Arduino-Tiny Boards

Arduino-Tiny Boards

Arduino

Adesso che abbiamo gli strumenti necessari, per prima cosa carichiamo sul nostro Arduino lo sketch: 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’ATTiny85 sulla breadboard.

Arduino ATTiny85 Schema

Arduino ATTiny85 Schema

Come vedete, lo schema per collegare il chip è abbastanza semplice: un pin alla 5V e uno alla terra, più 4 pin per la comunicazione. Se volete uno schema più dettagliato del chip, potete andare qui. Invece qui trovate una panoramica generale sui chip ATMEL. 

ATTiny85

Ora che il nostro Arduino è diventato un programmatore ISP ci basta caricare uno sketch e passarlo sull’ATTiny85. Prendiamo, ad esempio, il semplicissimo:

int LED = 3;
int BUTTON = 2;

void setup()
{
  pinMode(LED,OUTPUT);
  pinMode(BUTTON,INPUT);
}

void loop()
{
  int stato = digitalRead(BUTTON);
  if ( stato == HIGH ) 
  { 
    digitalWrite(LED,HIGH); 
  } 
  else 
  { 
    digitalWrite(LED,LOW); 
  }
}

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. Aprite lo sketch e caricatelo. Ci vorrà un po’ di tempo perché il codice deve arrivare al chip tramite Arduino.

Se non riuscite a caricare lo sketch, controllate la versione del vostro Arduino: se avete un Arduino UNO R1 oppure R2, dovete aggiungere un condensatore da 10 uF tra i pin RESET e GROUND sulla scheda, perché queste versioni si auto-resettano per errore al momento di programmare il chip. Arduino UNO R3 non ha questo problema.

Una volta caricato lo sketch sull’ATTiny85, montate sulla breadboard lo schema seguente. Collegate i pin al chip e usate Arduino solo per alimentare correttamente il circuito.

Arduino ATTiny85 LED schema

Arduino ATTiny85 LED schema

NB: la mappatura dei pin sul chip è un po’ differente da quanto ci si potrebbe aspettare, però è sufficientemente semplice:

Mappa PIN ATTiny85

Mappa PIN ATTiny85

A questo punto accendete Arduino, e la corrente alimenterà il chip – che funzionerà così come un piccolo e perfetto Arduino in miniatura!

Questo è tutto! Se volete, potete lasciare un commento qui sotto. A presto!

Download: Arduino_ATTiny85_LED.zip

Annunci