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.1.1 Blinkende LED

Einführung

In diesem Projekt lernen wir, wie wir eine blinkende LED durch Programmierung steuern können. Mit Ihren Einstellungen kann Ihre LED eine Reihe von interessanten Effekten erzeugen. Jetzt geht’s los.

Benötigte Komponenten

Für dieses Projekt benötigen wir die folgenden Komponenten.

../_images/blinking_led_list1.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 einzeln über die folgenden Links kaufen.

KOMPONENTENBESCHREIBUNG

KAUF-LINK

GPIO Extension Board

KAUFEN

Steckbrett

KAUFEN

Jumper-Kabel

KAUFEN

Widerstand

KAUFEN

LED

KAUFEN

Schaltplan

In diesem Experiment verbinden Sie einen 220Ω Widerstand mit der Anode (dem langen Pin der LED), dann den Widerstand mit 3,3 V und verbinden die Kathode (den kurzen Pin) der LED mit GPIO17 des Raspberry Pi. Um eine LED einzuschalten, muss GPIO17 auf einen niedrigen Pegel (0V) gesetzt werden. Diesen Effekt erreichen wir durch Programmierung.

../_images/image481.png

Experimentelle Verfahren

Schritt 1: Bauen Sie den Schaltkreis.

../_images/image491.png

Schritt 2: Navigieren Sie zum Ordner mit dem Code.

cd ~/raphael-kit/nodejs/

Bemerkung

Wechseln Sie über cd zum Verzeichnis mit dem Code dieses Experiments.

Schritt 3: Führen Sie den Code aus.

sudo node blink.js

Bemerkung

Hier bedeutet sudo - Superuser-Rechte und node gibt an, die Datei mit Node.js auszuführen.

Nachdem der Code ausgeführt wurde, sehen Sie die LED blinken.

Schritt 4: Wenn Sie die Code-Datei blink.js bearbeiten möchten, drücken Sie Ctrl + C, um die Codeausführung zu stoppen. Geben Sie dann den folgenden Befehl ein, um blink.js zu öffnen:

nano blink.js

Bemerkung

nano ist ein Texteditor-Tool. Dieser Befehl wird verwendet, um die Code-Datei blink.js mit diesem Tool zu öffnen.

Drücken Sie Ctrl+X, um zu beenden. Wenn Sie den Code geändert haben, werden Sie gefragt, ob Sie die Änderungen speichern möchten oder nicht. Geben Sie Y (speichern) oder N (nicht speichern) ein.

Drücken Sie dann Enter zum Beenden. Geben Sie erneut nano blink.js ein, um den Effekt nach der Änderung zu sehen.

Code

Folgend finden Sie den Programmcode:

const Gpio = require('pigpio').Gpio;
const led = new Gpio(17,{mode: Gpio.OUTPUT});

var led_state = 0;

function blink_led(){
   led.digitalWrite(led_state);
   led_state = !led_state;
}

setInterval(blink_led,300);

Alternativ kann der Code als spezifischere JS-Pfeilfunktion geschrieben werden:

const Gpio = require('pigpio').Gpio;
const led = new Gpio(17,{mode: Gpio.OUTPUT});

var led_state = 0;

setInterval(() => {
   led.digitalWrite(led_state);
   led_state = !led_state;
}, 300);

Code-Erklärung

const Gpio = require('pigpio').Gpio;

Importieren Sie den Gpio-Konstruktor aus dem Paket pigpio auf diese Weise und definieren Sie dann eine Konstante Gpio, die diesen Konstruktor repräsentiert.

Mit einer Vielzahl von Konstruktoren können wir mit js elektronische Geräte steuern. pigpio kann verwendet werden, um schnelles GPIO, PWM, Servosteuerung, Statusänderungsbenachrichtigung und Interruptbehandlung zu implementieren.

const led = new Gpio(17,{mode: Gpio.OUTPUT});

Das Schlüsselwort new wird verwendet, um instanziierte Objekte der Klasse zu konstruieren.

Verbinden Sie die LED mit dem GPIO17 des T-förmigen Erweiterungsboards, setzen Sie den LedPin-Modus auf Ausgabe und weisen Sie ihm die Konstante led zu, das heißt, konstruieren Sie ein GPIO17-Objekt led, und sein Modus ist der Ausgabemodus.

Es gibt zwei Möglichkeiten, die IO-Pins auf dem Raspberry Pi zu nummerieren: BOARD-Nummer und BCM-Nummer. In unserem Projekt verwenden wir die BCM-Nummer. Jeder verwendete Kanal muss als Eingang oder Ausgang festgelegt werden.

function blink_led(){
   led.digitalWrite(led_state);
   led_state = !led_state;
}

setInterval(blink_led,300);

Die Methode setInterval() kann Funktionen aufrufen oder Ausdrücke mit einem festgelegten Zeitraum (in Millisekunden) berechnen. Hier ändern wir den Betriebszustand der LED mit einem Zeitraum von 300 ms.

Die Methode gpio.digitalWrite(level) setzt das GPIO-Level auf 1 oder 0.

var led_state = 0;

setInterval(() => {
   led.digitalWrite(led_state);
   led_state = !led_state;
}, 300);

Schreiben Sie den Code als Pfeilfunktion um, um den Code kürzer zu machen.

Phänomen-Bild

../_images/image541.jpeg