Cover | 1 |
Vorwort | 5 |
CD-ROM zum Buch | 7 |
Inhaltsverzeichnis | 9 |
1 Mikrocontroller-Grundlagen | 13 |
1.1 Aufbau und Funktionsweise | 14 |
1.1.1 Die CPU | 14 |
1.1.2 Arbeits- und Programmspeicher | 15 |
1.2 Peripherie | 16 |
1.3 Technologievergleich: RISC und CISC | 16 |
1.3.1 CISC-Technologie | 17 |
1.3.2 RISC-Technologie | 17 |
1.3.3 Vergleich | 17 |
2 Programmierung der Mikrocontroller | 19 |
2.1 Was ist ein Programm? | 19 |
2.2 Programmierung in C | 19 |
3 Eine kleine Übersicht über die ARDUINO Mikrocontroller-Familie | 21 |
3.1 Arduino Mega | 22 |
3.2 Arduino Duemilanove | 23 |
3.3 Arduino Mini | 24 |
3.4 Arduino Nano | 25 |
3.5 Arduino Pro Mini | 26 |
3.6 Arduino Pro | 27 |
3.7 LilyPad | 28 |
3.8 USB-Adapter | 29 |
4 Arduino Shields | 31 |
4.1 Arduino ProtoShield | 31 |
4.2 Ardumoto | 32 |
4.3 TellyMate | 33 |
4.5 Ethernet Shield | 36 |
4.4 ArduPilot | 34 |
5 Bauteile | 37 |
5.1 Teileliste Basisexperimente | 37 |
5.2 Teileliste Zusatzexperimente (I²C, LCD …) | 38 |
5.3 Das Freeduino-Experimentierboard | 38 |
5.4 Anschlüsse und LEDs des Freeduino-Mikrocontroller-Experimentierboards | 39 |
5.5 Die Stromversorgung | 40 |
5.6 Reset-Taster | 40 |
5.7 ISP-Anschluss | 40 |
5.8 Sicherheitshinweise | 41 |
6 Bauteile und ihre Funktion | 43 |
6.1 Leuchtdioden | 43 |
6.2 Widerstände | 43 |
6.3 Kondensatoren | 45 |
6.4 Transistoren | 47 |
6.5 Diode | 47 |
6.6 Piezo-Schallwandler (Buzzer) | 47 |
6.7 Schaltdraht | 48 |
6.8 Taster | 48 |
6.9 Potenziometer | 49 |
6.10 LDR | 49 |
6.11 Steckbrett | 50 |
7 Die ersten Vorbereitungen (Inbetriebnahme) | 51 |
7.1 Treiberinstallation | 51 |
7.2 Das Tool MProg für den FT232RL | 52 |
7.3 FT232R mit MProg programmieren | 57 |
7.4 Die Arduino-Software installieren | 58 |
8 Die Arduino-Entwicklungsumgebung | 61 |
8.1 Einstellungen in der Arduino-IDE | 63 |
8.2 Der erste Funktionstest »ES_Blinkt« | 64 |
8.3 Was haben wir getan? | 67 |
9 Arduino-Programmiergrundlagen | 69 |
9.1 Bits und Bytes | 69 |
9.2 Grundsätzlicher Aufbau eines Programms | 70 |
9.2.1 Sequenzieller Programmablauf | 70 |
9.2.2 Interruptgesteuerter Programmablauf | 71 |
9.3 Der Aufbau eines Arduino-Programms | 72 |
9.4 Das erste eigene Programm mit Arduino | 72 |
9.5 Arduino-Befehle und ihre Verwendung | 74 |
9.5.1 Kommentare im Quelltext | 74 |
10 Weitere Experimente mit Arduino | 133 |
10.1 Der Transistor-LED-Dimmer | 133 |
10.2 Softer Blinker | 135 |
10.3 Taster entprellen | 138 |
10.4 Einschaltverzögerung | 143 |
10.5 Ausschaltverzögerung | 144 |
10.6 LEDs und Arduino | 145 |
10.7 Größere Verbraucher schalten | 148 |
10.8 DAC mit PWM-Ports | 151 |
10.9 Mit Musik geht alles besser | 156 |
10.10 Romantisches Mikrocontroller-Kerzenlicht | 159 |
10.11 Überwachung des Personalausgangs | 161 |
10.12 RTC (Real Time Clock) | 163 |
10.13 Schuluhrprogramm | 165 |
10.14 Lüftersteuerung | 169 |
10.15 Dämmerungsschalter | 172 |
10.16 Alarmanlage | 174 |
10.17 Codeschloss | 177 |
10.18 Kapazitätsmesser mit Autorange | 181 |
10.19 Potenziometer professionell auslesen | 184 |
10.20 Sensortaster | 186 |
10.21 State Machine | 188 |
10.22 Ein 6-Kanal-Voltmeter mit Arduino | 191 |
10.23 Spannungs-Plotter selbst programmiert | 193 |
10.24 Das Arduino-Speicheroszilloskop | 196 |
10.25 StampPlot, der Profi-Datenlogger zum Nulltarif | 198 |
10.26 Steuern über VB.NET | 202 |
10.27 Temperaturschalter | 205 |
11 Der I²C-Bus | 209 |
11.1 Bit-Übertragung | 210 |
11.2 Startbedingung | 210 |
11.3 Stoppbedingung | 210 |
11.4 Byte-Übertragung | 210 |
11.5 Bestätigung (Acknowledgment) | 211 |
11.6 Adressierung | 211 |
11.7 7-Bit-Adressierung | 211 |
12 Arduino und der I²C-Bus-Temperatursensor LM75 | 213 |
13 I²C-Portexpander mit PCF8574 | 217 |
14 Ultraschallsensoren zur Entfernungsbestimmung | 221 |
14.1 Der SRF02-Ultraschallsensor | 221 |
14.2 Auslesen der Entfernungsdaten | 222 |
15 Arduino mit GPS | 225 |
15.1 Wie viel Satelliten sind notwendig? | 226 |
15.2 Wie schließe ich das GPS an Arduino an? | 227 |
15.3 GPS-Protokoll | 228 |
16 Stellantrieb mit Servo für Arduino | 233 |
16.1 Wie funktioniert ein Servo? | 233 |
16.2 Anschluss an Arduino | 234 |
17 LC-Displays LCDs | 237 |
17.1 Polarisation von Displays | 238 |
17.2 Statische Ansteuerung, Multiplexbetrieb | 238 |
17.3 Blickwinkel 6 Uhr/12 Uhr | 238 |
17.4 Reflektiv, Transflektiv, Transmissiv | 239 |
17.5 Die Kontrasteinstellung des Displays | 240 |
17.6 Der Zeichensatz | 242 |
17.7 Pinbelegung der gängigen LCDs | 243 |
17.8 So wird das Display vom Mikrocontroller angesteuert | 244 |
17.9 Initialisierung der Displays | 245 |
17.10 Das Display und sein Anschluss am Arduino | 246 |
17.11 Die erste Ausgabe | 248 |
17.12 Was haben wir genau gemacht? | 251 |
A Anhang | 253 |
A.1 Arduino zu ATmega Pinmap | 253 |
A.2 Escape-Sequenzen | 253 |
A.3 ASCII-Tabelle | 255 |
Bezugsquellen | 259 |
Stichwortverzeichnis | 261 |