1.6 Steuerausgang Digitaleingang¶
Überblick¶
Mit dem Verständnis von digitalWrite()
und digitalRead()
können wir ein vollständiges E/A-System aufbauen, um das Ausgabegerät zu steuern, indem wir die Daten vom Eingabegerät erhalten. Wir können diese Methode verwenden, um digitale Eingabekomponenten wie Tasten, Berührungssensoren und Infrarot-Bewegungssensoren zu aktivieren, um digitale Ausgabegeräte wie LEDs und aktive Summer zu steuern. In dieser Lektion werden Taster und LED als Beispiele verwendet, um die Tastersteuerungs-LED mit der Bedingung (if-else) zu realisieren.
Erforderliche Komponenten¶
Fritzing-Schaltung¶
In diesem Beispiel verwenden wir Pin 9, um die LED anzusteuern. Verwenden Sie den digitalen Pin 2, um das Signal von Button zu lesen. Wenn die Taste gedrückt wird, leuchtet die LED.
Schematische Darstellung¶
Code¶
Bemerkung
Sie können die Datei
1.6_digitalInputControlOutput.ino
unter dem Pfadsunfounder_vincent_kit_for_arduino\code\1.6_digitalInputControlOutput
direkt öffnen.Oder kopieren Sie diesen Code in Arduino IDE.
Nachdem Sie den Code auf das Mega2560-Board hochgeladen haben, können Sie die Taste gedrückt halten, um die LED aufzuleuchten.
Code-Analyse¶
Deklarieren Sie die Pins von LED und Button und deklarieren Sie eine Variable, um den Zustand des Buttons zu speichern.
const int buttonPin = 2;
const int ledPin = 9;
int buttonState = 0;
Initialisieren Sie den Pin-Modus in setup().
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
Lesen Sie den Status des Buttons in loop() und weisen Sie ihn der Variablen buttonState zu. .. code-block:: arduino
buttonState = digitalRead(buttonPin);
Verwenden Sie die Bedingung, um zu beurteilen: Wenn Sie einen hohen Pegel von einer Taste erhalten, leuchten Sie die LED auf.
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
}
Andernfalls schalten Sie die LED aus.
else {
digitalWrite(ledPin, LOW);
}