Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!
2.5 - Tastenwert auslesen
Anhand der Bezeichnung GPIO (General-purpose input/output) lässt sich erkennen, dass diese Pins sowohl Eingabe- als auch Ausgabefunktionen haben. In den vorherigen Lektionen haben wir die Ausgabefunktion verwendet, in diesem Kapitel werden wir die Eingabefunktion nutzen, um den Wert der Taste auszulesen.
Benötigte Komponenten
Für dieses Projekt benötigen wir die folgenden Bauteile.
Ein komplettes Kit zu kaufen ist definitiv praktisch, hier ist der Link:
Bezeichnung |
ELEMENTE IN DIESEM KIT |
KAUF-LINK |
---|---|---|
Kepler-Kit |
450+ |
Die Teile können auch einzeln über die folgenden Links erworben werden.
SN |
KOMPONENTENBESCHREIBUNG |
ANZAHL |
KAUF-LINK |
---|---|---|---|
1 |
1 |
||
2 |
Micro-USB-Kabel |
1 |
|
3 |
1 |
||
4 |
Mehrere |
||
5 |
1(10KΩ) |
||
6 |
1 |
Schaltplan
Ein Anschluss des Tastenpins ist mit 3,3V verbunden, und der andere Anschluss ist mit GP14 verbunden. Wenn die Taste gedrückt wird, wird GP14 auf „High“ gesetzt. Ist die Taste jedoch nicht gedrückt, befindet sich GP14 in einem schwebenden Zustand und könnte sowohl „High“ als auch „Low“ sein. Um einen stabilen „Low“-Zustand zu erhalten, wenn die Taste nicht gedrückt ist, muss GP14 über einen 10K-Pull-down-Widerstand erneut mit GND verbunden werden.
Verkabelung
Bemerkung
Man kann den vierbeinigen Taster als H-förmigen Taster betrachten. Seine linken (rechten) beiden Beine sind miteinander verbunden, was bedeutet, dass er nach Überqueren der mittleren Trennlinie die beiden halben Reihen derselben Reihennummer verbindet. (Beispielsweise sind in meiner Schaltung E23 und F23 verbunden, ebenso wie E25 und F25).
Bevor die Taste gedrückt wird, sind die linke und rechte Seite voneinander unabhängig, und der Strom kann nicht von einer Seite zur anderen fließen.
Code
Bemerkung
Sie können die Datei
2.5_reading_button_value.ino
unter dem Pfadkepler-kit-main/arduino/2.5_reading_button_value
öffnen.Oder kopieren Sie diesen Code in die Arduino IDE.
Vergessen Sie nicht, die Platine (Raspberry Pi Pico) und den richtigen Port auszuwählen, bevor Sie auf die Schaltfläche Hochladen klicken.
Nachdem der Code ausgeführt wurde, klicken Sie auf das Lupensymbol in der oberen rechten Ecke der Arduino IDE (Serial Monitor).
Jetzt, wenn Sie den Knopf drücken, wird im Serial Monitor „Sie haben den Knopf gedrückt!“ angezeigt.
Wie funktioniert das?
Um den Serial Monitor zu aktivieren, müssen Sie die serielle Kommunikation in setup()
starten und die Datenrate auf 9600 einstellen.
Serial.begin(115200);
Für den Knopf müssen wir ihren Modus auf INPUT
setzen, um ihre Werte abrufen zu können.
pinMode(buttonPin, INPUT);
Lesen Sie den Status von buttonPin
in loop()
und weisen Sie ihn der Variablen buttonState
zu.
buttonState = digitalRead(buttonPin);
Wenn der buttonState
HIGH ist, wird die LED blinken.
Im Serial Monitor wird „You pressed the button!“ angezeigt.
if (buttonState == HIGH) {
Serial.println("You pressed the button!");
}
Pull-up Arbeitsmodus
Als nächstes folgt die Verdrahtung und der Code, wenn der Knopf im Pull-up-Arbeitsmodus ist, probieren Sie es bitte aus.
Der einzige Unterschied, den Sie im Vergleich zum Pull-down-Modus sehen werden, ist, dass der 10K-Widerstand mit 3,3V verbunden ist und der Knopf mit GND verbunden ist. Wenn der Knopf also gedrückt wird, erhält GP14 ein niedriges Signal, was das Gegenteil des im Pull-down-Modus erhaltenen Wertes ist.
Ändern Sie diesen Code also zu if (buttonState == LOW)
.