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.
2 Arduino-Software-Entwicklung
Nachfolgend werden die verschiedenen Programmierelemente vorgestellt, auf die im Verlauf dieses Buchs immer wieder zurückgegriffen wird. Wenn Sie bereits Erfahrung mit der Programmierung in C haben, wird Ihnen das Programmieren mit Arduino dank der vielen Gemeinsamkeiten nicht schwerfallen. Falls Programmierung neu für Sie ist, erhalten Sie in diesem Kapitel eine Einführung in die wichtigsten Konzepte. Nur wenn Sie die Grundlagen der Arduino-Programmierung beherrschen, bleibt Ihr Code übersichtlich und nachvollziehbar. Außerdem werden Sie nachfolgend die wichtigsten Programmstrukturen erarbeiten, damit Sie sich später auf die Bibliotheken konzentrieren können. Bibliotheken sind Sammlungen von Klassen, Typen oder Funktionen, die über Schlüsselwörter aufgerufen werden können. Mit Bibliotheken können Sie Ihrem Programm vorgefertigte Funktionalität hinzufügen. Damit ermöglichen Bibliotheken das Prinzip der modularen Wiederverwendbarkeit von Code. Hier werden wir uns schwerpunktmäßig mit den Bibliotheken NewSoftSerial, LCD Library und TinyGPS befassen.
2.1 Erste Schritte mit setup und loop()
Ohne setup() und loop() kann kein Arduino-Programm ordnungsgemäß ausgeführt werden. Die Implementierung der beiden Funktionen erfolgt nach diesem Schema:
Unter setup() richten Sie E/A-Ports wie LEDs, Sensoren, Motoren und serielle Ports ein. Dieser Vorgang ist wichtig, denn um die Pins auf dem Arduino-Board nutzen zu können, müssen Sie die gewünschten Pins vorher »reservieren«.
loop() enthält den gesamten Code zur Steuerung der E/A-Ports. Hier legen Sie z. B. eine bestimmte Geschwindigkeit für Ihren Motor fest. Das Einrichten und Steuern der E/As wird in den nächsten Abschnitten näher erläutert.
Arduino-Programme enthalten außerdem diverse Unterfunktionen. Dabei handelt es sich um nützliche Sonderfunktionen, die Sie innerhalb von loop()-Anweisungen oder in den entsprechenden Unterfunktionen aufrufen können. Um eine Unterfunktion verwenden zu können, müssen Sie die Funktion zuerst am Anfang des Programms initialisieren. Diese erste Deklaration nennt sich Funktionsprototyp.
Beispiel:
Initialisieren von Variablen
Variablen sind die grundlegendsten Programmierbausteine. Mit ihnen lassen sich Daten zwischen einzelnen Programmbestandteilen übergeben. Alle Programme in diesem Buch verwenden Variablen. In der Arduino-Programmiersprache stehen verschiedene Variablentypen zur Verfügung.
Name
Wert
Wertebereich
char
'a'
-128 bis 127
byte
1011
0 bis 255
int
-1
-32.768 bis 32.767
unsigned int
5
0 bis 65.535
long
512
-2.147.483.648 bis 2.147.483.647
unsigned long
3.000.000
0 bis 4.294.967.295
float
2,513
-3,4028235E+38 bis 3,4028235E+38
double
Nachdem Sie nun wissen, welche Variablentypen es gibt, gilt es, diese Variablen zu deklarieren. Für die Deklaration der Variablen müssen Sie wissen, in welchem Bereich sie verwendet werden können. Anschließend müssen Sie den Bereich angeben (deklarieren), der Ihren Anforderungen entspricht. Hier wird zwischen zwei grundsätzlichen Bereichen für Variablen unterschieden: lokal und global. Eine lokale Variable lässt sich nur innerhalb des für sie definierten Bereichs verwenden. Z. B. werden in einer Schleife die dort deklarierten Variablen nur innerhalb der Klammern verwendet, die Variablen sind also für diese Schleife lokal. Eine globale Variable kann von jedem beliebigen Ort des Programms aufgerufen werden. Zur Definition einer globalen Variable müssen Sie die Variable zu Beginn des Programms initialisieren. Das folgende Programm zeigt, wie Sie lokale und globale Variablen initialisieren:
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.
Dateiformat: PDFKopierschutz: Wasserzeichen-DRM (Digital Rights Management)
Das Dateiformat PDF zeigt auf jeder Hardware eine Buchseite stets identisch an. Daher ist eine PDF auch für ein komplexes Layout geeignet, wie es bei Lehr- und Fachbüchern verwendet wird (Bilder, Tabellen, Spalten, Fußnoten). Bei kleinen Displays von E-Readern oder Smartphones sind PDF leider eher nervig, weil zu viel Scrollen notwendig ist. 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.