Arduino Warten auf Eingabe

Ammar Ali 12 Oktober 2023
  1. Stellen Sie das Arduino so ein, dass es mit der Funktion Serial.avaiable() auf die Eingabe wartet
  2. Stellen Sie das Arduino so ein, dass es mit der Funktion digitalRead() auf die Eingabe wartet
Arduino Warten auf Eingabe

In diesem Tutorial werden zwei Methoden erläutert, mit denen Sie Ihr Arduino so einstellen können, dass es auf die Eingabe wartet. Eine Methode ist für serielle Ports oder analoge Pins und die andere für digitale Pins.

Stellen Sie das Arduino so ein, dass es mit der Funktion Serial.avaiable() auf die Eingabe wartet

Wenn Sie Eingaben von einer seriellen Schnittstelle lesen möchten, können Sie mit der Funktion Serial.available() auf die Eingabe warten. Diese Funktion ermittelt die Anzahl der an der seriellen Schnittstelle vorhandenen Bytes. Wenn kein Eingang vorhanden ist, wird Null zurückgegeben.

void setup() { Serial.begin(9600); }

void loop() {
  while (Serial.available() == 0) {
  }
  int mydata = Serial.read();
}

Wenn im obigen Code kein Eingang an der seriellen Schnittstelle vorhanden ist, bleibt das Arduino in einer Schleife stecken und bleibt dort. Wenn ein Eingang an der seriellen Schnittstelle ankommt, wird die Schleife unterbrochen, und die serielle Schnittstelle liest Daten mit Serial.read() und speichert sie in der Variablen mydata.

Stellen Sie das Arduino so ein, dass es mit der Funktion digitalRead() auf die Eingabe wartet

Wenn Sie die Eingabe von einem digitalen Pin lesen möchten, können Sie mit der Funktion digitalRead() auf die Eingabe warten. Diese Funktion liest den digitalen Wert eines digitalen Pins, der entweder LOW oder HIGH ist.

int valPin = 0;
int inputPin = 7;

void setup() { pinMode(inputPin, INPUT); }

void loop() {
  while (digitalRead(inputPin) != LOW)
    ;
  {}
  valPin = digitalRead(inputPin);
}

Wenn im obigen Code kein Eingang am digitalen Pin vorhanden ist, bleibt das Arduino in einer Schleife stecken und bleibt dort. Wenn ein Eingang am digitalen Pin ankommt, wird die Schleife unterbrochen und die serielle Daten werden mit digitalRead() gelesen und in der Variablen valPin gespeichert.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook