Vorwort
Die neuen tinyAVR-Serien 0 und 1 faszinieren durch ihre
UPDI-Schnittstelle. Man braucht zur Programmierung nur einen Pin des
Controllers und kommt mit einem USB/Seriell-Wandler als
Programmiergerät aus. Alles vom kleinsten ATtiny202 bis zur größeren
ATtiny3216 lässt sich mit denselben Werkzeugen programmieren.
Die größeren Controller der beiden Serien erinnern eher an die
bisherigen ATmega-Typen. Dazu kommen verschiedene neue
Peripherieelemente, wie DA-Wandler, Touch-Sensoren und programmierbare
Logik. Damit hat man ganz neue Möglichkeiten. Dieses Buch will einen
Überblick geben und zahlreiche praktische Anwendungen zeigen.
Auf der Seite der Programmierwerkzeuge kommt man komplett mit
kostenloser Software aus. Hier werden vier mögliche
Programmierumgebungen vorgestellt, im Schwerpunkt wird aber VSCode mit
PlatfomIO verwendet. Damit hat man die perfekten Werkzeuge, die auch
für ganz andere Controller eingesetzt werden können. Die Mühen der
Einarbeitung lohnen sich also auch für künftige Projekte.
Dieses Buch richtet sich nicht in erster Linie an Einsteiger.
Vorkenntnisse in der C-Programmierung oder Erfahrungen mit der
Arduino-Programmierung sind von Vorteil und lassen sich leicht mit den
neuen Controllern anwenden. Der entscheidende Unterschied ist, dass man
mit einem preiswerten Controller der TinyAVR-Serie 0 oder 1 typische
Arduino-Aufgaben lösen kann und vieles, was darüber hinausgeht.
Inhalt
1 Vorbereitungen 3
1.1 Flashen mit pymcuprog 4
1.2 Atmel Studio 7 9
1.3 Die Arduino-IDE 12
1.4 MPLAB X 16
1.5 VSCode und PlatformIO 19
2 Ein- und Ausgänge 30
2.1 Der Tiny-Blinker 30
2.2 Lauflicht und Print-Ausgaben 34
2.3 Digitale Eingänge 39
2.4 Der Analog/Digital-Wandler 42
2.5 PWM und DAC 47
3 Hardwarenahe Programmierung 52
3.1 Maximale Geschwindigkeit 52
3.2 Schnelle DAC-Ausgaben 58
3.3 Serielle Ausgaben 61
3.4 Der analoge Komparator 63
3.5 Drei analoge Ausgänge 67
3.6 Programmierbare Logik 69
3.7 Das Event-System 74
3.8 Quarzoszillator 76
4 Typische Anwendungen 80
4.1 Temperaturmessung 80
4.2 Berührungssensor 85
4.3 Infrarot-Morsesender 88
4.4 Ultraschall-Morsesender 89
4.5 Audio-Delay 92
4.6 Mittelwellen-Modulator 94
5 Messtechnik 98
5.1 Spannungsmessung 100 µV bis 550 mV 98
5.2 Kapazitätsmesser 20 pF bis 600 nF 100
5.3 Zweikanal-Oszilloskop 102
5.4 DDS-Generator 106
5.5 Dreikanal-DDS-Generator 109
5.6 Oszilloskop und DDS 112
6 Batteriebetrieb 118
6.1 Uhrenquarz 118
6.2 Küchen-Timer 120
6.3 Watchdog-Blitzer 121
6.4 Infrarot-Morsetransceiver 124
Download, das Software-Archiv zum Buch:
tinyAVR01.zip
Beide Controller auf dem Entwicklungsboard mit UPDI und serieller Übertragung.