Programmere ATTiny13a via Arduino

Slik kan man programmere en Atmel ATTiny13a via en Arduino. Dette innlegget er mest for min egen del og for at jeg skal huske fremgangsmåten. Men så lenge jeg har et behov for å notere ned mine funn etter mye prøving og feiling så tenker jeg at det er like greit å dele min kunnskap med andre. Målet er å programmere en ATTiny13a ved å bruke en Arduino og Arduino IDE.

Last ned

Last ned nødvendig programvare.

Arduino IDE

Last ned versjon 1.0.0 av Arduino IDE http://arduino.cc/en/Main/OldSoftwareReleases

Jeg vet ikke årsaken, men jeg prøvde og feilet i lang tid ved å bruke versjon 1.0.5. Hver gang ble kompileringen av de helt enkleste eksempler (Blink) for stor til å laste inn på ATTiny13. Men etter et tips i en annen blogg prøvde jeg versjon 1.0.0 og vips så fikk jeg kompileringen til å bli liten nok til å passe inn på ATTiny13.

ATTiny

Arduino IDE har ingen kunnskap om ATTiny13. Så last ned fra GitHub https://github.com/tekstop/attiny/tree/Arduino1

Plasser innholdet i den ZIP-ede filen i mappen hardware i mappen for Arduino IDE. Eksempelvis så ser mappestrukturen min slik ut: c:arduino100/hardware/attiny/ I denne mappen ligger altså filene og mappene fra ZIP-filen.

Endring

Før du åpner Arduino IDE så må det legges til en liten endring i en fil som heter wiring.c. Denne fila finner du i mappen hardwarearduinocoresarduino

På linje (ca 44) legger man til || (__AVR_ATtiny13__) sammen med de andre definisjonene.

Oppkobling

For at Arduino-en skal kunne programmere brikken så må de kobles sammen. Eksempel: pinne 13 på Arduino til pinne 7 på brikka osv. Se skjemaet og skissen under.

Arduino ATTiny13a
13 7
12 6
11 5
10 1
5V 8
GND 4

Arduino to ATTiny13a

Programmeringen

Nå er Arduinoen og brikka koblet opp, bibliotektet for ATTiny13 er lagt til for Arduino IDE og definisjonen for brikka er lagt til i wiring.c-fila. Det er på tide å åpne Arduino IDE og gjøre de innledende innstillinger.

Velg din Arduino versjon

Under Tools -> Boards så velg din Arduino. I mitt tilfelle er det Arduino Uno.

Arduino IDE - boards

Velg Arduino som programmer

Under Tools -> Programmer så velg Arduino as ISP

Arduino as ISP

Åpne ArduinoISP

File -> Examples og åpne ArduinoISP

ArduinoISP

Last opp ArduinoISP til Arduinoen, Ctrl + U. Nå er Arduinoen klar til å kunne programere ATTiny13a-brikken.

Test med «Blink»

For å teste at alt er i orden så kan du koble til en motstand (ca. 200 Ohm) på pinne 3 på brikka, så en LED så til GND.

Arduino - Attiny13a - LED

Åpen Blink-eksempelet. Bytt ut utgang 13 med utgang 4. Last så opp programmet ved å bruke File -> Upload Using Programmer (eller Ctrl + Shift + U).