cover.jpg

Bibliografische Information der Deutschen Bibliothek
Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte Daten sind im Internet über http://dnb.ddb.de abrufbar.

Hinweis: Alle Angaben in diesem Buch wurden vom Autor mit größter Sorgfalt erarbeitet bzw. zusammengestellt und unter Einschaltung wirksamer Kontrollmaßnahmen reproduziert. Trotzdem sind Fehler nicht ganz auszuschließen. Der Verlag und der Autor sehen sich deshalb gezwungen, darauf hinzuweisen, dass sie weder eine Garantie noch die juristische Verantwortung oder irgendeine Haftung für Folgen, die auf fehlerhafte Angaben zurückgehen, übernehmen können. Für die Mitteilung etwaiger Fehler sind Verlag und Autor jederzeit dankbar. Internetadressen oder Versionsnummern stellen den bei Redaktionsschluss verfügbaren Informationsstand dar. Verlag und Autor übernehmen keinerlei Verantwortung oder Haftung für Veränderungen, die sich aus nicht von ihnen zu vertretenden Umständen ergeben. Evtl. beigefügte oder zum Download angebotene Dateien und Informationen dienen ausschließlich der nicht gewerblichen Nutzung. Eine gewerbliche Nutzung ist nur mit Zustimmung des Lizenzinhabers möglich.

© 2012 Franzis Verlag GmbH, 85540 Haar

Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Das Erstellen und Verbreiten von Kopien auf Papier, auf Datenträgern oder im Internet, insbesondere als PDF, ist nur mit ausdrücklicher Genehmigung des Verlags gestattet und wird widrigenfalls strafrechtlich verfolgt.

Die meisten Produktbezeichnungen von Hard- und Software sowie Firmennamen und Firmenlogos, die in diesem Werk genannt werden, sind in der Regel gleichzeitig auch eingetragene Warenzeichen und sollten als solche betrachtet werden. Der Verlag folgt bei den Produktbezeichnungen im Wesentlichen den Schreibweisen der Hersteller.

EPUB-Bearbeitung und Konvertierung: www.goebel-software.com
Coverart & -design: www.ideehoch2.de

ISBN 978-3-645-27000-7

Inhaltsübersicht

Vorwort

CD-ROM zum Buch

Inhalt der CD-ROM

GPL (General Public License)

Systemvoraussetzung

Updates und Support

Vorbereitungen

1  Mikrocontroller-Grundlagen

1.1  Aufbau und Funktionsweise

1.2  Peripherie

1.3  Technologievergleich: RISC und CISC

2  Programmierung der Mikrocontroller

2.1  Was ist ein Programm?

2.2  Programmierung in C

3  Eine kleine Übersicht über die ARDUINO-Mikrocontroller-Familie

3.1  Arduino Mega

3.2  Arduino Duemilanove

3.3  Arduino Mini

3.4  Arduino Nano

3.5  Arduino Pro Mini

3.6  Arduino Pro

3.7  LilyPad

3.8  USB-Adapter

4  Arduino Shields

4.1  Arduino ProtoShield

4.2  Ardumoto

4.3  TellyMate

4.4  ArduPilot

4.5  Ethernet Shield

5  Bauteile

5.1  Teileliste Basisexperimente

5.2  Teileliste Zusatzexperimente (I²C, LCD …)

5.3  Das Freeduino-Experimentierboard

5.4  Anschlüsse und LEDs des Freeduino-Mikrocontroller-Experimentierboards

5.5  Die Stromversorgung

5.6  Reset-Taster

5.7  ISP-Anschluss

5.8  Sicherheitshinweise

6  Bauteile und ihre Funktion

6.1  Leuchtdioden

6.2  Widerstände

6.3  Kondensatoren

6.4  Transistoren

6.5  Diode

6.6  Piezo-Schallwandler (Buzzer)

6.7  Schaltdraht

6.8  Taster

6.9  Potenziometer

6.10  LDR

6.11  Steckbrett

7  Die ersten Vorbereitungen (Inbetriebnahme)

7.1  Treiberinstallation

7.2  Das Tool MProg für den FT232RL

7.3  FT232R mit MProg programmieren

7.4  Die Arduino-Software installieren

8  Die Arduino-Entwicklungsumgebung

8.1  Einstellungen in der Arduino-IDE

8.2  Der erste Funktionstest »ES_Blinkt«

8.3  Was haben wir getan?

9  Arduino-Programmiergrundlagen

9.1  Bits und Bytes

9.2  Grundsätzlicher Aufbau eines Programms

9.3  Der Aufbau eines Arduino-Programms

9.4  Das erste eigene Programm mit Arduino

9.5  Arduino-Befehle und ihre Verwendung

10  Weitere Experimente mit Arduino

10.1  Der Transistor-LED-Dimmer

10.2  Softer Blinker

10.3  Taster entprellen

10.4  Einschaltverzögerung

10.5  Ausschaltverzögerung

10.6  LEDs und Arduino

10.7  Größere Verbraucher schalten

10.8  DAC mit PWM-Ports

10.9  Mit Musik geht alles besser

10.10  Romantisches Mikrocontroller-Kerzenlicht

10.11  Überwachung des Personalausgangs

10.12  RTC (Real Time Clock)

10.13  Schuluhrprogramm

10.14  Lüftersteuerung

10.15  Dämmerungsschalter

10.16  Alarmanlage

10.17  Codeschloss

10.18  Kapazitätsmesser mit Autorange

10.19  Potenziometer professionell auslesen

10.20  Sensortaster

10.21  State Machine

10.22  Ein 6-Kanal-Voltmeter mit Arduino

10.23  Spannungs-Plotter selbst programmiert

10.24  Das Arduino-Speicheroszilloskop

10.25  StampPlot, der Profi-Datenlogger zum Nulltarif

10.26  Steuern über VB.NET

10.27  Temperaturschalter

11  Der I²C-Bus

11.1  Bit-Übertragung

11.2  Startbedingung

11.3  Stoppbedingung

11.4  Byte-Übertragung

11.5  Bestätigung (Acknowledgment)

11.6  Adressierung

11.7  7-Bit-Adressierung

12  Arduino und der I²C-Bus-Temperatursensor LM75

13  I²C-Portexpander mit PCF8574

14  Ultraschallsensoren zur Entfernungsbestimmung

14.1  Der SRF02-Ultraschallsensor

14.2  Auslesen der Entfernungsdaten

15  Arduino mit GPS

15.1  Wie viel Satelliten sind notwendig?

15.2  Wie schließe ich das GPS an Arduino an?

15.3  GPS-Protokoll

16  Stellantrieb mit Servo für Arduino

16.1  Wie funktioniert ein Servo?

16.2  Anschluss an Arduino

17  LC-Displays LCDs

17.1  Polarisation von Displays

17.2  Statische Ansteuerung, Multiplexbetrieb

17.3  Blickwinkel 6 Uhr/12 Uhr

17.4  Reflektiv, Transflektiv, Transmissiv

17.5  Die Kontrasteinstellung des Displays

17.6  Der Zeichensatz

17.7  Pinbelegung der gängigen LCDs

17.8  So wird das Display vom Mikrocontroller angesteuert

17.9  Initialisierung der Displays

17.10  Das Display und sein Anschluss am Arduino

17.11  Die erste Ausgabe

17.12  Was haben wir genau gemacht?

A  Anhang

A.1  Arduino zu ATmega Pinmap

A.2  Escape-Sequenzen

A.3  ASCII-Tabelle

B  Bezugsquellen

Stichwortverzeichnis

Vorwort

Vielen fällt der Einstieg in die Mikrocontroller-Programmierung und die dazugehörige Elektronik schwer. Bei den meisten Mikrocontroller-Systemen muss man sich zuvor durch unzählige und für den Anfänger schwer verständliche Datenblätter wälzen. Die Programmieroberflächen sind meist viel zu kompliziert und mehr für professionelle Programmierer ausgelegt. Somit bleibt manchem der Zugang in die Welt der Mikrocontroller für immer verwehrt.

Arduino ist eine leicht zu verstehende Open-Source-Plattform, basierend auf einem Mikrocontrollerboard und einer Entwicklungsumgebung mit einer API (Programmier-Schnittstelle) für den Mikrocontroller. Für die Interaktion zwischen Mensch und Mikrocontroller können diverse analoge und digitale Sensoren angeschlossen werden, die die Umwelt erfassen und die Daten an den Mikrocontroller weitergeben. Der Mikrocontroller verarbeitet die eingehenden Daten, und durch das Programm entstehen neue Ausgabedaten in analoger oder ditgitaler Form. Hierbei sind der Kreativität des Entwicklers fast keine Grenzen gesetzt.

Die Arduino-Programmieroberfläche unterstützt den Entwickler bei seinen Vorhaben durch ihre vorgefertigten Programme und Funktionsbibliotheken. Das einfache Zusammenspiel aus Hard- und Software bildet die Basis für Physical Computing: die Verbindung der realen Welt mit der des Mikrocontrollers, die aus Bits und Bytes besteht. Dieses Buch zeigt Ihnen Schritt für Schritt, wie Sie den leichten Einstieg in diese Welt finden.

Viel Spaß beim Lesen und Experimentieren mit diesem Buch!

Ulli Sommer

CD-ROM zum Buch

Diesem Buch liegt eine CD-ROM bei, die verschiedene Programme, Tools, Datenblätter und Beispiele enthält. Die CD-ROM erleichtert Ihnen das Arbeiten mit diesem Buch. Die hier abgedruckten Beispiele sind auf der CD-ROM enthalten.

Inhalt der CD-ROM

GPL (General Public License)

Sie können Ihre eigenen Programme mit anderen Anwendern über das Internet austauschen. Die Beispielprogramme stehen unter der Open-Source-Lizenz GPL (General Public License). Daher sind Sie berechtigt, die Programme unter den Bedingungen der GPL zu modifizieren, zu veröffentlichen und anderen Anwendern zur Verfügung zu stellen, sofern Sie Ihre Programme dann ebenfalls unter die GPL-Lizenz stellen.

Systemvoraussetzung

Ab Pentium III-PC, Windows 98SE/ME/XP/Vista/Windows 7, Linux, Mac OS, CD-ROM-Laufwerk, Java

Updates und Support

Arduino wird ständig weiterentwickelt. Updates können kostenlos von der Website www.arduino.cc heruntergeladen werden (es fallen nur Ihre üblichen Online-Kosten an).

Vorbereitungen

Die vorgestellten Experimente können mit wenigen, meist preiswerten Teilen – aus der Bastelkiste oder extra gekauft – durchgeführt werden. Im Anhang finden Sie eine Liste der Teile und Liefernachweise für den Bezug der Komponenten.

Für die Experimente und Versuche brauchen Sie weder Batterien noch eine zusätzliche Stromversorgung.

Als sinnvolle und hilfreiche Ergänzung kann ein Vielfachmessinstrument (Multimeter) und/oder eine Schnittstelle zum Computer zur Strom- und Spannungsmessung verwendet werden. Damit können zusätzliche Experimente durchgeführt werden und es sind weitere spannende Zusammenhänge erfahrbar. Außerdem ist es nützlich, eine handelsübliche Akkuzelle der Größe AA (Mignon) oder AAA (Micro) für einige Experimente der Ladetechnik zur Verfügung zu haben.

Das Buch vermittelt die wichtigsten Grundlagen der Mikrocontrollertechnik. Außerdem werden beispielhafte praktische Anwendungen vorgestellt, mit deren Hilfe es möglich wird, eigene Schaltungen und Erfindungen rund um die Mikrocontrollertechnik zu entwickeln.

Sie können Ihr Equipment auch um eine Sortimentsbox ergänzen. Darin werden alle Einzelteile griffbereit und übersichtlich aufbewahrt.

1  Mikrocontroller-Grundlagen

Bevor wir uns näher mit Arduino beschäftigen, ist es wichtig, einen allgemeinen Überblick über die Mikrocontroller zu gewinnen. Mikrocontroller werden vor allem im Bereich der Automatisierungs-, der Mess-, Steuer- und Regeltechnik eingesetzt. Der Vorteil eines Mikrocontroller-Systems ist, auf kleinstem Raum energie- und kosteneffizient physikalische Größen zu messen und zu interpretieren, um darauf aufbauend Entscheidungen zu treffen und Aktionen durchzuführen.

Abb_2.tif

Bild 1.1  Beispiel einer Ein- und Ausgabeverarbeitung anhand eines Gewächshauses

Das Spektrum möglicher Anwendungen von Mikrocontrollern reicht vom privaten (z. B. der Steuerung eines Gewächshauses oder der Hausbelichtung) bis zum industriellen Bereich, wo komplette Anlagen mit Mikrocontroller-Systemen gesteuert, gewartet und betrieben werden können. Das obige Bild zeigt eine typische Datenverarbeitung zur Steuerung einer Bewässerungsanlage eines Gewächshauses. Der Controller nimmt dabei über Sensoren die Messwerte der Umgebungstemperatur und Bodenfeuchte auf. Die Messwerte werden durch eine digitale Logik im Mikrocontroller (kurz: µC oder MC genannt) interpretiert. Daraufhin wird die Pumpe für die Bewässerung entsprechend angesteuert.

1.1  Aufbau und Funktionsweise

Als vollwertiger Computer im Kleinstformat weist jeder Mikrocontroller – ähnlich einem PC – grundlegende Bausteine auf, die in Abb. 1.2 dargestellt sind. Grundbausteine eines jeden Mikrocontrollers sind die CPU, der Arbeitsspeicher (RAM) sowie der Programmspeicher (FLASH) und die Peripherie.

Abb_3.tif

Bild 1.2  Prinzipieller Aufbau eines Mikrocontrollers

Die CPU

Die wichtigste Funktionseinheit ist die zentrale Recheneinheit, die CPU (engl.: Central Processing Unit). Sie kann als das »Gehirn« des Mikrocontrollers verstanden werden. Dort werden Signale ausgewertet und Befehle und arithmetische Operationen abgearbeitet.

Arbeits- und Programmspeicher

Arbeits- und Programmspeicher werden in vielen Darstellungen in der Regel logisch getrennt. Das Benutzerprogramm unseres eigenen Programms, das wir selbst geschrieben haben, wird in einem nichtflüchtigen Flash-Speiche r, dem Programmspeicher, abgelegt. Je nach Controllersystem kann man auf (implementieren) Programmspeicher von mehreren Kilobyte (KB) bis Megabyte (MB) zurückgreifen. Bei einigen Systemen ist es darüber hinaus möglich, den Programmspeicher durch externe Flash-Komponenten aufzustocken.

Abb_4.tif

Bild 1.3  Der Flashspeicher des Mikrocontrollers ATmega168PA (Quelle: ATMEL-Datenblatt)

Der Arbeitsspeicher dient zur temporären Ablage von Rechen-, Mess- und Steuergrößen. Hier werden die Ergebnisse der Berechnungen zur Programmlaufzeit abgelegt. Ziel ist, möglichst schnell auf eine begrenzte Anzahl von Daten zugreifen zu können. Dieser RAM-Speicher (engl.: Random Access Memory) ist in der Regel deutlich kleiner als der Flash-Speicher, dafür aber um ein Vielfaches schneller. Die Werte des RAM werden zur Laufzeit erzeugt und sind im Gegensatz zum Flash-Speicher flüchtig, d. h., dass im RAM nach einem Neustart des Controllers keine Werte gespeichert sind.

Abb_5.tif

Bild 1.4  Der RAM-Speicher des Mikrocontrollers ATmega168PA (Quelle: ATMEL-Datenblatt)

1.2  Peripherie

Als »Peripherie« bezeichnet man jene Komponenten eines Mikrocontrollers, die nicht durch die CPU und Speicherbausteine abgedeckt werden. Insbesondere Komponenten, die eine Schnittstelle zur Außenwelt darstellen, wie digitale Ein- und Ausgänge (kurz: I/O für Input/Output), werden zu den Peripheriebausteinen gezählt. Die meisten Mikrocontroller bieten eine Vielzahl von Ein- und Ausgängen mit verschiedenen Funktionen wie digitale, aber auch analoge Ein- und Ausgänge (ADC und DAC).

1.3  Technologievergleich: RISC und CISC

Die Charakterisierung der RISC- und CISC-Technologie ist schon ein tiefer gehender Einblick in die Digital- und Mikrocontrollertechnik. AVR-Controller wie der Arduino basieren auf der RISC-Technologie. Der folgende Abschnitt bietet einen Überblick über die RISC- und die CISC-Technologie.

CISC-Technologie

Bei der CISC-Technologie wird der Programmspeicher in den RAM des Systems geladen und teilt sich diesen mit dem Programmspeicher. Man spricht auch davon, dass sich Programmcode und Daten derselben Speicher teilen. Das war insbesondere bei den ersten Computersystemen sinnvoll, da Arbeitsspeicher teuer war.

Ein weiteres, für Mikrocontroller viel entscheidenderes Merkmal ist der Aufbau von Befehlen. Ein CISC-Rechner verfügt über ein großes Sortiment an teils sehr speziellen Befehlen. In der Digitaltechnik ist ein Befehl eine Reihenfolge von bestimmten Bytes. Ein Byte kann 256 (0 bis 255) verschiedene Zustände annehmen. Um mehr als 256 verschiedene Befehle zu implementieren, benötigt man weitere Bytes. So kann es sein, dass ein spezialisierter Befehl aus mehreren Bytes (z. B. fünf Byte) besteht. Das Laden dieses Befehls dauert länger als das Laden eines Befehls, der nur ein Byte lang ist.

RISC-Technologie

Man hat festgestellt, dass bei CISC-Rechnern in der Regel etwa 90 % eines Quelltextes aus nur 30 verschiedenen Befehlen bestehen. Auf dieser Grundlage entstand der Gedanke, in der CPU weniger dafür aber kurze und schnelle Befehle zu implementieren. So findet man auf RISC-Mikrocontrollern in der Regel keine Befehle, die aus mehr als drei oder vier Bytes bestehen. Damit verfügt man nicht mehr über so viele spezialisierte Befehle und muss diese aus mehreren kurzen zusammensetzen. Um dabei mindestens die gleiche Leistungsfähigkeit zu erzielen wie bei einem CISC-Rechner, verfügen die meisten RISC-Rechner über eine große Anzahl von Registern. Ein Register ist ein in der CPU befindlicher temporärer, extrem schneller Speicher. Ein weiterer Gegensatz zur CISC-Technologie ist eine klare physikalische und logische Trennung zwischen Programm- und Datenspeicher.

Vergleich

Bei einem CISC-Rechner hat man eine Vielzahl spezialisierter Befehle, die in der Regel jedoch eine lange Abarbeitungszeit beanspruchen. Deutlich kürzere Abarbeitungszeiten erreichen die Befehle eines RISC-Rechners. Ein Nachteil dieser Technologie ist jedoch, dass hier die spezialisierten Befehle durch mehrere Befehle nachgebildet werden müssen. Die Vor- und Nachteile der CISC- oder RISC-Technologie halten sich etwa die Waage. Außerdem sollte beachtet werden, dass es keinen reinen RISC- und keinen reinen CISC-Rechner gibt.

Abb_6.tif

Bild 1.5  Das Blockschaltbild der Mikrocontroller-Blockschemata – hier sind die internen Strukturen des Controllers gut zu erkennen. (Quelle: ATMEL-Datenblatt)

2  Programmierung der Mikrocontroller

Mit der zunehmenden Integration von Halbleiterbauteilen wie Mikroprozessoren hielten Mikrocontroller immer stärker Einzug in die Anwendungsgebiete der Mess-, Steuer- und Regelungstechnik. Aber auch im Hobbybereich wurden die Mikrocontroller immer beliebter. Das liegt zum einen daran, dass heute komplexe, meist analoge Schaltungen durch einfachere digitale Mikrocontroller-Schaltungen ersetzt werden. Ein anderer ausschlaggebender Punkt ist das unschlagbare Preis-Leistungs-Verhältnis von Mikrocontrollern.

2.1  Was ist ein Programm?

Ein Programm ist die Beschreibung eines Informationsverarbeitungsprozesses. Im Lauf eines solchen Prozesses wird aus einer Menge von variablen oder konstanten Eingangswerten eine Menge von Ausgangswerten berechnet. Die Ausgangswerte sind entweder selbst Ziel der Informationsgewinnung oder dienen mittelbar zur Reaktion auf die Eingangswerte. Neben den eigentlichen Berechnungen kann ein Programm Anweisungen zum Zugriff auf die Hardware des Computers oder zur Steuerung des Programmflusses enthalten. Ein Programm besteht aus mehreren Zeilen sogenannten Quelltextes. Dabei enthält jede Zeile eine oder mehrere Rechen- oder Steueranweisungen. Neben diesen Anweisungen selbst bestimmt ihre Reihenfolge wesentlich die eingangs beschriebene Informationsverarbeitung. Die Ausführung der den Anweisungen entsprechenden Operationen durch den Steuercomputer erfolgt sequenziell, also nacheinander. Eine Folge von Programmanweisungen mit einem bestimmten Ziel nennt man auch Algorithmus.

2.2  Programmierung in C

C oder auch ANSI-C ist eine einfach zu erlernende Programmiersprache. C ist eine imperative Programmiersprache, die der Informatiker Dennis Ritchie in den frühen 70er-Jahren an den Bell Laboratories für das Betriebssystem Unix entwickelte. Seitdem ist sie weltweit stark verbreitet. Die Anwendungsbereiche von C sind sehr verschieden. Es wird z. B. zur System- und Anwendungsprogrammierung eingesetzt. Die grundlegenden Programme aller Unix-Systeme und die Systemkerne vieler Betriebssysteme sind in C programmiert. Zahlreiche Sprachen wie C++, Objective-C, C#, Java, PHP oder Perl orientieren sich an der Syntax und anderen Eigenschaften von C. Es ist also mehr als lohnenswert, sich mit dieser Programmiersprache zu beschäftigen, da man später auch leicht auf andere Mikrocontrollersysteme umsteigen kann. Für fast alle Mikrocontroller existiert ein freier C-Compiler, den die Hersteller zum Download anbieten. Das C von Arduino ist jedoch um einiges einfacher gehalten als die professionellen C-Compiler und nimmt sehr viel Arbeit ab. Vor allem um die komplizierten Hardware-Routinen muss man sich bei Arduino nicht kümmern, da sie bereits als feste Befehle in der Entwicklungsumgebung integriert sind.

3  Eine kleine Übersicht über die ARDUINO-Mikrocontroller-Familie

Die Arduino-Hardware verwendet ausschließlich gängige, allgemein verfügbare Bauteile. Daher ist es leicht, die Funktionsweise zu verstehen und die Schaltung an eigene Wünsche anzupassen oder Erweiterungen vorzunehmen. Den Kern bildet ein ATmega-Controller aus Atmels weitverbreiteter 8-Bit-AVR-Familie. Hinzu kommen Schaltungsteile zur Stromversorgung und eine serielle Schnittstelle. Letztere ist bei den jüngeren Arduino-Versionen als USB-Interface ausgelegt. Über diesen Anschluss erfolgt der Download der Anwenderprogramme und bei Bedarf auch die Kommunikation zwischen PC und Arduino während der Programmausführung.

Weil Arduino-Boards so einfach und universell ausgelegt sind, werden sie häufig auch schlicht als I/O-Board bezeichnet. Arduino stellt dem Anwender 14 digitale Ein- oder Ausgänge zur Verfügung, davon sind sechs als Analogausgang (8 Bit PWM) zu verwenden. Weitere sechs Eingänge können analoge Signale erfassen (10 Bit ADC). Bei Bedarf stehen SPI und I²C als weitere Schnittstellen zur (seriellen) Kommunikation zur Verfügung.

Es gibt Arduino-Boards in mehreren Varianten. Die Originale stammen vom Hersteller Smart Projects aus Italien. Es gibt mittlerweile auch zahllose Klone und Nachbauten von anderen Anbietern, schließlich handelt es sich um Open Hardware. Ein wichtiger Unterstützer des Arduino-Projekts ist Sparkfun aus Boulder, Colorado. Die Kooperation mit dem US-Partner hat eine Reihe optimierter Arduino-Boards hervorgebracht, die den Zusatz »Pro« im Namen führen. Außerdem ist mit LilyPad ein wichtiger Ableger entstanden, der das Thema Wearable Computing aufgreift.

Die meisten Anwender setzen auf das von Smart Projects gefertigte, handtellergroße Arduino Duemilanove (Duemilanove = 2009), das den ATmega-Controller in DIP-Bauform auf einem Sockel trägt. Es unterscheidet sich nur unwesentlich vom überaus erfolgreichen Vorgänger Arduino Diecimilanove, dessen Namensgebung auf die ersten 10.000 verkauften Boards zurückgeht. Auf den Boards ist ein FTDI-Chip aufgelötet, der die USB-Schnittstelle bereitstellt.

Das neue Arduino Mega Board verwendet einen leistungsstärkeren Mikrocontroller (Atmega1280) und bietet mehr Speicher, I/O-Pins und Funktionen auf einer deutlich erweiterten Platinenfläche.

Wesentlich kleiner ist Arduino Mini, ein Board im DIP24-Format. Das ganze Modul lässt sich auf einen 24-poligen DIL-Sockel stecken. Die Version Arduino Pro Mini von Sparkfun ist nahezu identisch, wird aber ohne »Beinchen« (seitliche Stifte) geliefert. Diese Module benötigen zum Programmieren einen USB-Adapter, der an der Schmalseite der Module angesteckt werden kann.

Das LilyPad-Board von Leah Buechley (in Zusammenarbeit mit Sparkfun) ist auch Arduino-kompatibel und verfolgt einen ganz eigenen Zweck. LilyPad und Zubehör sind dafür ausgelegt, in Kleidung eingenäht zu werden, um dort eine möglichst enge Symbiose von Technik und Künstler zu realisieren. Die charakteristische runde Form des LilyPad-Arduinos erregt ebenso Aufmerksamkeit wie die Farbgebung und die kreisförmige Anordnung der Kontakte. Zum Einsatz kommt hier die Low-Power-Version (3,3 V) des ATmega168. Zahlreiche kleine Peripherieplatinen (Sensoren, LEDs, Taster ...) ergänzen LilyPad zu einem ganzen System unter dem Motto »Elektronik mit der Nähmaschine« .

Über weitere Board-Versionen und Zubehörteile informieren Sie die Arduino-Projektseite (siehe Links) und die Produktseiten von SparkFun Electronics.

3.1  Arduino Mega

Abb_7.tif

Bild 3.1  Arduino Mega (Quelle: Fa. Elmicro)

Technische Daten:

3.2  Arduino Duemilanove

Abb_8.tif

Bild 3.2  Arduino Duemilanove (Quelle: Elmicro)

Technische Daten:

3.3  Arduino Mini

Abb_9.tif

Bild 3.3  Arduino Mini (Quelle: Elmicro)

Technische Daten:

3.4  Arduino Nano

Abb_10.tif

Bild 3.4  Arduino Nano (Quelle: Elmicro)

Technische Daten:

3.5  Arduino Pro Mini

Abb_11.tif

Bild 3.5  Arduino Pro Mini (Quelle: Elmicro)

Technische Daten:

3.6  Arduino Pro

Abb_12.tif

Bild 3.6  Arduino Pro (Quelle: Elmicro)

Technische Daten:

3.7  LilyPad

Abb_13.tif

Bild 3.7  LilyPad Arduino (Quelle: Elmicro)

Technische Daten:

3.8  USB-Adapter

Abb_14.tif

Bild 3.8  USB-Adapter mit FTDI-Chip (Quelle: Elmicro)

Diesen Programmieradapter gibt es in 3,3-V- und in 5-V-Ausführung.

Der Adapter wird zum Programmieren der Arduino-Borads ohne USB-Anschluss benötigt. Die Pinbelegung entspricht den Original-Arduino-Spezifikationen. Er kann auch zur Kommunikation (virtuelle serielle Schnittstelle) verwendet werden. Dieses Feature muss man für eigene Entwicklungen einfach haben. Es ermöglicht, einen Sketch auf das Board zu laden, ohne die Reset-Taste zu drücken.

4  Arduino Shields

Es gibt eine Menge verschiedener Erweiterungs-Boards, die mit den Arduino-Boards verwendet werden können. Wenn man sich im Internet umsieht, findet man fast monatlich neue Boards und nützliche Erweiterungen. Die Erweiterungs-Boards werden in der »Arduino-Gemeinde« Shields genannt und besitzen alle den gleichen Formfaktor. Das hat den Vorteil, dass man sie einfach auf die Arduino-Boards aufstecken kann. Ausgenommen sind die kleinen Units und das LilyPad.

4.1  Arduino ProtoShield

Abb_15.tif

Bild 4.1  Arduino-ProtoShield-Kit (Quelle: Fa. SparkFun)

Für eigene Basteleien ohne Lötarbeit bietet sich das ProtoShield an. Es ermöglicht Experimente auf einem kleinen Steckbrett.

Abb_16.tif

Bild 4.2  Arduino Duemilanove mit ProtoShield (Quelle: SparkFun)

4.2  Ardumoto

Abb_17.tif

Bild 4.3  Ardumoto – Motor Driver Shield (Quelle: SparkFun)

Das Motor Driver Shield Ardumoto ist ideal, um kleine Motoren anzusteuern. Die Anschlussdrähte der Motoren werden einfach an die Schraubklemmen des Motor-Shields angeschlossen und ein kleines Programm lässt die Motoren mit gewünschter Geschwindigkeit und Richtung drehen.

Die technischen Daten entsprechen den verwendeten Motortreiber-ICs L298. Das Datenblatt finden Sie auf der mitgelieferten CD-ROM.

4.3  TellyMate

Abb_18.tif

Bild 4.4