Benutzer-Werkzeuge

Webseiten-Werkzeuge


tipsandtricks:arduinoprogrammierung

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
}
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
tipsandtricks/arduinoprogrammierung.txt · Zuletzt geändert: 2024/12/02 23:29 von cschepelmann

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki