Die ATtiny Prozessoren von Atmel sind ideal für kleine Aufgaben. Besonders dann, wenn die 20€ für einen Arduino zu teuer sind. Einen ATtiny bekommt man schon für 2€. Aber wie kommt mein Code auf den kleinen Chip? Dieser Blog beschreibt, wie man einen ATtiny84A mit Hilfe eines Arduino Uno unter OSX programmiert.
Arduino einrichten
- Die Arduino IDE hier herunter laden und installieren. Dieser Beitrag basiert auf der Version 1.6.7
- Unter File->Examples->0.1 Basics das Programm «Blink» auswählen.
- Unter Tools->Board «Arduino Uno» auswählen.
- Unter Port deinen USB Port zum Arduino auswählen
- Unter Programmer: AVR ISP auswählen
- Im Codefenster auf den Upload Knopf klicken.
- Nach kurzem Flackern, sollt die kleine LED in der Nähe des des Pin 13 im Sekundentakt zu blinken beginnen.
- Damit ist die IDE und der Arduino Uno korrekt mit deinem Mac verbunden und kann Programme empfangen und ausführen.
Arduino als ATtiny Programmierer einrichten
- Unter File->Examples->11.ArduinoISP das Programm «ArduinoISP» auswählen.
- Den Arduino gemäss mit dem ATtiny verbinden. Für das Verständnis fand ich das PDF ATtiny Pinout sehr hilfriech. Im Sketch sind noch drei LEDs aufgelistet, die Auskunft über den Zustand des Programmierers geben. Daraus ist diese Verdrahtung entstanden:
- Die Leitung von Reset zum 10uF Kondensator darf noch nicht verbunden werden.
- Jetzt kann das ArduinoISP Sketch auf den Arduino geladen werden.
- Wenn die linke gelbe LED langsam pulsiert, ist der Arduindo bereit den ATtiny Mikrocrontroller zu programmieren.
ATtiny Bibliotheken einrichten
- In den Arduino Einstellungen unter Addition Board Manager URLs, die URL https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json eintragen.
- Den Boards Manager öffnen
- Zu unterst in der Liste erscheint der Eintrag
rechts davon auf den Install Button klicken. - Jetzt steht zu unterst bei den Boards der ATtiny zur Verfügung.
Blink Programm auf den ATtiny laden
- Jetzt wir die Leitung zum 10uF Kondensator verbunden.
- Unter File->Examples->0.1 Basics erneut das Programm «Blink» auswählen.
- Jetzt überall im Sketch den Port 13 durch 0 ersetzen, oder von hier kopieren.
- Folgende Einstellungen vornehmen:
- Tools->Board->ATtiny
- Tools->Processor->ATtiny84
- Tools->Clock->1 MHz (internal)
- Tools->Port->deinen USB Port zum Arduino
- Tools->Progarmmer->Arduino as ISP
- Im Codefenster auf den Upload Knopf klicken.
- Im Logfenster darf jetzt keine Fehlermeldung erscheinen. Bei mir leuchtet trotzdem die rote Error LED auf, es scheint das man die ignorieren kann.
- Der ATtiny ist jetzt programmiert.
- Zum testen ob das Progarmm auf dem ATtiny wirlich ausgeführt wird, kann an Pin 13 eine LED mit einem 330 Ohm Vorwiderstand angeschlossen werden. Diese muss im Sekundentakt blinken.
Referenzen: