Atimel Tiny85 è un chip della seria Atmel di dimensioni molto ridotte, grande quanto un’unghia, molto meno di Atmel 328, il chip presente su Arduino uno R3. Le sue dimensioni così piccole gli consentono di essere facilmente integrato in un circuito piccolo, si può realizzare un progetto su una millefori o addirittura mandare a stampare il circuito e installarlo senza necessità della scheda Arduino, molto più voluminosa. Attiny è insomma un modo per utilizzare il minimo indispensabile per creare un progetto elettronico.
la programmazione di questo chip può essere fatta con Arduino IDE e prevede molte delle istruzioni di base del Wiring, altre si possono utilizzare importando delle librerie. Per programmare il chip esistono vari modi, il più semplice è quello di acquistare un programmatore USBasp con zoccoletto per Attiny, (foto destra sopra), in questa maniera basterà collegare la scheda di sviluppo alla porta USB, configurare IDE e scrivere il programma normalmente.
Un altro modo è quello di utilizzare Arduino UNO R3 come programmatore: si tratta di collegare alcuni pin di Attiny con Arduino e impostare Arduino come programmatore. Queste procedure sono descritte in vari tutorial sul web.
Una volta memorizzato il programma su Attiny scolleghiamo il chip e lo posizioniamo sul suo circuito finale. Per costruire un circuito con Attiny bisogna considerare che possiede pochi pin out/in e che lo schema è quello sotto: Attiny va alimentato usando i pin 4(gnd) ed 8(5v), poi gli altri pin possono essere usati dal vostro programma.
Gli 8 pin di Attiny hanno le funzioni come nello schema sopra: il pin1 è il reset. il pin2 corrisponde al pin analogico A3 o digitale 3 quindi nella programmazione scriveremo A3 o 3 mentre nel realizzare il circuito collegheremo il pin contrassegnato con il numero 2 del chip Attiny. Il pin 3 su Attiny corrisponde al pin software analogico 4 o digitale 4, ancora il pin 4 sul chip è il GND. Il 5, il 6 ed il 7 sono i pin 0,1 e 2 da programma, i primi due possono produrre segnali pwm, il terzo è anche analogico.
Bisogna stare attenti al fatto che se scriviamo pinMode(0,output) ci riferiamo al pin “fisico” 5, quello in basso a destra: la numerazione sul chip non coincide con quella dei pin software.