Vom Arduino zur Standalone-Hardware

Wenn man das erste Mal mit Arduinos in Kontakt kommt, wundert man sich, wie klein und günstig die Plattform doch ist. Nach und nach merkt man dann allerdings, dass das Arduino doch sehr überladen und teuer ist. Für die Entwicklung ist das gut, für den späteren produktiven Einsatz jedoch nicht. Früher oder später guckt man, wie man das ganze ein wenig verschlanken kann.

Für kleinere Projekte bieten sich hierfür die ATtiny-Microcontroller von ATMEL an. Ein kleiner ATtiny 85 ist bereits ab 1,25€ zu haben und hat mit 8MHz und 8KiB EEPROM doch schon einiges zu bieten. Für 2,85€ kriegt man auch einen ATtiny 84, der einem mehr Eingabe- und Ausgabe-Pins bietet.

Jedoch ist es mit dem Chip allein noch nicht getan, denn irgendwie muss man dort ja sein Programm drauf bekommen. Hier hat das MIT einiges an Vorarbeit geleistet und leicht verständliche Anleitungen online gestellt. Zudem verweisen sie auf die Hardwaredefinitionen, die die Arduino-Software benötigt, um ordentlich mit solch einem Chip kommunizieren zu können. Auch auf der Arduino-Webseite und bei Youtube erfährt man viel darüber, was man tun muss, um Microcontroller mit Software zu füttern.

Auch ich habe das ganze nach und nach ausprobiert. Angefangen hatte ich mit einem wirklich simplen Projekt: einer kleinen Ampelanlage. Diese schaltet einfach zwischen den Ampelphasen rot, rot-gelb, grün und gelb hin und her. Das ganze habe ich in einem kleinen Video festgehalten. Der kleine Chip ist der Microcontroller.

ATMEL ATtiny 85 Ampel

ATMEL ATtiny 85 Ampel

Das ganze kann natürlich auch ein bisschen komplizierter sein, als eine einfache Ampel. Mit Hilfe eines 12-Bit-Counters, eines NAND-Gatters, eines NOR-Gatters und drei Multiplexern habe ich zum Beispiel das LED-Beispiel vom letzten Mal von 16 auf 24 LEDs erweitern können. Der ATtiny 85 übernimmt hierbei dieses Mal die Arbeit (hier ein Video des ganzen).

ATMEL ATtiny 85 Lichtershow ATMEL ATtiny 85 Lichtershow

ATMEL ATtiny 85 Lichtershow

Die Logik ist auch bei 24 LEDs ziemlich simpel. Der 12-Bit-Counter zählt hoch. Solange nur die niedrigsten 3 Bits gesetzt sind, ist der erste Multiplexer aktiv. Ist das vierte Bit gesetzt, so ist der zweite Multiplexer aktiv und ist das fünfte Bit aktiv, dann wird der dritte Multiplexer aktiv geschaltet. Sobald das vierte UND fünfte Bit gesetzt sind, wird das als Reset für den Zähler genutzt und alles fängt von vorne an. 🙂

1
2
3
4
5
6
7
8
9
10
0000000(0L)(0R)000 [NOR(0L, 0R) => 1 | OL => 0 | 0R => 0 | NAND(NAND(0L, 0R), VCC) => 0] - 1st
...
0000000(0L)(0R)111 [NOR(0L, 0R) => 1 | OL => 0 | 0R => 0 | NAND(NAND(0L, 0R), VCC) => 0] - 1st
0000000(0L)(1R)000 [NOR(0L, 1R) => 0 | OL => 0 | 1R => 1 | NAND(NAND(0L, 1R), VCC) => 0] - 2nd
...
0000000(0L)(1R)111 [NOR(0L, 1R) => 0 | OL => 0 | 1R => 1 | NAND(NAND(0L, 1R), VCC) => 0] - 2nd
0000000(1L)(0R)000 [NOR(1L, 0R) => 0 | 1L => 1 | 0R => 0 | NAND(NAND(1L, 0R), VCC) => 0] - 3rd

0000000(1L)(0R)111 [NOR(1L, 0R) => 0 | 1L => 1 | 0R => 0 | NAND(NAND(1L, 0R), VCC) => 0] - 3rd
0000000(1L)(1R)000 [NOR(1L, 1R) => 0 | 1L => 1 | 1R => 1 | NAND(NAND(1L, 1R), VCC) => 1] - reset

Mit gar nicht allzu viel Aufwand ist es übrigens möglich, ein kleines Arduino-Shield zu basteln, das - in Kombination mit dem ArduinoISP-Quelltext - aus dem Arduino einen kleinen ATtiny-Programmierer macht. Hierbei sollte man übrigens die Pin-Belegungen entsprechend der jeweiligen Datasheets im Auge behalten (ATtiny 85 Datasheet | ATtiny 84 Datasheet).

ArduinoISP Shield

ArduinoISP Shield

Dank meines selbstgebauten ISP-Shields kann ich einfach einen ATtiny Microcontroller in den Testsockel einspannen und über die Arduino Software mühelos neue Programme auf ihn aufspielen. Danach muss ich den Microcontroller nur noch in das Projekt einsetzen, in dem ich ihn verwenden möchte. Einfacher geht es wirklich nicht mehr.

Arduino ISP Proto-Shield

ArduinoISP Proto-Shield

Und mit den passenden Teilen (in diesem Fall ein Arduino Proto-Shield) sieht der ArduinoISP sogar richtig gut aus und ist dank des korrekten Pin-Layouts sogar noch stabiler. 🙂
Alleinstehende Grüße, Kenny

Schreibe einen Kommentar

Um Ihnen beim weiteren Kommentieren auf dieser Webseite die erneute Eingabe Ihrer Daten zu ersparen, wird beim Absenden Ihres Kommentars ein Cookie an Ihren Browser gesendet und von diesem gespeichert. Mit dem Absenden eines Kommentars auf dieser Webseite stimmen Sie der Speicherung und Übertragung dieses Cookies explizit zu.

Pflichtfelder sind mit * markiert.