Arduino - Ulli Sommer - E-Book

Arduino E-Book

Ulli Sommer

0,0

Beschreibung

Arduino ist ein Mikrocontroller-System, das aus einem Mikrocontroller der Firma Atmel und einer Open-Source-Entwicklungsumgebung, die auf einem vereinfachten C-Dialekt basiert, besteht. Der Mikrocontroller wird über den PC programmiert und kann eigenständig oder in Verbindung mit dem PC agieren. Es können für die Interaktion zwischen Mensch und Mikrocontroller diverse Sensoren angeschlossen werden, die unsere Umwelt erfassen und die Daten an den Mikrocontroller weitergeben. Der Mikrocontroller verarbeitet mit seinem Programm die Daten, und es können Ausgaben getätigt oder z. B. Aktuatoren gesteuert werden. Der Kreativität des Entwicklers sind dabei keine Grenzen gesetzt.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 152

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



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

Arduino-Entwicklungsumgebung (IDE)

Beispiel-Programmcode zum Lehrgang

Diverse Tools

Datenblätter

Schaltpläne

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.ccheruntergeladen 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.

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.

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-Speicher, 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.

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.

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.

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

Coder auch ANSI-Cist 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-Boardbezeichnet. 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.

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

Bild 3.1  Arduino Mega (Quelle: Fa. Elmicro)

Technische Daten:

ATmega1280 Mikrocontroller

128 KB Flash

8 KB RAM, 4 KB EEPROM

16-MHz-Takt

54 digitale I/O-Pins, davon 14 als PWM nutzbar

4 Hardware-UARTs

I²C-Interface, SPI

16 analoge Eingänge (10 Bit)

USB-Interface, Spannungsversorgung, Bootloader etc. wie beim Arduino Duemilanove

Abmessungen ca. 101 mm x 53 mm x 12 mm

3.2  Arduino Duemilanove

Bild 3.2  Arduino Duemilanove (Quelle: Elmicro)

Technische Daten:

ATmega328 Mikrocontroller

32 KB Flash (davon 2KB für Bootloader)

2 KB RAM, 1 KB EEPROM

16-MHz-Takt

14 digitale I/O-Pins, davon 6 als PWM nutzbar

sechs analoge Eingänge (10 Bit)

On-Board-USB-Schnittstelle mit FT232RL von FTDI

5 V Betriebsspannung, Speisung über USB oder über Spannungsregler (7 V bis 12 V Eingangsspannung)

Abmessungen ca. 69 mm x 53 mm x 12 mm

Bootloader im Lieferzustand bereits installiert, Download ohne Programmieradapter möglich

3.3  Arduino Mini

Bild 3.3  Arduino Mini (Quelle: Elmicro)

Technische Daten:

ATmega168 Mikrocontroller mit 16-MHz-Quarztakt

Programmierung über USB-Adapter (ARDUINO/USB, USB-Adapter mit FTDI-Chip)

512 Byte EEPROM

1 KB SRAM

16 KB FLASH (2 KB benötigt der Bootloader für sich)

Betriebsspannung 5 V

14 Digitale I/Os, sechs davon können zur PWM-Erzeugung genutzt werden

acht analoge 10-Bit-Eingänge

Versorgungsspannung 7 V bis 9 V

3.4  Arduino Nano

Bild 3.4  Arduino Nano (Quelle: Elmicro)

Technische Daten:

ATmega328 oder ältere Version 168 mit 16-MHz-Quarztakt

Programmierung über USB-»On Board Chip«

Autoreset-Funktion

5-V-Technik

14 Digitale I/Os, sechs davon können zur PWM-Erzeugung genutzt werden

acht analoge 10-Bit-Eingänge

32 KB oder 16 KB FLASH

1 KB SRAM

512 oder 1 KByte EEPROM

Ausgangsstrom pro I/O max. 40 mA

Versorgungsspannung 6 V bis 20 V

Abmessungen: 18 mm x 43 mm

3.5  Arduino Pro Mini

Bild 3.5  Arduino Pro Mini (Quelle: Elmicro)

Technische Daten:

ATmega328 mit 16-MHz-Quarztakt (Genauigkeit 0,5 %)

Programmierung über USB-Adapter (ARDUINO/USB)

Autoreset-Funktion

Diese Version gibt es in 5-V- und 3,3-V-Technik

Ausgangsstrom max. 150 mA

Überlastschutz

Verpolungsschutz

Versorgungsspannung 5 V bis 12 V

Power und Status LED bereits »On Board«

Abmessungen: 18 mm x 33 mm

Gewicht weniger als 2 g

3.6  Arduino Pro

Bild 3.6  Arduino Pro (Quelle: Elmicro)

Technische Daten:

ATmega328 und ältere ATmega168 mit 16-MHz-Quarztakt

Programmierung über USB-Adapter (ARDUINO/USB)

Diese Version gibt es in 5-V- und 3,3-V-Technik

14 Digital-I/O-Pins (sechs davon als PWM nutzbar)

sechs analoge 10-Bit-Eingänge

Versorgungsspannung 3,35 V bis 12 V (3,3-V-Version)

Versorgungsspannung 5 V bis 12 V (5-V-Version)

Ausgangsstrom pro Digitalport 40 mA

32 KB oder 16 KB (ATmega168) FLASH

1 KB (ATmega168) oder 2 KB (ATmega328) SRAM

512- (ATmega168) oder 1-KB-EEPROM

3.7  LilyPad

Bild 3.7  LilyPad Arduino (Quelle: Elmicro)

Technische Daten:

ATmega328V und ältere ATmega168V mit 16-MHz-Quarztakt

Programmierung über USB Adapter (ARDUINO/USB)

Spannungsversorgung 2,7 V bis 5,5 V

14 Digital-I/O-Pins (sechs davon als PWM nutzbar)

sechs analoge 10-Bit-Eingänge

Ausgangsstrom pro Digitalport 40 mA