Einführung Der Arduino ist ein kleiner, kostengünstiger Computer, der mit seiner Programmierung unendlich viele Bastelprojekte steuern kann. Wie Sie gleich sehen werden, kann der Arduino als Basis für zahlreiche Projekte dienen, zum Beispiel für einen Geisterdetektor, einen per Joystick gesteuerten Laser, einen elektronischen Würfel, einen Laser-Stolperdraht, einen Bewegungsalarm, ein Codeschloss für Ihre Eingangstür und viele andere. All diese Projekte sind einfach zu bauen und haben eines gemeinsam: Sie nutzen die Möglichkeiten des Arduino. In den frühen 1980er-Jahren fiel mir in einer Buchhandlung ein tolles Buch mit einem Titel so ähnlich wie»technische Spielereien«in die Hände. Die Projekte waren recht einfach, so wie beispielsweise ein Leuchtturm, der aus Taschenlampenbirnchen und einer alten Uhr bestand, die für die Drehung sorgte. Die Anregungen in diesem Buch beflügelten meine Fantasie und seit dieser Zeit habe ich immer irgendetwas gebastelt. Ich war so neugierig, dass ich verschiedene elektrische Geräte auseinandernahm, um herauszufinden, wie sie funktionieren. Normalerweise schaffte ich es nicht, sie wieder zusammenzubauen, aber auf diese Weise erhielt ich eine ganze Reihe elektronischer Komponenten zum Basteln. (Das ist übrigens eine tolle Möglichkeit, an eine Menge Bauteile zu kommen.) Ich kann mich gut daran erinnern, wie ich viele Taschenlampenbirnchen zusammenschaltete, um ein Flutlicht für mein Tipp-Kick-Spiel zu bauen, und einen Lautsprecher installierte, um in der Halbzeitpause Musik abzuspielen. Ich schaffte es sogar, aus einem Star-Wars-Spielzeug einige LEDs auszubauen, nur um sie dann zu zerstören, weil ich damals nicht wusste, was ein Widerstand war. Mit kleinen Motoren, Summern und Solarzellen baute ich Alarmanlagen und raffinierte Autos und natürlich ruinierte ich dabei auch einige Motoren! Etwa zur selben Zeit (1983) brachte die Firma Sinclair in Großbritannien den Mikrocomputer ZX Spektrum 48k in den Handel und führte damit Heimcomputer im Massenmarkt ein. (Die USA hatten den Commodore 64.) Obwohl er als seriöser Computer gedacht war, wurde der ZX Spektrum auch viel zum Spielen eingesetzt, da er mit der einfachen Programmiersprache Basic ausgestattet war. So kam es, dass überall im Lande Softwarefirmen in Schlafzimmern entstanden und die Menschen Spiele für den ZX schrieben. Dies weckte mein Interesse am Programmieren und gleichzeitig konnte ich meine beiden Hobbys miteinander verbinden. Das»Physical Computing«, bei dem Software und Hardware mit der echten Welt xvi Einführung
interagieren, gab es schon in den achtziger Jahren, war aber eher im Bereich der Hochleistungsrechner und Robotik angesiedelt und für Privatanwender undenkbar. Jetzt, mit der Einführung des Arduino, etwa 30 Jahre später, bastele ich wieder Elektronikprojekte, aber heute kann ich diese Projekte mittels Programmierung auch zum Leben erwecken. Die Revolution des Arduino Einfach ausgedrückt ist der Arduino ein kleiner Computer, der programmiert werden kann, um verschiedenste Elektronikkomponenten zu verbinden und zu steuern. Der Arduino verfügt über eine Reihe von Anschlüssen, die entweder als Eingang definiert werden können, was bedeutet, dass sie Daten von Bauteilen wie Schaltern, Tastern und Sensoren empfangen, oder als Ausgang, was bedeutet, dass mittels Daten Bauteile wie Motoren, Lampen und Summer gesteuert werden können. Diese Art programmierbare Entwicklungsplatine wird auch als Mikrocontroller bezeichnet. Das Arduino-Projekt begann 2005 in Ivrea, Italien, mit dem Ziel, ein Gerät zu entwickeln, mit dem interaktive Designprojekte von Studenten gesteuert werden konnten und das kostengünstiger war als andere zu dieser Zeit verfügbare Prototyping-Systeme. Die Gründer Massimo Banzi und David Cuartielles benannten das Projekt nach einer Bar namens»arduino«(ein italienischer Männervorname, der»starker Freund«bedeutet). Die Arduino-Platine besteht aus zwei Hauptelementen: der Hardware oder dem Mikrocontroller, dem Gehirn der Platine, und der Software, mit dem Sie das Gehirn programmieren. Die Software wird auch als integrierte Entwicklungsumgebung (IDE) bezeichnet und kann kostenlos heruntergeladen werden. Die IDE ist eine einfache Schnittstelle, die auf einem Computer unter Windows, OS X oder Linux läuft. Mit der IDE können Sie einen Sketch erstellen (ein Arduino-Programm) und es dann mit einem PC und einem USB-Kabel auf die Arduino-Platine hochladen. Der Sketch sagt der Hardware, was sie tun soll. Hardware und Software werde ich in den nächsten Kapiteln detaillierter beschreiben. Der Arduino kann mit Batterien, über USB oder über eine externe Stromquelle gespeist werden. Ist der Arduino einmal programmiert, können Sie ihn von Ihrem Computer abkoppeln, denn mit seiner Stromversorgung funktioniert er selbstständig. Über dieses Buch Warum habe ich dieses Buch geschrieben? Das Internet steckt voller Tutorien, Videos und Artikel, die den Arduino und damit mögliche Projekte beschreiben. Viele davon sind jedoch nicht detailliert genug xvii Einführung
oder der notwendige Programmcode fehlt. Wie das Buch über technische Spielereien, das mich vor vielen Jahren inspiriert hat, soll mein Buch Ihnen dabei helfen, durch die gelernten Fähigkeiten und Techniken eigene Projekte auf die Beine zu stellen. In diesem Buch werden Sie die meisten Projekte mithilfe eines Steckbretts konstruieren. So verstehen Sie am besten, wie Schaltungen aufgebaut werden, denn ihre Verbindungen sind flexibel: Wenn Sie einen Fehler machen, können Sie einfach das Kabel oder Bauteil umstecken und es noch einmal versuchen. In jedem Projekt wird schrittweise erklärt, wie die Hauptkomponenten angeschlossen werden, und Fotografien zeigen Ihnen den Aufbau. Als Schnellreferenz finden sich für die meisten Projekte auch Tabellen zu den Verbindungen. Die Projekte verfügen über einen Schaltplan, in dem die Verbindungen exakt gezeigt werden, so wie in Abbildung 1. Sie sind mit einem Programm namens Fritzing erstellt worden (http://www.fritzing.org), einer kostenlosen Open-Source-Software, mit der Sie Ihren Projektaufbau optisch visualisieren können. Abbildung 1: Beispiel eines Fritzing- Diagramms Zu jedem Projekt gibt es auch den für den Arduino notwendigen Programm code, sodass Sie vorher keine Programmiersprache erlernen müssen. Die ersten Projekte enthalten einfache Erklärungen darüber, was im Programmcode geschieht, damit Sie auch Ihre eigenen Veränderungen daran vornehmen können, wenn Sie möchten. Sie müssen den Code nicht abtippen, sondern können ihn unter http://www.dpunkt.de/arduinoprojekt herunterladen. Die Projekte in diesem Buch fangen bei den Grundlagen an und werden dann immer komplexer. Allerdings steigt dieses Buch nicht tief in die Theorie der Elektronik oder Programmierung ein, aber es bietet Ihnen einen guten Ausgangspunkt dafür. In diesem Buch möchte ich Ihnen zeigen, wie xviii Einführung
Sie Ihre eigenen Projekte entwickeln. Mit einigen technischen Grundlagen im Gepäck können Sie sich auf den kreativen Schaffensprozess konzentrieren. Die Idee dahinter ist, dass ein Verständnis der Funktionsweise von Schaltungen Ihre Fantasie beflügeln kann, wie diese Schaltungen in der Praxis eingesetzt werden können. Dieses Buch bietet Ihnen beispielsweise Informationen über die Pinbelegungen des Arduino, die Sie auch für andere Projekte verwenden können. Sie können auch Projekte miteinander kombinieren, um kompliziertere und spannendere Spielzeuge zu entwickeln. Viele Arduino-Bücher stellen die Programmierung in den Vordergrund, und das hat auch seine Berechtigung. Ich bin jedoch der Meinung, dass man Elektronik auch über»plug and Play«erlernen kann. Indem Sie meine Projekte nachbauen, erfolgt das Lernen Schritt für Schritt. Der Aufbau dieses Buchs Dieses Buch beginnt mit einfachen Projekten und steigert sich wie nachfolgend aufgeführt hin zu komplexeren Projekten, sodass es Ihnen dabei hilft, immer mehr über Bauteile zu erfahren und Ihre Fähigkeiten zu entwickeln. Teil 1: LEDs Zuerst lernen Sie, wie Sie einfache LEDs mit Schaltern und variablen Widerständen steuern, und kombinieren die Bauteile dann, um Stroboskoplichter, Pflanzen-Monitore, die Ihnen mitteilen, wann Sie gießen müssen, und sogar einen Geisterdetektor zu bauen. Teil 2: Sound in diesem Teil lernen Sie den Piezo-Summer kennen, ein sehr nützliches Bauteil, das Töne erzeugt und sie auch erkennen kann. Sie werden mit dem Arduino Musik machen, ein einfaches, aber lustiges Gedächtnisspiel bauen und ein Schloss mit Geheimcode entwickeln, das erkennt, wie stark geklopft wird. Teil 3: Servomotoren Alle Projekte in diesem Teil verwenden Servomotoren. Das sind kleine Motoren mit einem Arm, die für alle möglichen Dinge eingesetzt werden können. Sie bauen einen Joystick-gesteuerten Laser und nutzen eine Fernbedienung, um mit ihr die Servomotoren zu steuern. Teil 4: LCDs In vielen Projekten ist eine LCD-Anzeige nützlich, um Meldungen und Ergebnisse darzustellen. In diesem Teil lernen Sie, wie Sie einen LCD- Bildschirm einrichten, bauen eine Wetterstation und entwickeln zwei Spiele: einen Wahrsager und ein Messgerät für Ihre Reaktionszeit. xix Einführung
Teil 5: Numerische Zähler In diesem Teil verwenden Sie 7-Segment-Anzeigen, um einen elektronischen Würfel und eine Countdown-Anzeige für ein Raketenstartsystem zu bauen, das eine Lunte zündet. Teil 6: Sicherheit Diese etwas komplexeren Projekte zeigen Ihnen, wie Sie Ihr Haus mit Stolperdrähten und Einbruchalarmen schützen, mit Bewegungsmeldern Alarm auslösen oder Raketen abfeuern und Sicherheitssysteme bauen, die Tastenfelder und Kartenleser verwenden, um den Zugang zu beschränken. Teil 7: Fortgeschrittene Projekte In diesem letzten Teil kombinieren wir den Arduino mit einer LED-Matrix, um eine Lightshow in Regenbogenfarben zu bauen. Zum Schluss komplettieren Sie Ihre Kenntnisse, indem Sie für zukünftige Projekte Ihren eigenen Arduino bauen. Die Projekte müssen nicht in der angegebenen Reihenfolge gebaut werden. Wenn Sie etwas sehen, was Ihnen gefällt, und Sie sich sicher genug fühlen, es zu bauen, dann legen Sie los. Ich empfehle, zuerst einige der einfacheren Projekte auszuprobieren, denn dort finden Sie Informationen, die das Verständnis der späteren Projekte erleichtern. Als ich mit dem Arduino zu experimentieren begann, habe ich ein Buch wie dieses gesucht, aber nicht gefunden. Für mich war das der Anreiz, das vorliegende Buch zu schreiben. Ich hoffe, Sie haben bei der Lektüre und beim Bau der Projekte genauso viel Spaß wie ich beim Schreiben. xx Einführung