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!
1.4 Digitales Lesen¶
Überblick¶
Sie können den Befehl digitalRead() verwenden, um den Pegelstatus von einem digitalen Pin zu lesen. Der Befehl eignet sich für digitale Eingabeelemente wie Button, Berührungssensor, Infrarot-Bewegungssensor usw. Dieser Artikel nimmt Button als Beispiel, um den Füllstandsstatus zu lesen.
Dieses Beispiel zeigt Ihnen auch, wie Sie den Status eines Schalters überwachen, indem Sie USB verwenden, um eine serielle Kommunikation zwischen einer Steuerplatine und einem Computer herzustellen.
Erforderliche Komponenten¶
Fritzing-Schaltung¶
In diesem Beispiel lesen wir das Signal der Taste mit dem digitalen Pin 2. Wenn die Taste nicht gedrückt wird, wird der digitale Pin 2 (über den Vorwiderstand) mit Masse verbunden, um den niedrigen Pegel (0) zu lesen; Wenn der Taster gedrückt wird, werden die beiden Pins verbunden und wenn der Pin mit der 5-V-Stromversorgung verbunden ist, wird der hohe Pegel (1) gelesen.
Bemerkung
Wenn Sie den digitalen I/O-Pin von allem trennen, kann die LED unregelmäßig blinken. Dies liegt daran, dass der Eingang „schwebend“ ist – das heißt, er hat keine feste Verbindung zu Spannung oder Masse und gibt zufällig entweder HIGH oder LOW zurück. Aus diesem Grund benötigen Sie einen Pulldown-Widerstand in der Schaltung.
Schematische Darstellung¶
Code¶
Bemerkung
Sie können die Datei
1.4_digitalRead.ino
unter dem Pfadsunfounder_vincent_kit_for_arduino\code\1.4_digitalRead
direkt öffnen.Oder kopieren Sie diesen Code in Arduino IDE.
Nach dem Hochladen des Codes auf die Mega2560-Platine können wir den Serial Port Monitor öffnen, um den Lesewert des Pins zu sehen. Wenn Sie die Taste drücken, zeigt der Monitor des seriellen Anschlusses 「1」 an und wenn die Taste losgelassen wird, wird 「0」 angezeigt.
Code-Analyse¶
Starten Sie die serielle Kommunikation in setup()
und stellen Sie die Datenrate auf 9600 ein.
Serial.begin(9600);
Sie müssen auch den Status des digitalen Pins 2 auf INPUT setzen, um den Ausgangsstatus von Button zu lesen.
pinMode(2, INPUT);
Verwenden Sie die Anweisung digitalRead()
in loop()
, um den Pegelzustand des digitalen Pins 2 zu lesen und eine Variable zum Speichern des Zustands zu deklarieren.
int buttonState = digitalRead(2);
Drucken Sie den von der Variablen gespeicherten Wert auf dem Monitor der seriellen Schnittstelle.
Serial.println(buttonState);
Verwenden Sie delay()
-Anweisungen, um die Druckergebnisse einfach zu beobachten.
delay(1);
※ So aktivieren Sie den Serial Port Monitor¶
Klicken Sie auf das Lupensymbol oben rechts im Programmierfenster der Arduino IDE, um den Serial Monitor zu öffnen.