Doppelblinker mit ATtiny85
ATtiny Programmierung mit Arduino
In dem folgenden Experiment konstruieren wir mithilfe des Mikrocontrollers ATtiny85 einen LED-Doppelblinker (ein Blinker bestehend aus zwei Leuchtdioden).
Die Aufgabe gestalten wir äußerst einfach: In Sekundentakt soll eine Leuchtdiode abwechselnd ein- und ausgehen. Zweite Leuchtdiode soll sich ähnlich verhalten. Damit es
etwas interessanter wird, soll sie jedoch nicht wie die erste Leuchtdiode im Sekundentakt blinken, sondern alle 250 ms ein- und ausgehen. Das ist schon alles.
Das Programm (Sketch) wird mit Arduino IDE erstellt, was bedeutet, dass für die Programmierung des ATtiny-Mikrocontrollers keine neue Software gebraucht wird.
Es gibt mehrere Methoden, wie man
das Programm in den ATtiny85 Mikrocontroller laden kann. In diesem Beispiel nutzen wir Arduino UNO als Programmer. Es werden also auch keine weitere Hardware für den Versuch
gebraucht. Ein Steckbrett, einige Drahtbrücken, ein Kondensator und Widerstand reichen in diesem Beispiel
völlig aus.
Bei dem ATtiny85 handelt es sich um einen Vertreter der Gruppe von 8-Bit-AVR-Mikrocontrollern. Ursprünglich wurden die AVRs von der Firma Atmel hergestellt.
Firma Atmel wurde 2016 von der Firma Microchip übernommen. Die AVR-Produktion wurde von Microchip fortgesetzt. Die Mikrocontroller ATtinys können günstig erworben und in der
gewohnten Arduino-Umgebung programmiert werden. Charakteristisch für die kleinen Chips ist ihr geringer Stromverbrauch, was sie für den Einsatz mit Batterien
gerade prädestiniert. Sie sind auch in der klassischen DIP-Gehäuse erhältlich, wodurch sie zum Einsatz im Hobby-Bereich sehr geeignet
sind.
Eine Möglichkeit, ein Programm in den ATtiny Mikrocontroller zu laden, besteht darin, einen Arduino als Programmer zu nutzen. In unserem Beispiel wird genau
dieser Weg gewählt. Als Programmer kommt Arduino UNO zum Einsatz. Bei der Methode heißt es: Ein Mikrocontroller programmiert einen anderen Mikrocontroller. Dabei gehen
wir wie folgt vor:
1. Arduino UNO via USB-Kabel mit PC verbinden und die Software Arduino IDE (Hier Version 1.8.19) starten.
2. Arduino IDE vorbereiten (falls noch nicht erfolgt):
Zunächst wird das Board-Verzeichnis um Attiny Prozessoren erweitert. Dazu öffnet man in Arduino-IDE unter "Datei" die Voreinstellungen. Folgendes Fenster
wird angezeigt:
Voreinstellungen
In der Zeile "Zusätzliche Boardverwalter-URLs“ geben wir folgendes ein:
http://drazzy.com/package_drazzy.com_index.json
und bestätigen die Eingabe mit OK.
Anschließend öffnen wir mit „Werkzeuge/Board/Board-Verwaltung“ die Board Verwaltung, scrollen die Auflistung bis zu „ATtiny Core von Spence Konde“ und betätigen
den Button „Installieren“.
Danach lassen sich die ATtiny-Prozessoren wie gewohnt unter "Werkzeuge - Board"
aufrufen.
3. Arduino als ISP-Programmer vorbereiten:
Im nächsten Schritt wird das Programm „ArduinoISP“ in Arduino UNO geladen. Das Programm öffnen wir unter „Datei/Beispiele/ArduinoISP“. Nachdem das Programm geöffnet
wurde, wird es unter „Sketch/Hochladen“ in den Arduino UNO hochgeladen. Bevor der Vorgang erfolgreich durchgeführt werden kann, stellen wird unter „Werkzeuge/Board“ die
Einstellung „Board“ auf Arduino UNO. Vor der Übertragung ist auch unter „Werkzeuge/Port“ die richtige COM-Schnittstelle einzustellen. Das Fenster mit dem Programm kann
anschließend geschlossen werden.
4. ATtiny85 anschließen
Bevor ATtiny85 mit von uns erstelltem Programm geladen werden kann, muss er an Arduino angeschlossen werden. Die Verbindungen werden nach dem unten
erstellten Schema durchgeführt:
Schaltplan: Anschluss ATtiny85 an Arduino
Anschluss ATtiny85 an Arduino
5. Bootloader brennen
Bevor das eigentliche Programm hochgeladen werden kann, muss die Funktion „Bootloader brennen“ ausgeführt werden. Zunächst sind einige Einstellungen notwendig:
Werkzeuge/Board: ATtiny 25/45/85 (No bootloader)
Werkzeuge/Port: hier richtigen COM einstellen
Werkzeuge/Chip: „ATtiny85“
Werkzeuge/Programmer: Arduino als ISP
Andere Einstellungen können erstmals unverändert bleiben.
Jetzt wird unter „Werkzeuge/Bootloader brennen“ der Ladevorgang gestartet.
6. Programm erstellen
An dieser Stelle soll das eigentliche Programm für ATtiny85 erstellt werden. Mit „Sketch/Hochladen“ wird das Programm anschließend in den ATtiny85
Mikrocontroller geladen.
Doppelblinker mit ATtiny85
Schaltplan für Doppelblinker mit ATtiny85
Programm (Sketch)
// ********************************************************************
// Doppelblinker mit zwei Leuchtdioden und ATtiny85
// Arduino IDE 1.8.19
// ********************************************************************
An der Schaltung nehmen neben dem Mikrocontroller ATtiny85 zwei Leuchtdioden teil. Sie werden an die Anschluss-Pins 2 und 3 angeschlossen. Die Pins werden intern
jeweils als PB3 und PB4 definiert. So werden sie im Programm mit 3 und 4 angesprochen. Pin 1 (Reset) wird mit der Spannungsversorgung verbunden. Programmablauf beinhaltet keine
Geheimnisse. Die Leuchtdioden werden nach Ablauf einer Wartezeit von 250 ms (delay Anweisung) abwechselnd ein- (HIGH) bzw. ausgeschaltet (LOW). Um den Strom zu begrenzen werden
den Leuchtdioden 680 Ohm Widerstände vorgeschaltet. Das Programm kann mit der oben beschriebenen Methode „ATtiny mit Arduino programmieren“ in den ATtiny85 Mikocontroller
geladen werden.