Vorwort

Sie haben sich also entschieden, in die wunderbare Welt der Arduino-Entwicklungsplattform einzutauchen – dazu kann man Ihnen nur gratulieren! Wir sind der festen Überzeugung, dass Sie es nicht bereuen werden, denn Arduino bietet mittlerweile eine fast unüberschaubare Menge an Möglichkeiten, die Sie ganz individuell und kreativ einsetzen können, egal ob Sie einfach nur den Umgang mit einem Mikrocontroller erlernen möchten, Elektronik mit Digitaltechnik verbinden wollen oder ein ganz konkretes Projekt im Kopf haben, für das Sie einen Arduino nur als Mittel zum Zweck verwenden – mit der Arduino-Entwicklungsplattform können Sie fast alles machen.

Mehr als nur eine Erfolgsgeschichte

Im Jahr 2002 hatte der außerordentliche Professor Massimo Banzi ein Problem. Er war als gelernter Softwarearchitekt eingestellt worden, den Studenten neue Wege des interaktiven Designs beizubringen – manchmal auch Physical Computing genannt. Seine Studenten sollten eigentlich anhand kleiner Einplatinenrechner ihre Ideen verwirklichen, aber die damals verfügbaren Geräte waren zu klein dimensioniert, veraltet und durch die Bank weg zu teuer. Die von ihm zunächst verwendete und damals verbreitete BASIC Stamp kam aus dem Silicon Valley, hatte aber zu wenig Speicherplatz und kostete stolze 100 Dollar. Außerdem arbeitete sie nicht mit den Macintoshs zusammen, die in seinem Institut verwendet wurden. So kam die Idee auf, eine eigene Lösung zu bauen.

Von einem Kollegen am MIT hatte er von der Programmiersprache Processing gehört, die es auch unerfahrenen Personen erlaubte, komplexere Programme zu schreiben. Die Programmiersprache war recht erfolgreich, was Banzis Meinung nach auch an der gelungenen und sehr einfach zu bedienenden Benutzeroberfläche lag – etwas Ähnliches wollte er für sein Projekt ebenfalls einsetzen.

Einer seiner Studenten, Hernando Barragán, entwickelte dann 2005 für ihn den ersten Prototyp, der eine einfache Platine und eine benutzerfreundliche Oberfläche beinhaltete. Ein schönes Projekt, doch Banzi dachte schon weiter, wollte eine Plattform, die noch günstiger und noch einfacher zu bedienen war.

Zu diesem Zeitpunkt war bereits abzusehen, dass die finanziellen Mittel des Projekts, an dem Banzi und seine Kollegen arbeiteten, ausliefen. Sie befürchteten, dass ihre Arbeit untergehen oder missbraucht würde. Da sie allesamt Anhänger der Open-Source-Bewegung waren, lag der Gedanke natürlich nahe, auch ihre Arbeit unter eine derartige Lizenz zu stellen. Allerdings war damals die Open-Source-Bewegung hauptsächlich auf Software beschränkt, kaum hingegen wurde Hardware auf dieser Basis entwickelt.

Damit das Ganze funktionieren konnte, benötigte man eine geeignete Open-Source-Lizenz, diese waren jedoch alle entweder auf Software oder aber auf Kulturgüter wie Musik und Prosatext ausgelegt. Nach einigen Recherchen stellten sie aber fest, dass sie nur ihren Blickwinkel, den sie bislang auf ihr Projekt hatten, abändern mussten, um die Creative Commons, eine weitverbreitete, offene Lizenz, verwenden zu können. Fortan wurde also die Hardware als ein Stück Kultur gesehen, die man mit anderen Menschen teilen möchte.

Natürlich war für die Entwicklungsgruppe auch wichtig, dass ihr Produkt für ihre studentische Zielgruppe attraktiv war. Sie peilten einen Preis unter 30 Dollar an – ein Äquivalent zu einem Pizzeria-Abendessen. Außerdem wollten sie die Hardwareplatine schrullig machen, wollten sie cool und herausstechend gestalten. Während andere Platinen meistens grün waren, wurde ihre blau, während andere Hersteller an Ein- und Ausgängen sparten, brachten sie so viele wie möglich unter. Als letzten Schliff platzierten sie noch die Karte von Italien auf die Rückseite der Platine.

Da die meisten Mitglieder des Teams keine Ingenieure waren, sind einige Designentscheidungen, die bei den verschiedenen Arduinos getroffen wurden, eher merkwürdig und von echten Ingenieuren nicht immer leicht zu verstehen, da sie aus einem Do-it-yourself-Ansatz heraus entstanden sind. Vielleicht sollte man daher die Arduino-Plattform auch immer mit einem leichten Augenzwinkern betrachten und nicht alles so ernst nehmen. Wenn es funktioniert, ist es gut (genug).

Wichtig war dem Team ebenso, dass das endgültige Produkt ganz einfach zu bedienen ist: Die Platine wird aus der Kiste genommen, an den Computer angeschlossen, und es kann losgehen – ganz ohne zusätzliche Hardware, Werkzeuge, Stromversorgung oder Ähnliches. Man sollte in der Lage sein, Elektronik zu lernen, ohne sich vorher mit Algebra beschäftigen zu müssen.

Nachdem das Projekt fertiggestellt war, wurden 300 unbestückte Leiterplatten hergestellt und an die Studenten verteilt. Sie sollten die Aufbauanleitung im Internet lesen, die Platine bestücken und dann für ihre Projekte einsetzen. So testete das Team seine eigene Philosophie und konnte Fehler in Dokumentation, Software und Hardware korrigieren.

Ein erstes Projekt war ein Wecker, der an der Decke an einem Kabel aufgehängt war. Drückte man die Snooze-Taste, zog er sich spöttisch ein Stück höher, bis nichts anderes mehr übrig bliebt, als sich komplett zu erheben, um ihn auszuschalten.

Nachdem die 300 Platinen verteilt waren, wurde das Projekt langsam bekannter. Immer mehr Leute wollten auch so ein Gerät haben. Aber es fehlte noch immer ein Name für das Kind. Mit geneigten Köpfen über ihren Getränken, das Problem überdenkend, kam die Lösung zu ihnen: Sie saßen in ihrer Lieblingsbar, die nach einem König benannt war: Arduino von Ivrea.

Der Name schoss schnell um die Welt. Marketing und Werbung waren nicht notwendig, schon früh zog er die Aufmerksamkeit von interessierten Professoren auf sich. Vor allem der Preis von 30 Dollar war eine Sensation, aber auch die einfach zu bedienende Oberfläche und die leichte Handhabung trugen ein Übriges dazu bei. Schon nach kurzer Zeit wurde das Projekt nicht nur an Universitäten verwendet, sondern fand auch Einzug in Fach- und allgemeine Schulen, Künstler beschäftigten sich damit, und auch mancher Hobbykeller wurde bald von ihnen bevölkert.

Das Team um Massimo Banzi stand nun vor der Herausforderung, zum einen die Arduinos in ausreichender Stückzahl zu produzieren und zum anderen den wachsenden Anforderungen der Benutzer gerecht zu werden. Da sie nicht in der Lage waren, Tausende von Platinen zu lagern, ließen sie sie bedarfsgerecht in einer Firma in der Nähe von Ivrea produzieren – pro Tag zwischen 100 und 3.000 Stück.

Zudem entwickelten sie die Arduino-Reihe immer weiter. Der Ur-Arduino wurde nach unserer Zählung 13-mal überarbeitet. Die derzeitige Version ist der Arduino Uno, der selbst schon wieder drei Revisionen erfahren hat – Tendenz steigend.

Eben dieser Uno ist es auch, der als Referenzdesign für die anderen Arduinos der Familie dient. Neben dem Uno gibt es den Leonardo, den Due, den Yún, den Tre, den Micro sowie Mega, Robot, Esplora, Mini, Nano, Pro, Fio, LilyPad und bis zum Erscheinen dieses Buchs sicherlich einige weitere mehr.

Jeder Arduino dieser Familie lässt sich mit der gleichen Entwicklungsumgebung auf PC oder Mac bedienen, arbeitet nach ähnlichen Prinzipien, hat aber jeweils die eine oder andere Fähigkeit, die andere Arduinos nicht haben. Leider ist es nicht möglich, alle Arduinos in diesem Buch zu besprechen, aber die wichtigsten davon werden wir in den nächsten Kapiteln behandeln.

Doch nicht nur die Arduinos wurden von Banzis Team entwickelt, es gibt auch Erweiterungen für Arduinos. Diese sogenannten Shields lassen sich ganz einfach auf ein passendes Arduino-Board stecken und bieten dann neue Möglichkeiten. So gibt es beispielsweise Shields, die einen Arduino in ein bestehendes Computernetzwerk einbinden (Ethernet-Shield, Wi-Fi-Shield), andere bauen ein eigenes Funknetzwerk auf (Wireless-SD-Shield), steuern Motoren an (Motor-Shield) oder kommunizieren sogar mit dem Handynetzwerk (GSM-Shield). Auch diese werden wir im übernächsten Kapitel ansprechen.

Doch nicht nur das Team von Banzi ist in Sachen Arduino tätig, auch zahllose andere Hobbybastler, Universitäten und Firmen bieten mittlerweile Arduino-Platinen und Shields an. Gerade bei eBay, Alibaba und anderen Onlinehandelsplattformen kann man sich unzählig viele Arduino-Nachbauten und Shields besorgen, die preislich meist unter den Originalen liegen, aber längst nicht so cool aussehen. Auch Eigenentwicklungen, die es nicht beim Original-Arduino-Anbieter gibt, kann man hier kaufen, beispielsweise Relais-Shields, mit denen man hohe Ströme schalten kann, Display-Shields, die kleine Monitore beinhalten, oder Sensoren-Shields, die die Schwerkraft, das Magnetfeld der Erde, Luftdruck, Temperatur, Lichteinfall oder andere Dinge messen können.

Dieses große Angebot an Shields ist auch großen Firmen nicht verborgen geblieben. So bietet beispielsweise Intel mit der Galileo-Plattform ein Arduino-kompatibles Entwicklungsboard an, das Arduino-Shields aufnehmen und ansprechen kann, dabei aber auf einem wesentlich leistungsfähigeren Prozessor (natürlich von Intel) aufsetzt, der dann auch Linux oder Windows RT als Betriebssystem benutzen kann.

Sie sehen also: Das Spielfeld der Arduino-Welt ist unüberschaubar groß, und man kann viele Hundert Stunden des Bastelns darin verbringen, ohne auch nur ansatzweise an Grenzen zu stoßen. Aus dem relativ kleinen Projekt des außerordentlichen Professors Massimo Banzi ist mittlerweile ein millionenschwerer Markt geworden, der aber immer noch auf Open Source basiert und viele Leute glücklich macht – hoffentlich auch bald Sie. (Quelle: http://spectrum.ieee.org/geek-life/hands-on/the-making-of-arduino/0)

Für den unbeschwerten Arduino™-Genuss

Um Ihnen einen unbeschwerten Arduino-Genuss zu ermöglichen, versuchen wir in diesem Buch, Ihnen die Welt des Arduino so schmackhaft zu machen, dass Sie sich voll und ganz darauf einlassen und Spaß daran haben, die Möglichkeiten der Arduinos auszunutzen und selbst Ideen für eigene Projekte zu entwickeln. Dazu stellen wir Ihnen einige Projekte aus ganz unterschiedlichen Bereichen vor, die zeigen, was überhaupt alles möglich ist. Die meisten davon können Sie selbst auf einfache Art und Weise nachbauen – Bauplan und Source Code sind Teil des Buchs. Keines der Projekte ist bis zum Endstadium ausgebaut, alle lassen sich problemlos nach Ihren Vorstellungen erweitern, nur bei den ersten und oftmals schwierigen Schritten nehmen wir Sie ein bisschen an die Hand und erklären, warum was wie aufgebaut wurde, ohne dass wir Sie mit allzu viel Theorie überfrachten.

Dabei ist uns wichtig, dass wir Ihnen den Einstieg in die Welt der Arduinos und der Elektronik so einfach wie nur irgend möglich gestalten. Vermutlich sind Sie wie wir auch kein Fan von endlosen Theoriekapiteln, die mit wissenschaftlicher Genauigkeit jeden noch so unwichtigen Aspekt des jeweiligen Themas auseinandernehmen und mit möglichst langen und komplizierten Sätzen zu beschreiben versuchen. Wir haben daher versucht, uns bei der – leider eben doch an der einen oder anderen Stelle notwendigen – Theorie nach Möglichkeit kurzzufassen und ansonsten möglichst viel durch praktische Übungen zu erklären. Gerade am Anfang ist es wichtig, dass man das große Ganze versteht – Details lassen sich dann immer noch nachschlagen, sei es im Internet oder im Elektronikfachbuch.

Ressourcen zum Buch als Download

In diesem Buch finden Sie etliche Programme, die Bestandteil der beschriebenen Projekte sind. Natürlich sollen Sie in Zeiten des Internets nicht gezwungen werden, die Programme umständlich abzutippen, wir stellen sie Ihnen daher unter der Internetadresse

www.buch.cd

und

arduino-handbuch.visual-design.com

vollständig zur Verfügung. Leider fördert das bequeme Herunterladen nicht allzu sehr das Verständnis des jeweiligen Source Code, daher möchten wir Sie ermutigen, die Programme eigenständig zu erweitern und zu verbessern – Möglichkeiten dazu gibt es reichlich.

Bezugsquellen für passende Bauteile

Das Besorgen passender Bauteile für die Projekte kann umständlich und verwirrend sein, denn oft gibt es unzählige Varianten eines Bauteils, und die Wahl des richtigen ist manchmal schwierig.

Wenn Sie in der glücklichen Lage sind, ein Elektronikfachgeschäft in Ihrer Nähe zu haben, können Ihnen die geschulten Angestellten sicherlich durch den Dschungel der Abkürzungen und Bezeichnungen helfen. Auch nicht vorrätige Bauteile lassen sich dort bestellen. Wenn Sie das Buch mitnehmen, lassen sich auch leicht alternative Bauteile finden, denn nicht immer müssen die Schaltungen eins zu eins nachgebaut werden.

Leider aber werden diese Geschäfte immer seltener, und so ist man häufig gezwungen, sich die Bauteile im Internet zu bestellen. Hier ist man leider auf sich selbst gestellt und muss sich durch endlose Bauteilelisten klicken.

Um Ihnen den Aufwand etwas zu erleichtern, haben wir ebenso auf der Webseite arduino-handbuch.visual-design.com Bezugsquellen für die Bauteile zusammengetragen.

Gestatten, Philip und Christian Caroli

Bevor es losgeht, noch ein kurzes Wort zu den Autoren. Wir sind Philip und Christian Caroli, Brüder und leidenschaftliche Bastler, die viel in der Maker-Szene aktiv sind. Als Mitglieder des FabLab Karlsruhe e. V. – einer offenen Werkstatt, in der Interessierte vor allem mit computergestützten Fertigungsmethoden wie 3-D-Druckern oder CNC-Fräsen experimentieren, aber auch mit Elektronik, Textilien oder Software – sind wir sehr daran interessiert, unsere Begeisterung für alles, was man selbst machen kann, zu teilen und jeden, der sich dafür interessiert, mit diesem Virus anzustecken.

Da wir beide aus der Informatik kommen, sind wir selbst Laien auf dem Gebiet der Elektronik und keine hundertprozentigen Elektroingenieure. Wir erheben ebenso wenig Anspruch darauf, perfekte Schaltungen oder Programme zu schreiben, wie es auch das Arduino-Team in seiner Anfangszeit praktiziert hat. Statt bleischwerer Überkorrektheit vertreten wir eher einen pragmatischen Ansatz: Wenn es funktioniert und dabei nicht brennt, ist es schon mal ganz gut.

Dass wir nicht alles so bierernst nehmen, werden Sie vielleicht im einen oder anderen Absatz des Buchs feststellen. Wir hoffen, dass wir damit auch Ihren Geschmack treffen, und wünschen Ihnen viel Spaß beim Lesen und Ausprobieren mit der großartigen Arduino-Plattform!

Philip und Christian Caroli, Karlsruhe im Mai 2015

Inhaltsverzeichnis

IHardware

1Ausgesuchte Arduino™-Platinen

1.1Arduino™ Uno

1.2Arduino™ Leonardo

1.3Arduino™ Mega 2560

1.4Arduino™ Esplora

1.5Arduino™ Due

1.6Arduino™ Robot

1.7Arduino™ LilyPad

1.8Intel Galileo

1.9Arduino™ Yún

1.10Arduino™ Micro

1.11Arduino™ Fio

1.12Arduino™ Zero

1.13Weitere Platinen

1.13.1Arduino™ Mega ADK

1.13.2Arduino™ Ethernet

1.13.3Arduino™ Mini

1.13.4Arduino™ Nano

1.13.5LilyPad Arduino™ Simple

1.13.6LilyPad Arduino™ SimpleSnap

1.13.7LilyPad Arduino™ USB

1.13.8Arduino™ Pro

1.13.9Arduino™ Pro Mini

1.14Arduino™-Platinen auf einen Blick

2Mit Arduino™-Shields erweitern

2.1Proto-Shield

2.2Ethernet-Shield

2.3Motor-Shield

2.4Wi-Fi-Shield

2.5USB-Serial-Light-Adapter

2.6Arduino™ ISP

IIProgrammierung

3Arduino™-Software entwickeln

3.1Installation der Entwicklungsumgebung

3.1.1Installation auf einem Windows-PC

3.1.2Installation auf einem Apple Mac

3.2Einrichten der Entwicklungsumgebung

3.3Erste Schritte in der C-Programmierung

3.3.1Befehle und Kommentare einsetzen

3.3.2In den Initialisierungsprozess einklinken

3.3.3Ein Programm schreiben und installieren

3.3.4Variablen als Platzhalter für Befehle nutzen

3.3.5Schleifen als Kontrollinstrument einsetzen

3.3.6Mit der if-Abfrage Bedingungen festlegen

3.3.7Mit Funktionsaufruf Redundanzen vermeiden

3.3.8String-Variablen für die Textausgabe nutzen

3.3.9Felder definieren die Länge des Textfelds

3.3.10Fehlerteufel mit serieller Ausgabe aufspüren

3.3.11Präprozessoreinsatz vor dem Kompilieren

3.3.12Weiterführende Hilfen für Entwickler

IIIElektronik

4Volt, Watt, Ampere und Ohm

4.1Elektrischer Strom und Spannung

4.1.1Gefährliche Potenzialunterschiede

4.1.2Stromstärke elektrischer Leiter

4.2Widerstand im Stromkreis

4.2.1Farbcodes für Widerstände

4.2.2Rechnen mit Volt, Watt, Ampere, Ohm

4.3Dioden geben die Richtung an

4.4Kondensatoren speichern Energie

4.4.1Experiment mit Elektrolytkondensatoren

4.4.2Ausführungen und Bauformen

4.5Transistoren verstärken und schalten

4.6Integrierte Schaltkreise ändern alles

4.7Revolution im Kleinen

4.8Reihen- und Parallelschaltungen

4.8.1Reihenschaltung von Widerständen

4.8.2Reihenschaltung von Kondensatoren

4.8.3Parallelschaltung von Kondensatoren

4.8.4Parallelschaltung von Widerständen

4.9Spannung gezielt reduzieren

4.10Breadboard-Schaltungen ohne Lötarbeit

4.10.1Breadboard – Tipps und Tricks

4.11Löten wie die Profis

4.11.1Werkzeug zum Löten

4.11.2Vorsichtsmaßnahmen

4.11.3Erste Schritte: Verbinden zweier Kabel

4.11.4Zweite Schritte: Lochrasterplatinen

4.11.5Entlöten von Bauteilen

4.11.6Tipps und Tricks

4.123-D-Drucker

4.13Gebrauch eines Multimeters

4.13.1Durchgangsmessung

4.13.2Widerstandsmessung

4.13.3Spannungsmessung

4.13.4Strommessung

4.13.5Tipps und Tricks

4.14FabLabs und Hackerspaces

4.15Schaltpläne lesen und begreifen

4.16Datenblätter richtig lesen

IV22 Projekte

5Arduino™ im Praxiseinsatz

5.1Leonardo, der Kollegenschreck

5.1.1Motivation

5.1.2Aufgabenstellung

5.1.3Hintergrundwissen

5.1.4Schaltplan

5.1.5Source Code

5.1.6Tipps und Tricks

5.2Analoger Temperatursensor

5.2.1Perfektionismus

5.2.2Aufgabenstellung

5.2.3Hintergrundwissen

5.2.4Schaltplan

5.2.5Source Code

5.2.6Tipps und Tricks

5.3Infrarotfernbedienung

5.3.1TVZapPro™

5.3.2Aufgabenstellung

5.3.3Hintergrundwissen

5.3.4Schaltplan

5.3.5Source Code

5.3.6Tipps und Tricks

5.4Lichtschranke

5.4.1Gruben graben

5.4.2Aufgabenstellung

5.4.3Hintergrundwissen

5.4.4Schaltplan

5.4.5Source Code

5.4.6Tipps und Tricks

5.5SMS-Alarmanlage

5.5.1Handys im Wandel der Zeit

5.5.2Aufgabenstellung

5.5.3Hintergrundwissen

5.5.4Schaltplan

5.5.5Source Code

5.5.6Tipps und Tricks

5.6Wedelstab

5.6.1WedelText Maxx

5.6.2Aufgabenstellung

5.6.3Hintergrundwissen

5.6.4Schaltplan

5.6.5Source Code

5.6.6Tipps und Tricks

5.7Kameraauslöser

5.7.1Die Wurzel des Übels

5.7.2Aufgabenstellung

5.7.3Hintergrundwissen

5.7.4Schaltplan

5.7.5Source Code

5.7.6Tipps und Tricks

5.8LED-Lichterkette

5.8.1Variable Wandfarbe

5.8.2Aufgabenstellung

5.8.3Hintergrundwissen

5.8.4Schaltplan

5.8.5Source Code

5.8.6Tipps und Tricks

5.9Stoppuhr mit Sieben-Segment-Anzeige

5.9.1Fehlende Bedarfsanalyse

5.9.2Aufgabenstellung

5.9.3Hintergrundwissen

5.9.4Schaltplan

5.9.5Source Code

5.9.6Tipps und Tricks

5.10Serielle LED-Lichterkette

5.10.1Kaufen Sie die neue RitterReiter™

5.10.2Aufgabenstellung

5.10.3Hintergrundwissen

5.10.4Schaltplan

5.10.5Source Code

5.11Rotationsmonitor

5.11.1Dinge, die die Welt nicht braucht

5.11.2Aufgabenstellung

5.11.3Hintergrundwissen

5.11.4Schaltplan

5.11.5Source Code

5.11.6Tipps und Tricks

5.12LCD-Textdisplay

5.12.1Das Henne-Ei-Problem

5.12.2Aufgabenstellung

5.12.3Hintergrundwissen

5.12.4Schaltplan

5.12.5Source Code

5.12.6Tipps und Tricks

5.13Breakout auf TFT-Display

5.13.1Notfallspiel aus dem Nichts

5.13.2Aufgabenstellung

5.13.3Hintergrundwissen

5.13.4Schaltplan

5.13.5Source Code

5.13.6Tipps und Tricks

5.14Wetterstation

5.14.1Augen auf!

5.14.2Aufgabenstellung

5.14.3Hintergrundwissen

5.14.4Schaltplan

5.14.5Source Code

5.14.6Tipps und Tricks

5.15Automatische Gießanlage

5.15.1Karlsruher Student konserviert Zimmerpflanzen!

5.15.2Aufgabenstellung

5.15.3Hintergrundwissen

5.15.4Schaltplan

5.15.5Source Code

5.15.6Tipps und Tricks

5.16Der Arduino™ Robot

5.16.1Kaufen Sie die Virtual Robo-Leash™

5.16.2Aufgabenstellung

5.16.3Hintergrundwissen

5.16.4Source Code

5.16.5Tipps und Tricks

5.17Analoge Uhr

5.17.1Steampunk

5.17.2Aufgabenstellung

5.17.3Hintergrundwissen

5.17.4Schaltplan

5.17.5Source Code

5.17.6Tipps und Tricks

5.18Der Arduino™ Yún

5.18.1Der Kollege im Nachbarabteil

5.18.2Aufgabenstellung

5.18.3Hintergrundwissen

5.18.4Inbetriebnahme des Arduino™ Yún

5.18.5Source Code

5.18.6Tipps und Tricks

5.19Blauer Herzschlag

5.19.1Schöne neue Welt

5.19.2Aufgabenstellung

5.19.3Hintergrundwissen

5.19.4Schaltplan

5.19.5Source Code

5.19.6Tipps und Tricks

5.20Mobiler Temperaturlogger

5.20.1Klobige Allzweckwaffe

5.20.2Aufgabenstellung

5.20.3Hintergrundwissen

5.20.4Schaltplan

5.20.5Source Code

5.21Breadboard-Arduino™

5.21.1Meister Suns weise Worte

5.21.2Aufgabenstellung

5.21.3Hintergrundwissen

5.21.4Schaltplan

5.21.5Tipps und Tricks

5.22Arduino™ und Windows

5.22.1Schwarz-Weiß

5.22.2Aufgabenstellung

5.22.3Installation des Windows-PCs

Stichwortverzeichnis

Teil I
Hardware

1Ausgesuchte Arduino-Platinen

1.1Arduino Uno

1.2Arduino Leonardo

1.3Arduino Mega 2560

1.4Arduino Esplora

1.5Arduino Due

1.6Arduino Robot

1.7Arduino LilyPad

1.8Intel Galileo

1.9Arduino Yún

1.10Arduino Micro

1.11Arduino Fio

1.12Arduino Zero

1.13Weitere Platinen

1.14Arduino-Platinen auf einen Blick

2Mit Arduino-Shields erweitern

2.1Proto-Shield

2.2Ethernet-Shield

2.3Motor-Shield

2.4Wi-Fi-Shield

2.5USB-Serial-Light-Adapter

2.6Arduino ISP

Ausgesuchte Arduino™-Platinen

Da Sie sich nun entschieden haben, in die wunderbare Welt der Arduino-Entwicklungsumgebung einzutauchen, beginnen wir in diesem Kapitel mit dem Stoff, aus dem unsere Träume sind, den Arduino-Platinen. Es gibt mittlerweile eine ganze Menge an Mitgliedern der Großfamilie Arduino. So viele, dass wir Ihnen gar nicht alle vorstellen können. Es gibt ein paar Dinge, die alle Arduinos gemeinsam haben: Alle besitzen einen USB-Anschluss, alle haben eine LED, die an Pin 13 angeschlossen ist, alle haben einen Reset-Schalter, alle lassen sich über die Arduino-Entwicklungsumgebung programmieren – und alle sind blau. Damit enden aber auch schon die Gemeinsamkeiten, und es folgen Dinge, die fast alle Geräte haben (Anschlüsse für Shields, Programmierport), Dinge, die einige Geräte haben (Tastatur- und Mausemulation), und Dinge, die Sie nur auf einem Arduino-Board finden (Motoren beim Robot).

Auf den folgenden Seiten werden wir uns einige ausgesuchte Arduinos ansehen, ihre technischen Daten auflisten und auf die Besonderheiten hinweisen, die die jeweiligen Geräte besitzen.

1.1Arduino™ Uno

Der Arduino Uno ist als Nachfahre in direkter Linie des ursprünglichen Ur-Arduino entstanden. Er wurde über die Jahre stets weiterentwickelt und verbessert und ist in der Revision 3 der jüngste Spross der längsten Arduino-Entwicklungsreihe. Er ist gleichzeitig auch das am besten getestete Board und dient als Referenz für fast alle Software-Bibliotheken. Da er so häufig produziert wird, ist er auch eines der günstigsten Arduino-Boards auf dem Markt.

Bild 1.1: Der Arduino Uno in der SMD-Ausführung – klein, günstig, universell.

Auf dem Uno sitzt ein ATmega328-Mikrocontroller, der mit 16 MHz (Megahertz) betrieben wird. Er hat 20 digitale Anschlüsse, die wahlweise als Eingang (Input) oder Ausgang (Output) verwendet werden können, bei sechs von ihnen kann eine Pulsweitenmodulation hinzugeschaltet werden, bei sechs anderen können auch analoge Signale ausgelesen werden.

Über einen USB-Stecker kann man den Uno an den Computer anschließen. Da ein USB-Anschluss praktischerweise auch eine Stromquelle mit maximal 500 mA (Milliampere) bereitstellt, kann das Board darüber mit Strom versorgt werden, was für einfache Schaltungen oft ausreichend ist. Bei umfangreicheren oder stromhungrigeren Projekten kann der Uno über den separaten Stromanschluss an eine variable Spannung von 7 bis 12 V (Volt) angeschlossen werden – die notwendigen 5 V für den Mikrocontroller werden über den integrierten Spannungswandler erzeugt. Sollten Sie einmal aus Versehen zu viel Strom aus dem USB-Anschluss ziehen, müssen Sie sich um Ihren Computer keine Sorgen machen, denn der Arduino trennt die Stromversorgung bei Kurzschlüssen und Überstrom automatisch, bis der Fehler behoben wurde.

Natürlich hat ein Arduino auch einen Reset-Knopf und verfügt über einen ICSP-Anschluss, über den ein Programm auf den Mikrocontroller übertragen werden kann. Da aber jeder Arduino von Haus aus auch mit einem Bootloader versehen ist, wird der ICSP-Anschluss selten benötigt, weil man seine Programme mithilfe des Bootloaders über den USB-Anschluss übertragen kann, was wesentlich komfortabler ist.

Kommunizieren kann der Uno mit der Außenwelt zum einen über USB, aber auch über eine serielle Schnittstelle UART TTL (5 V), die in den Pins 0 und 1 untergebracht ist. Der Mikrocontroller unterstützt auch I²C- und SPI-Kommunikation, die z. B. den Anschluss digitaler Sensoren ermöglichen.

Als Besonderheit der neueren Generationen ist der separate ATmega16U2-Mikrocontroller zu erwähnen, der die recht komplexe USB-Kommunikation mit dem Computer übernimmt und die bisherigen FTDI-Treiber ersetzt, die manchmal Probleme bereiteten und vor allem nicht so schnell waren.

Den Arduino Uno Revision 3 gibt es in zwei verschiedenen Varianten. Bei der SMD-Edition steckt der Prozessor in einem SMD-Gehäuse und ist fest mit der Platine verbunden. Geht er einmal kaputt, können Sie ihn nicht austauschen und müssen die gesamte Platine ersetzen. Besser geeignet ist da die normale Version, bei der der Prozessor in einem DIL-Gehäuse auf einem Sockel sitzt. Hier kann der Prozessor einfach ausgetauscht werden, allerdings müssen Sie dann einmalig den Bootloader über den ICSP-Anschluss auf den jungfräulichen Mikrocontroller aufspielen.

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!