Schweitzer Fachinformationen
Wenn es um professionelles Wissen geht, ist Schweitzer Fachinformationen wegweisend. Kunden aus Recht und Beratung sowie Unternehmen, öffentliche Verwaltungen und Bibliotheken erhalten komplette Lösungen zum Beschaffen, Verwalten und Nutzen von digitalen und gedruckten Medien.
In diesem Buch lernst du Schritt für Schritt und leicht verständlich, wie du mit dem Arduino UNO R3 Mikrocontroller spannende kleine Projekte realisieren und selbst programmieren kannst.
Du lernst zum Beispiel, wie du LEDs zum Leuchten bringst und Morsezeichen absetzt. Dann geht es richtig zur Sache: Du kannst mit Sensoren Messwerte erfassen oder mit Motoren Bewegung erzeugen. Baue zum Beispiel einfach einen kleinen Ventilator und einen Timer, der nach 30 Sekunden ein akustisches Signal aussendet. Am Ende des Buches lernst du sogar, wie man selbst eine Tastatur entwickelt und mithilfe des integrierten Speichers eine Blackbox wie bei einem Flugzeug konstruiert.
Viele Tipps zum Lesen von Quellcode anderer Entwickler und zur Fehlersuche geben dir Inspiration, eigene Ideen zu verwirklichen. Eine Anleitung zur Codeverwaltung sorgt dafür, dass du nicht den Überblick über deine Sketche verlierst. Durch Fragen und Aufgaben am Ende jedes Kapitels erhältst du zusätzlich jede Menge Anregungen.
Schaltpläne in Farbe zum Download unter www.mitp.de/0649
Eine Übersicht über die Materialien, die du benötigst, findest du in Anhang C.
Systemvoraussetzungen: Windows, Linux und MacOS X
Ab 12 Jahre, aber auch für Erwachsene, die eine wirklich einfache Einführung suchen.
»In diesem Buch lernen Interessierte Schritt für Schritt und leicht verständlich, wie mit dem Mikrocontroller Arduino Uno R3 kleine Projekte realisiert und selbst programmiert werden können.« (SPS Magazin, 10/2023)
Uno R3 Uno R4 Minima Uno R4 WiFi Leonardo Nano
In diesem Kapitel wirst du lernen, wie du den Arduino programmierst und wie man LEDs (das sind kleine Lampen) mit dem Arduino ansteuert. Zusätzlich lernst du das Benutzen von Buttons (Tasten) und wie du sie mit dem Arduino verwenden kannst.
Genau lernst du Folgendes:
Anschließen des Arduinos
Wie du LEDs mit dem Arduino an- und ausschaltest
Wie du den Arduino pausierst
Wie du einen Button (Knopftaste) verwendest
Wie du ein eigenes, kleines Projekt planst
Am Ende des Kapitels werden wir ein kleines Projekt planen und programmieren: eine blinkende Lichterkette mit verschiedenen Funktionen. Im 2. Kapitel werden wir dann die Lichterkette so erweitern, dass wir sie über den PC steuern und die Funktionen austauschen können.
?Als Erstes musst du Software installieren, mit der wir gleich arbeiten werden. Sieh dazu bitte in Anhang A, in dem das Vorgehen dazu erklärt wird. In der Installation ist die IDE (Integrated Development Environment) enthalten, ein Programm, um einen Quellcode zu schreiben und diesen dann in »Maschinensprache« zu übersetzen. Im Grunde genommen ist eine IDE eine Textbearbeitung, die Programmierbefehle farbig markiert.
Nachdem du die Installation (Anhang A) durchgeführt hast, kannst du deinen Arduino über USB-Kabel mit dem Computer verbinden und gleich programmieren. Zuerst musst du in deiner IDE den richtigen Arduino einstellen. Wenn du den empfohlenen Arduino Uno benutzt, musst du unter Tools|Board den Arduino auswählen, siehe dazu folgende Abbildung.
Wenn du ein anderes Arduino-Modell als den Arduino Uno verwendest (mögliche Arduinos werden dir in der Box am Anfang jedes Kapitels genannt), musst du hier das entsprechende Board in der IDE einstellen.
Danach musst du noch den richtigen Port einstellen?: Zieh den Arduino Uno ab (falls du ihn bereits angeschlossen hattest), sieh dir unter Tools|Serial Port die Ports an und notier sie dir. Danach steckst du den Arduino Uno ein. Den Port, der neu hinzugekommen ist, musst du auswählen. Jetzt kannst du endlich programmieren.
Unser erstes Programm soll lediglich zeigen, dass der Arduino korrekt verbunden ist.
Diesen Code (den Quellcode) musst du in der IDE eingeben und dann auf den Pfeil oben links klicken. Wenn dann in der schwarzen Textbox Done (schwarzes Feld im unteren Bereich der IDE) steht, ist der Arduino korrekt eingestellt, ansonsten muss du die Anleitung oben wiederholen oder im Anhang A nachsehen. Ein Programm für den Arduino, der sogenannte Sketch?, besteht immer aus zwei Teilen: dem »Setup« und der »Loop«. Der Code, der im Setup ?steht, wird einmal beim Starten beziehungsweise beim Resetten des Controllers ausgeführt.
Done
Bei einem Reset (»resetten« des Arduinos) wird der Arduino auf den Anfangspunkt eines Programms zurückgesetzt (das heißt, alle Variablen werden auf ihren ursprünglichen Wert aus dem Sketch zurückgesetzt und der Code wird von vorne, beginnend mit dem Setup-Teil, neu ausgeführt). Ein Reset findet beispielsweise statt, wenn du den Arduino von der Spannungsversorgung (beispielsweise dem USB-Kabel) abtrennst oder den beschrifteten Reset-Button auf dem Board drückst.
Der Code in der Loop? ?wird dagegen in einer Endlosschleife?? ausgeführt. Der Quellcode, den du selbst schreibst, kommt dabei in die geschweiften Klammern. Warum das so ist, kannst du später in diesem Kapitel im Abschnitt »Wie Funktionen funktionieren« nachlesen.
Ein wichtiger Hinweis: Wir verwenden die LED-Schaltung aus der Einführung!
Unser erstes Programm mit einer richtigen Funktion soll eine LED ansteuern und sie anschalten, später soll sie blinken.
Ein wichtiger Hinweis: Alles, was hinter zwei Schrägstrichen steht, wird in einem Programm immer als Kommentar ?gewertet, das heißt, dass dahinter geschriebener Text keine Funktion hat, sondern nur zur besseren Lesbarkeit dient.
Bei einem Arduino sind alle Ausgänge als sogenannte Pins konfiguriert. Das heißt, dass du jeden Pin ?einzeln ansteuern kannst. Die Pins sind die kleinen Metallkontakte in den schwarzen Buchsen des Arduino (Uno). Häufig genutzte Pins sind hervorgehoben.
Neben jedem Pin ist eine Nummer, über die du ihn ansteuern kannst. In dem Beispiel verwende ich Pin 13, da daran im Arduino Uno bereits eine LED verbaut ist. Diesen Code musst du wie beim Beispiel auf den Arduino laden und schon leuchtet die LED grün. Oben im Code kannst du erkennen, dass der Befehl pinMode eine Funktion ?ist. In den Klammern werden der Funktion Parameter? übergeben. Parameter kann man als Informationen ansehen, die die Funktion zum Arbeiten benötigt. Hier ist der erste Parameter der Pin, der zweite der Zustand. Dies kann Output (Ausgang) sein oder Input (Eingang), den wir aber erst im Abschnitt »Das Lesen von Eingängen« benötigen.
pinMode
Ausgänge? schalten immer etwas, beispielsweise LEDs, Eingänge? lesen immer etwas, z.B. Tasten. Eine Funktion wird immer mit einem Semikolon (;) abgeschlossen, damit der Übersetzer weiß, dass der Befehl zu Ende ist. Der Übersetzer, der sogenannte Compiler??, übersetzt den Quellcode in Maschinensprache, also in das Dualsystem (dies sind die Einsen und Nullen, mit denen der Computer arbeitet und von denen du vielleicht schon einmal gehört hast), damit es der Mikrocontroller verstehen kann. Der Befehl pinMode() ist notwendig, damit der Arduino weiß, wie der Pin zu benutzen ist. Der zweite Befehl, digitalWrite(), schaltet dann den Pin an. Bei dem Arduino Uno liegen 5 Volt an. Bei digitalWrite() kannst du bei dem zweiten Parameter entweder HIGH angeben, der PIN führt also Strom, oder LOW, der PIN ist ausgeschaltet.
pinMode()
digitalWrite()
HIGH
LOW
Vielleicht merkst du schon, dass viele Begriffe in der Informatik englisch sind! Beim Programmieren ist Englisch eine wichtige Sprache: Sowohl die Fachbegriffe, beispielsweise HIGH für Hoch (im Sinne von angeschaltet), als auch die meisten Programmiersprachen sind auf Englisch »verfasst«. Deswegen schadet es nicht, wenn du einen kleinen Englischkurs machst (insbesondere, weil auch viele Dokumentationen, beispielsweise zu elektronischen Bauteilen, nur auf Englisch verfügbar sind).
D?u kannst zwar versuchen, abwechselnd in der Loop digitalWrite() mit HIGH und LOW zu versehen, aber das wird nicht funktionieren. Mit diesem Code kannst du es selbst versuchen:
An sich sollte der Code funktionieren, tut er auch! Aber da der Controller mit 16 Millionen Hertz (Hertz bedeutet Schwingungen, Takte; wenn ein Befehl also einen Takt dauert, wird der Pin 16 Millionen Mal pro Sekunde umgeschaltet beziehungsweise der Zustand des Pins alle 0,0000000625 Sekunden geändert) arbeitet, kann das menschliche Auge die Reaktion der LED nicht sehen. Man muss den Abstand etwas vergrößern. Dazu dient der Befehl delay(). Dieser Befehl pausiert den Controller für eine übergebene Anzahl an Millisekunden (1000 ms = 1 Sekunde). Um die LED nun im Sekunden-Takt blinken zu lassen, brauchen wir folgenden Code:
delay()
Und damit hast du dein erstes Projekt, die blinkende LED. Dieses kannst du nun über File|Save unter einem Namen deiner Wahl speichern. Die Arduino-IDE speichert dabei alle Dateien mit Quellcode (die Quelldateien) an einem Ort, sodass du sie auch später benutzen kannst.
Damit hast du deinen ersten »funktionierenden« Code fertig, der auch zugleich mehrfach Pins ansteuert. Vielleicht fragst du dich gerade, wie organisiert man die Pins, wenn man 50 Stück benutzt (beispielsweise hat der Arduino Mega über 50 Pins)? Bei dem Arduino besteht die Möglichkeit, einem Pin einen eigenen Namen zu geben. Dies wird über sogenannte Variablen? gemacht. Eigentlich enthält eine Variable einen Inhalt, der veränderbar, also variabel ist; daher der Name. Das Gegenteil ist eine Konstante, die nicht veränderbar ist. In Variablen können wir aber auch die Zahl des Pins festlegen, den wir ansteuern wollen. Dafür brauchen wir eine Zahlenvariable, eine sogenannte Integer-Variable??. Integer ist englisch für Ganzzahl, so kannst du auch raten, was in ihr gespeichert wird. Das obige Beispiel...
Dateiformat: ePUBKopierschutz: Wasserzeichen-DRM (Digital Rights Management)
Systemvoraussetzungen:
Das Dateiformat ePUB ist sehr gut für Romane und Sachbücher geeignet - also für „fließenden” Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Wasserzeichen-DRM wird hier ein „weicher” Kopierschutz verwendet. Daher ist technisch zwar alles möglich – sogar eine unzulässige Weitergabe. Aber an sichtbaren und unsichtbaren Stellen wird der Käufer des E-Books als Wasserzeichen hinterlegt, sodass im Falle eines Missbrauchs die Spur zurückverfolgt werden kann.
Weitere Informationen finden Sie in unserer E-Book Hilfe.