Februar 19

Attiny Mikrocontroller mit Arduino Uno flashen

Ich möchte an dieser Stelle zeigen, wie man einen Attiny Mikrocontroller mittels eines Arduino Unos flashen kann. Dazu wird ein Arduino Sketch erstellt und mittels des Unos als "Brenner" auf den Attiny45 übertragen.

Ich verwende einen Attiny45 mit 8 Pin DIP(Dual Inline Package = Name einer Gehäuserart).

Zunächst spielen wir auf dem Arduino den ArduinoISP Sketch auf. Dazu schließen wir den Arduino mit dem USB-Kabel an einen USB-Port unseres PCs an und öffnen die Arduino Entwicklungsumgebung, klicken dann auf Datei -> Beispiele -> Arduino ISP.

Es sollte sich folgender Sketch öffnen:

isp

Diesen Sketch müssen wir nun noch auf den Arduino übetragen, damit dieser als "Brenner" fungieren kann. Dazu auf Upload klicken.

Anschließend müssen wir nun den Attiny mit dem Arduino Uno Board verbinden. Die Verkabelung finden Sie auch auf folgender Seite: http://highlowtech.org/?p=1706

Darüber hinaus sieht man in den folgenden Bildern die fertige Verkabelung. Um einen Reset des Arduinos zu umgehen, wird ein Elektrolytkondensator (10µF werden empfohlen, ich hatte nur einen 100µF, damit hat es auch geklappt 😉 ) zwischen Reset und GND (Achtung, das kürzere Beinchen, also MINUS, muss in den GND Pin vom Arduino Uno) gesteckt.

K800_IMG_0310 K800_IMG_0311 K800_IMG_0312

Zudem benutze ich im dritten Bild noch einen 100nF Enstörkondensator, der von VCC nach GND geht und damit hohe Frequenzen kurzschließt (Schutzmaßnahme).

Nun wird noch folgender Ordner benötigt:

https://github.com/damellis/attiny (rechts am Rand als .zip downloaden)

Dieser Ordner muss nun in euren Arduino Ordner übertragen werden. Dazu habe ich bei mir unter Windows den WindowsExplorer geöffnet -> Eiegene Dokumente -> Arduino.
Hier habe ich einen neuen Ordner mit dem Namen hardware erstellt, falls der bei Ihnen bereits exisitieren sollte, einfach die .zip dort hereinkopieren (jedoch der ZWEITE! Unterordner mit dem Namen attiny). Anschließend die Arduino Entwicklungsumgebung neu starten und Sie sollten folgende Auswahlmöglichkeiten sehen:

K800_IMG_20140219_143641

Standardmäßig sollte der Attiny mit einem Clock von 1Mhz arbeiten, diesen habe ich dann angewählt (anklicken).

Zum Testen des ganzen habe ich ein neues Projekt geöffnet und im Besipiel Ordner den Blink Sketch geöffnet, die Zeile "int led=13;" geändert in "int led=0;". Als Programmer habe ich "Arduino ISP" ausgewählt.

K800_IMG_20140219_143650

Anschließend wieder Uploaden, es kann folgende Fehlermeldung erscheinen, die aber nicht wirklich relevant ist (man kann die Funktion des Codes anhand einer LED an Pin 0 des Attiny45 testen, siehe im Video unten).

Das wars, hier noch ein Video zur Überprüfung der Funktion.