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.

../_images/list_2.1.1_Button.png

Es ist definitiv praktisch, ein ganzes Set zu kaufen, hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

Raphael Kit

337

Raphael Kit

Sie können sie auch separat über die untenstehenden Links kaufen.

KOMPONENTENBESCHREIBUNG

KAUF-LINK

GPIO Extension Board

KAUFEN

Steckbrett

KAUFEN

Jumper-Kabel

KAUFEN

Widerstand

KAUFEN

LED

KAUFEN

Taste

KAUFEN

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.

../_images/image302.png ../_images/image303.png

Experimentelle Verfahren

Schritt 1: Bauen Sie den Schaltkreis.

../_images/image152.png

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

../_images/image153.jpeg