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.1.1 Schalter
Einführung
In diesem Projekt lernen wir, wie man eine LED mit einem Schalter ein- oder ausschaltet.
Benötigte Komponenten
Für dieses Projekt benötigen wir die folgenden Komponenten.
Es ist definitiv praktisch, ein ganzes Set zu kaufen, hier ist der Link:
Name |
ARTIKEL IN DIESEM KIT |
LINK |
|---|---|---|
Raphael Kit |
337 |
Sie können sie auch separat über die untenstehenden Links kaufen.
KOMPONENTENBESCHREIBUNG |
KAUF-LINK |
|---|---|
Schaltplan
Verwenden Sie einen normalerweise offenen Schalter als Eingang des Raspberry Pi. Die Verbindung ist im untenstehenden Schaltplan dargestellt. Wenn der Schalter gedrückt wird, wechselt der GPIO18 in den Niedrigzustand (0V). Über die Programmierung können wir den Zustand des GPIO18 erkennen. Das heißt, wenn der GPIO18 in den Niedrigzustand wechselt, bedeutet dies, dass der Schalter gedrückt wurde. Sie können den entsprechenden Code ausführen, wenn der Schalter gedrückt wird, und dann wird die LED leuchten.
Bemerkung
Der längere Pin der LED ist die Anode und der kürzere ist die Kathode.
Experimentelle Verfahren
Schritt 1: Bauen Sie den Schaltkreis.
Schritt 2: Navigieren Sie zum Ordner des Codes.
cd ~/raphael-kit/nodejs/
Schritt 3: Führen Sie den Code aus.
sudo node button.js
Jetzt drücken Sie den Schalter, und die LED leuchtet auf. Lassen Sie den Schalter los, und die LED erlischt.
Code
const Gpio = require('pigpio').Gpio;
const led = new Gpio(17, {mode: Gpio.OUTPUT});
const button = new Gpio(18, {
mode: Gpio.INPUT,
pullUpDown: Gpio.PUD_DOWN,
edge: Gpio.EITHER_EDGE
});
button.on('interrupt', (level) => {
led.digitalWrite(level);
});
Code-Erklärung
const Gpio = require('pigpio').Gpio;
const led = new Gpio(17, {mode: Gpio.OUTPUT});
Importieren Sie das pigpio Modul, erstellen Sie ein led Objekt, um den IO-Port Gpio17 zu steuern, und setzen Sie ihn in den Ausgabemodus.
const button = new Gpio(18, {
mode: Gpio.INPUT,
pullUpDown: Gpio.PUD_DOWN,
edge: Gpio.EITHER_EDGE
});
Erstellen Sie ein Schalter-Objekt, um den IO-Port Gpio18 zu steuern, setzen Sie ihn in den Eingabemodus, setzen Sie den Pull-down-Widerstand (niedrig, wenn der Schalter nicht gedrückt ist, hoch, wenn der Schalter gedrückt ist). Und setzen Sie die Interrupt-Funktion, der Modus ist EITHER_EDGE, d.h. sowohl steigende als auch fallende Flanken lösen die Interrupt-Funktion aus.
button.on('interrupt', (level) => {
led.digitalWrite(level);
});
Schreiben Sie eine Interrupt-Funktion: Wenn der Schalter gedrückt wird, handelt es sich um eine fallende Flanke, die die Interrupt-Funktion auslöst. Zu diesem Zeitpunkt wird das niedrige Level des Schalter-IO-Ports auf den IO-Port der LED geschrieben, und die LED leuchtet auf.
Beim Loslassen des Schalters handelt es sich um eine steigende Flanke, die die Interrupt-Funktion auslöst. Zu diesem Zeitpunkt wird das hohe Level des Schalter-IO-Ports auf den IO-Port der LED geschrieben, und die LED erlischt.
Phänomen-Bild