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!
Lektion 28: RGB LED Modul
In dieser Lektion lernen Sie, wie Sie eine RGB-LED mit einem ESP32-Entwicklungsboard steuern. Wir werden die Nutzung verschiedener Farbkanäle zur Anzeige von Primärfarben und die Erstellung einer Sequenz von Regenbogenfarben behandeln. Dieses Projekt ist ideal für Anfänger in Elektronik und Programmierung und bietet praktische Erfahrungen mit Ausgabefunktionen und Farbmischung unter Verwendung des ESP32 und des RGB-LED-Moduls.
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 |
ITEMS IN THIS KIT |
LINK |
|---|---|---|
Universal Maker Sensor Kit |
94 |
Sie können sie auch einzeln über die unten stehenden Links kaufen.
Component Introduction |
Purchase Link |
|---|---|
ESP32 & Development Board |
|
- |
|
Verdrahtung
Code
Code-Analyse
Der erste Abschnitt des Codes deklariert und initialisiert die Pins, an die jeder Farbkanal des RGB-LED-Moduls angeschlossen ist.
const int rledPin = 25; // pin connected to the red color channel const int gledPin = 26; // pin connected to the green color channel const int bledPin = 27; // pin connected to the blue color channel
The
setup()function initializes these pins as OUTPUT. This means we are sending signals OUT from these pins to the RGB LED module.void setup() { pinMode(rledPin, OUTPUT); pinMode(gledPin, OUTPUT); pinMode(bledPin, OUTPUT); }
In der
loop()-Funktion wird diesetColor()-Funktion mit verschiedenen Parametern aufgerufen, um verschiedene Farben anzuzeigen. Diedelay()-Funktion wird nach dem Setzen jeder Farbe verwendet, um eine Pause von 1000 Millisekunden (oder 1 Sekunde) einzulegen, bevor zur nächsten Farbe übergegangen wird.void loop() { setColor(255, 0, 0); // Set RGB LED color to red delay(1000); setColor(0, 255, 0); // Set RGB LED color to green delay(1000); // The rest of the color sequence... }
Die
setColor()-Funktion verwendet dieanalogWrite()-Funktion, um die Helligkeit jedes Farbkanals des RGB-LED-Moduls anzupassen. DieanalogWrite()-Funktion verwendet Pulsweitenmodulation (PWM), um unterschiedliche Spannungsausgaben zu simulieren. Durch Steuerung des PWM-Duty-Cycles (der prozentuale Anteil der Zeit, in der ein Signal innerhalb einer festen Periode HIGH ist) kann die Helligkeit jedes Farbkanals gesteuert werden, was die Mischung verschiedener Farben ermöglicht.void setColor(int R, int G, int B) { analogWrite(rledPin, R); // Use PWM to control the brightness of the red color channel analogWrite(gledPin, G); // Use PWM to control the brightness of the green color channel analogWrite(bledPin, B); // Use PWM to control the brightness of the blue color channel }