tipsandtricks:arduinoprogrammierung
Inhaltsverzeichnis
Arduino Programmierung Basics
Hier findest du eine Übersicht über grundlegende Befehle und Strukturen, um in die Arduino-Programmierung einzusteigen.
Grundlegende Strukturen
Setup und Loop
void setup() { // Wird einmal beim Start des Arduino ausgeführt } void loop() { // Wird kontinuierlich wiederholt }
Ein- und Ausgaben
Pin-Mode einstellen
pinMode(pin, mode);
- pin: Die Nummer des Pins (z. B. 13).
- mode: `INPUT`, `OUTPUT` oder `INPUT_PULLUP`.
Digitalen Pin schreiben/lesen
digitalWrite(pin, HIGH/LOW); int state = digitalRead(pin);
- Schaltet einen digitalen Pin an (`HIGH`) oder aus (`LOW`).
- Liest den Zustand eines digitalen Pins (`HIGH`/`LOW`).
Analogen Pin schreiben/lesen
analogWrite(pin, value); int value = analogRead(pin);
- analogWrite: Gibt einen Wert zwischen 0 und 255 aus (PWM).
- analogRead: Liest einen Wert zwischen 0 und 1023.
Pulsdauer messen
unsigned long duration = pulseIn(pin, value);
- Misst die Zeitdauer (in Mikrosekunden), in der der Pin auf `HIGH` oder `LOW` ist.
Zeitkontrolle
Wartezeit einfügen
delay(milliseconds);
- Hält den Code für eine bestimmte Zeit (in Millisekunden) an.
Zeit seit Start messen
unsigned long time = millis();
- Gibt die vergangene Zeit seit Start des Programms in Millisekunden zurück.
Serielle Kommunikation
Seriellen Monitor initialisieren
Serial.begin(baudrate);
- Startet die serielle Kommunikation (z. B. `9600` Baud).
Daten senden
Serial.print(data); Serial.println(data);
- Serial.print: Sendet Daten in einer Zeile.
- Serial.println: Sendet Daten und beginnt eine neue Zeile.
Daten empfangen
if (Serial.available()) { char input = Serial.read(); }
- Serial.available(): Prüft, ob Daten im seriellen Puffer vorliegen.
- Serial.read(): Liest das erste Zeichen aus dem seriellen Puffer. Gibt `-1` zurück, wenn keine Daten vorliegen.
Kontrollstrukturen
If-Statement
if (condition) { // Code ausführen, wenn Bedingung wahr ist } else { // Code ausführen, wenn Bedingung falsch ist }
- Vergleichsoperatoren:
- `==`: Ist gleich
- `!=`: Ist ungleich
- `<`: Kleiner als
- `>`: Größer als
- `⇐`: Kleiner oder gleich
- `>=`: Größer oder gleich
- Logische Operatoren:
- `&&`: UND
- `||`: ODER
- `!`: NICHT
For-Schleife
for (int i = 0; i < 10; i++) { // Wiederholt den Code 10 Mal }
While-Schleife
while (condition) { // Code ausführen, solange die Bedingung wahr ist }
Mathematische Funktionen
Wertebereich umrechnen
long mappedValue = map(value, fromLow, fromHigh, toLow, toHigh);
- Rechnet den Wert value von einem Bereich (`fromLow` bis `fromHigh`) in einen anderen Bereich (`toLow` bis `toHigh`) um.
- Beispiel: `map(50, 0, 100, 0, 255)` ergibt 127.
Beispielprogramm
void setup() { pinMode(13, OUTPUT); // Setzt Pin 13 als Ausgang } void loop() { digitalWrite(13, HIGH); // LED einschalten delay(1000); // 1 Sekunde warten digitalWrite(13, LOW); // LED ausschalten delay(1000); // 1 Sekunde warten }
tipsandtricks/arduinoprogrammierung.txt · Zuletzt geändert: 2024/12/02 23:29 von cschepelmann