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.2 RGB LED
Einführung
In diesem Projekt werden wir eine RGB-LED steuern, um verschiedene Farben blinken zu lassen.
Benötigte Komponenten
Für dieses Projekt benötigen wir die folgenden Komponenten.
Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:
Name |
ARTIKEL IN DIESEM KIT |
LINK |
|---|---|---|
Raphael Kit |
337 |
Sie können sie auch einzeln über die untenstehenden Links kaufen.
KOMPONENTENVORSTELLUNG |
KAUF-LINK |
|---|---|
Schaltplan
Nachdem die Pins von R, G und B mit einem strombegrenzenden Widerstand verbunden sind, schließen Sie sie jeweils an die GPIO17, GPIO18 und GPIO27 an. Der längste Pin (GND) der LED wird mit dem GND des Raspberry Pi verbunden. Wenn den drei Pins unterschiedliche PWM-Werte gegeben werden, zeigt die RGB-LED verschiedene Farben an.
Experimentelle Verfahren
Schritt 1: Bauen Sie den Schaltkreis.
Schritt 2: Gehen Sie zum Ordner des Codes.
cd ~/raphael-kit/nodejs/
Schritt 3: Starten Sie den Code.
sudo node rgb_led.js
Nachdem der Code ausgeführt wurde, werden Sie sehen, dass die RGB-LED rot, grün, blau, gelb, rosa und cyan anzeigt.
Code
const Gpio = require('pigpio').Gpio;
const ledred = new Gpio(17, { mode: Gpio.OUTPUT });
const ledgreen = new Gpio(18, { mode: Gpio.OUTPUT });
const ledblue = new Gpio(27, { mode: Gpio.OUTPUT });
function colorset(r, g, b) {
ledred.pwmWrite(r);
ledgreen.pwmWrite(g);
ledblue.pwmWrite(b);
}
var color_index = -1;
setInterval(() => {
color_index += 1;
switch (color_index) {
case 0:
colorset(0xff, 0x00, 0xFF);
break;
case 1:
colorset(0x00, 0xff, 0x00);
break;
case 2:
colorset(0x00, 0x00, 0xff);
break;
case 3:
colorset(0xff, 0xff, 0x00);
break;
case 4:
colorset(0xff, 0x00, 0xff);
break;
case 5:
colorset(0xc0, 0xff, 0x3e);
break;
default:
color_index=-1;
}
}, 500);
Code-Erklärung
const ledred = new Gpio(17,{mode: Gpio.OUTPUT});
const ledgreen = new Gpio(18,{mode: Gpio.OUTPUT});
const ledblue = new Gpio(27,{mode: Gpio.OUTPUT});
Initialisieren Sie die Pins 17, 18 und 27 im Ausgabemodus und weisen Sie sie den Konstanten ledred, ledgreen und ledblue zu.
function colorset(r,g,b){
ledred.pwmWrite(r);
ledgreen.pwmWrite(g);
ledblue.pwmWrite(b);
}
Implementieren Sie eine colorset(r,g,b) Funktion, die dazu dient, Puls-Werte an die Pins 17, 18 und 27 zu schreiben. Die Gpio-Bibliothek kapselt die Funktion pwmWrite() ein, um Puls-Werte an Pins zu schreiben. Der Wert reicht von 0x00 bis 0xff. Mit der Funktion colorset(r,g,b) können Sie dann RGB-Werte an die RGB-LED schreiben, sodass sie verschiedene Farben anzeigen kann.
Bemerkung
Bei Fragen zu RGB verweisen wir auf die Webseite: https://www.rapidtables.com/web/color/RGB_Color.html
var color_index = -1;
setInterval(() => {
color_index += 1;
switch (color_index) {
case 0:
colorset(0xff, 0x00, 0xFF);
break;
case 1:
colorset(0x00, 0xff, 0x00);
break;
case 2:
colorset(0x00, 0x00, 0xff);
break;
case 3:
colorset(0xff, 0xff, 0x00);
break;
case 4:
colorset(0xff, 0x00, 0xff);
break;
case 5:
colorset(0xc0, 0xff, 0x3e);
break;
default:
color_index=-1;
}
}, 500);
Die RGB-LED wird durch colorset() gesteuert, das alle 500ms ausgeführt wird.
Hier wird ein Switch-Case verwendet, um die von den RGB-LEDs ausgestrahlte Farbe auszuwählen.
Da color_index in jedem Zyklus um eins geändert wird, ändert sich die Farbe dieser RGB-LED in der Reihenfolge.
Phänomen-Bild