In diesem Beitrag möchte ich beschreiben wie du den Microcontroller ATtiny85 mit einem Arduino UNO beschreiben kannst und somit deine Projekte noch kleiner bekommst.
Den Microcontroller ATtiny85 habe ich bereits im Beitrag Mini Arduino mit ATTiny85 Chip vorgestellt.
benötigte Bauteile
Für das schreiben / brennen eines Sketches auf einen ATtiny85 werden folgende Bauteile benötigt:
- 1x Arduino UNO,
- 6x Breaboardkabel, männlich – männlich, 20cm
- 1x 10µF, 25V Elektrolytkondensator
- 1x ATtiny85 Chip
Pinout des ATtiny85
Der Chip ATtiny85 verfügt über 8 Pins welche wiefolgt belegt sind.
In der Grafik ist eine halbrunde Kerbe eingezeichnet, auf dem Chip ist die Seite jedoch mit einem kleinen Kreis über dem Pin „Reset“ gekennzeichnet.
Aufbau auf dem Breadboard
Die Pins des ATtiny85 werden wie folgt am Arduino UNO angeschlossen:
ATtiny85 | Arduino UNO |
---|---|
1 | digitaler Pin D10 |
5 | digitaler Pin D11 |
6 | digitaler Pin D12 |
7 | digitaler Pin D13 |
4 | GND |
8 | 5V |
Der Kondensator wird mit dem Pin „Reset“ vom Arduino UNO mit dem GND verbunden.
Wichtig ist das die Anode (+ Pol, langes Bein) mit GND des Arduinos verbunden wird.
Hier nun etwas übersichtlicher als Shema von der Software Fritzing.
Wozu der Kondensator?
Der Kondensator verhindert das der Arduino UNO automatisch neu startet nachdem der Sketch auf den Chip gebrannt wurde.
einrichten der Arduino IDE
Wie aus meinen Tutorials bekannt, verwende ich die Arduino IDE. Auch hier empfiehlt sich die einfache Anwendung zum Programmieren des ATtiny85.
Zunächst einmal müssen wir den Treiber für den Microchip ATtiny85 installieren. Dazu fügen wir nachfolgende URL in die Liste der „Zusätzlichen Boardverwalter-URLs“ ein.
Wenn dieses erledigt ist, dann kannst du den Treiber über den Boardverwalter installieren. Dazu musst du im Boardverwalter nach „attiny85“ suchen (1). In meinem Fall findest du nur einen Eintrag. Nach einem weiteren klick auf „Installieren“ (2) wird der Treiber aus dem Internet geladen und installiert. Wenn der Treiber installiert ist, kannst du den Dialog über die Schaltfläche „Schließen“ schließen.
Upload des Sketches auf den Arduino UNO
Damit wir auf den ATtiny85 einen Sketch hochladen können, müssen wir zunächst einen Sketch auf den Arduino UNO schreiben / hochladen.
Diesen Sketch findest du unter „Datei“ > „Beispiele“ > „11.ArduinoISP“.
Oder hier bequem zum Download.
Nachdem nun der Sketch hochgeladen wurde, kann der ATtiny85 beschrieben werden.
Upload des Blink Sketches auf den ATtiny85
Der Arduino IDE liegt ein einfacher Sketch bei welcher eine LED zum Blinken bringt. Diesen Sketch findest du wiederum unter „Datei“ > „Beispiele“ > „01.Basic“ > „Blink“. In dem Beispiel muss jedoch, bevor der Code auf den Chip geschrieben wird erst einmal der Pin eingestellt werden. Am ATtiny85 stehen 5 Pins (0..4) zur Verfügung welche verwendet werden können.
Oder hier ein einfaches Sketch zum blinken einer LED am Pin 0.
const int PAUSE = 250; //Konstante für die Pause const int LED = 0; //Konstante für den Pin der LED void setup() { //definieren das der Pin der //LED als Ausgang dient pinMode(LED, OUTPUT); } void loop() { //aktivieren der LED digitalWrite(LED, HIGH); //eine kleine Pause delay(PAUSE); //deaktivieren der LED digitalWrite(LED, LOW); //eine kleine Pause delay(PAUSE); }
einstellen der Arduino IDE
Damit dieser Sketch hochgeladen werden kann, müssen wir jedoch die Arduino IDE so einstellen das diese unseren Arduino UNO als Programmer nutzt.
Mit diesen Einstellungen können wir nun das Sketch hochladen.
Video
In dem Sketch habe ich eine Pause von 250ms eingebaut, in „echt“ ist diese jedoch um ein vielfaches höher. Dieses liegt an der Taktfrequenz des ATtiny Chips welcher mit diesem Timer nicht so richtig klar kommt.
Aufbau einer kleinen Platine
Wenn man mehr als nur einen ATtiny85 beschreiben möchte so kann man sich eine kleine Platine löten und somit die oben beschriebene Schaltung „festhalten“. Dafür benötigen wir neben einfachem, bunten Kabel eine Lochrasterplatine. Wer etwas mehr Geld in die Hand nehmen möchte kann sich hier auch ein Prototype Shield für den Arduino UNO holen und hätte somit eine passende Platine bereits zur Hand.



Dieses Prototype Shield verwende ich im nachfolgenden Beispiel um den Microcontroller zu beschreiben.
So richtig Spaß macht das nicht wenn man mit „Try and Error“ versucht einen Fehler im Code zu finden. Daher macht der Einsatz eines Fertigen Chips wie nachfolgend abgebildet äußerst sinn.
Dieser Microcontroller bietet eine USB Schnittstelle zum Programmieren und die Pins.
Fazit
Mit dem Einsatz des ATtiny85 Chips ist es relativ einfach ein Projekt zu minimalisieren. Voraussetzung dabei ist jedoch das nicht zuviele digitale / analoge Pins benötigt werden. Als nächstes werde ich nun ein kleines Projekt realisieren wo dieser Chip eingesetzt wird.
Hallo Stefan,
danke für Deine tollen Anleitungen!
Das stelle ich hier rein, damit niemand 15 Stunden, wie ich, den Fehler suchen muss.
Ich habe schon diverse ATtiny 45/85 benutzt. Dazu klickte ich einfach ein DIY-Adapterbord auf den Uno, auch für SMD ATtiny.
Das geht nicht mehr. (Zuletzt vor ca 2 Jahren)
Mindestens 20x habe ich die Verbindungen nachgemessen, auch den Tiny 85 getauscht. Auch vom ATtiny zum Uno durchgemessen. Auch einen ATtiny auf ein Breadboard gesteckt und mit dem Uno verbunden. Den Uno as ISP bespielt.
Wenn ich einen Sketch auf den ATtiny spielen will, kommt die Meldung: Zum Hochladen ist ein Programmer benötigt.
Mit 2 unterschiedlichen Uno getestet.
VPN – Trennen nützt auch nichts.
Habe Arduino schon deinstalliert/installiert.
Wenn ich den Link im zusätzliche Urls:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
einfüge, erscheint nichts im Bibliotheksmanager.
Auf Github finde ich nur den unverschlüsselten Text des Links. Wenn ich den mit 7 Zip zippe, kommt die Arduino Info: kann nicht gelesen werden -Internal13.
Bin nicht sicher ob ich beim letzten ATtiny bespielen schon Bitdefender Premium hatte???
Habe aber den gesamten Ordner und noch .json vom Scan ausgenommen.
Das Problem aber war, das ich auf Arduino 2.2.1 upgedatet hatte.
Nun habe ich zusätzlich die 1.8.13 Version installiert.
Es funktioniert ohne Probleme. Nur die zusätzliche Url wird nicht angenommen. Das Programm von David Melli erscheint nicht.
Schönen Gruß
Achim B.