Konstanten und Variablen
Im folgenden Artikel behandeln wir das Thema Konstanten und Variablen.
Variablen sind Träger von Daten, welche zur Laufzeit des Arduino-Programms genutzt werden und beliebig oft änderbar sind. Sie sind also variabel (z.B. Sensordaten wie Temperaturen, etc.), im Gegensatz zu Konstanten, die immer den gleichen Wert besitzen (z.B. Pinnummern). Konstanten sind über das Schlüsselwort const erkennbar.
Datentypen
Für die Speicherung von Daten stehen folgende Datentypen zur Verfügung:
Datentype | Bedeutung |
Boolean | true oder false (1,0). Kleinster Datentyp |
Byte | Zahlen zwischen 0 und 255. Numerischer Datentyp mit ganzzahligen Wert ohne Dezimalkomma |
Integer | Ganze Zahlen ohne Dezimalkomma. Der Wertebereich liegt von -32.767 bis 32.768 |
Long | Ganze Zahlen ohne Dezimalkomma. Der Wertebereich liegt von -2,147,483,648 bis 2,147,483,647 |
Float | Fließkommazahlen mit einem Wertebereich von -3.4028235E+38 bis 3.4028235E+38 |
Char | Datentyp für einzelne ASCII-Zeichen |
Array | Kein eigentlicher Datentyp sondern eine Liste von Werten eines bestimmten Datentyps. |
String | Ein String ist ein Array des Datentyps char. |
Beispiel für die Verwendung von Datentypen:
bool MyBool=true; byte MyByte=100; int sensorPin=1; long longVar=1200; float MyPiValue=3.14; int myArray[] = { 1, 10, 100}; String myString = "Hello World ;-)"; int myArray[] = { 1, 10, 100};
Gültigkeitsbereich
Es gibt die beiden Gültigkeitsbereiche „lokal“ und „global“. Der Gültigkeitsbereich gibt an, wo eine Variable angelegt und damit „sichtbar“ ist. Eine lokale Variable wird innerhalb einer Funktion angelegt, und ist somit auch nur innerhalb dieser Funktion sichtbar. Im Gegensatz dazu sind globale Variablen in allen Funktionen sichtbar.
Im Beispiel für lokale Variablen verwenden die beiden Funktionen A und B zwar den selben Variablennamen, dieser ist aber nur innerhalb der jeweiligen Funktion sichtbar und somit auch mit einem unterschiedlichen Wert belegbar.
void function A() { int sensorPin = 9; int sensorValue=analogRead(sensorPin); } void function B() { int sensorPin = 13; int sensorValue=analogRead(sensorPin); }
Das folgende Beispiel verwendet eine globale Variable sensorPin, welche in allen Funktionen einsehbar und hier auch änderbar ist.
#include ... int sensorPin=9; void function A() { int sensorValue=analogRead(sensorPin); }
Konstanten
Konstante Werte können mit dem const Prefix vor dem Datentyp der Variablendeklaration gekennzeichnet werden. Diese Variablen können dann zur Ausführungszeit nicht mehr verändert werden. In dem folgenden Beispiel werden Pin-Belegungen als konstante Variable abgelegt:
const in sensorPin = 9; void function A() { int sensorValue=analogRead(sensorPin); }
Zudem stehen eine Reihe von vordefinierten Konstanten zur Verfügung, die für die Entwicklung verwendet werden können.
Konstante | Beschreibung |
true/false | Boolean Konstanten für logische Werte |
HIGH/LOW | Pin Level Konstanten |
INPUT/OUTPUT | Pin Mode Konstanten |
LED_BUILTIN | Pinnummer der Onboard-LED (wenn verfügbar) |
Weitere Themen rund um die Arduino Programmierung findest Du hier:
Pingback: URL