Note
Bonjour et bienvenue dans la Communauté Facebook des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder ! Plongez plus profondément dans l’univers des Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.
Pourquoi rejoindre ?
Support d’experts : Résolvez les problèmes après-vente et les défis techniques avec l’aide de notre communauté et de notre équipe.
Apprendre et partager : Échangez des astuces et des tutoriels pour améliorer vos compétences.
Aperçus exclusifs : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus.
Réductions spéciales : Profitez de réductions exclusives sur nos produits les plus récents.
Promotions festives et cadeaux : Participez à des cadeaux et des promotions de vacances.
👉 Prêt à explorer et à créer avec nous ? Cliquez [Ici] et rejoignez-nous aujourd’hui !
1.1.2 LED RGB
Introduction
Dans ce projet, nous allons contrôler une LED RGB pour qu’elle clignote en diverses couleurs.
Composants Nécessaires
Dans ce projet, nous aurons besoin des composants suivants :
Il est certainement pratique d’acheter un kit complet, voici le lien :
Nom |
ARTICLES DANS CE KIT |
LIEN |
|---|---|---|
Kit Raphael |
337 |
Vous pouvez également les acheter séparément via les liens ci-dessous.
INTRODUCTION DES COMPOSANTS |
LIEN D’ACHAT |
|---|---|
Schéma de Câblage
Après avoir connecté les broches R, G et B à une résistance de limitation de courant, connectez-les respectivement aux GPIO17, GPIO18 et GPIO27. La broche la plus longue (GND) de la LED se connecte au GND du Raspberry Pi. Lorsque les trois broches reçoivent différentes valeurs PWM, la LED RGB affichera différentes couleurs.
Procédures Expérimentales
Étape 1: Construire le circuit.
Étape 2: Aller dans le dossier du code.
cd ~/raphael-kit/nodejs/
Étape 3: Exécuter le code.
sudo node rgb_led.js
Après l’exécution du code, vous verrez que la LED RGB affiche les couleurs rouge, vert, bleu, jaune, rose et cyan.
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);
Explication du Code
const ledred = new Gpio(17,{mode: Gpio.OUTPUT});
const ledgreen = new Gpio(18,{mode: Gpio.OUTPUT});
const ledblue = new Gpio(27,{mode: Gpio.OUTPUT});
Initialiser les broches 17, 18 et 27 en mode sortie, et les assigner respectivement aux constantes ledred, ledgreen et ledblue.
function colorset(r,g,b){
ledred.pwmWrite(r);
ledgreen.pwmWrite(g);
ledblue.pwmWrite(b);
}
Implémenter une fonction colorset(r,g,b), qui est utilisée pour écrire des valeurs de pulsation sur les broches 17, 18 et 27. La bibliothèque Gpio encapsule la fonction pwmWrite() pour écrire des valeurs de pulsation sur les broches, dont les valeurs vont de 0x00 à 0xff. Ensuite, vous pouvez écrire les valeurs RGB dans la LED RGB via la fonction colorset(r,g,b), afin qu’elle puisse afficher une variété de couleurs.
Note
Pour des questions sur le RGB, veuillez consulter le site : 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);
La LED RGB est contrôlée par colorset() exécutée toutes les 500ms.
Un switch case est utilisé ici pour sélectionner la couleur émise par les LEDs RGB.
Comme color_index est changé de un à chaque cycle, la couleur de cette LED RGB changera en ordre.
Image du Phénomène