Note
Bonjour, bienvenue dans la communauté des passionnés de SunFounder Raspberry Pi, Arduino et ESP32 sur Facebook ! Plongez dans l’univers du Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.
Pourquoi nous 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 avant-premières.
Réductions exclusives : Profitez de réductions exclusives sur nos produits les plus récents.
Promotions festives et cadeaux : Participez à des concours et des promotions festives.
👉 Prêt à explorer et créer avec nous ? Cliquez sur [Ici] et rejoignez-nous dès aujourd’hui !
HueDial
Cet exemple contrôle la couleur d’une LED RVB en fonction de la position d’un bouton rotatif. Différentes positions du bouton correspondent à différentes valeurs de TEINTE, qui sont ensuite traduites en valeurs de couleur RVB, entraînant un changement de couleur pour la LED RVB.
Composants nécessaires
Dans ce projet, nous avons besoin des composants suivants.
Il est certainement pratique d’acheter un kit complet, voici le lien :
Nom |
ARTICLES DANS CE KIT |
LIEN |
---|---|---|
Elite Explorer Kit |
300+ |
Vous pouvez également les acheter séparément à partir des liens ci-dessous.
INTRODUCTION DES COMPOSANTS |
LIEN D’ACHAT |
---|---|
- |
|
potentiometer |
Câblage
Schéma
Code
Note
Vous pouvez ouvrir le fichier
03_huedial.ino
sous le cheminelite-explorer-kit-main\fun_project\03_huedial
directement.Ou copiez ce code dans l’IDE Arduino.
Comment ça marche ?
Voici une explication détaillée du code :
Définition des variables globales :
redPin
,greenPin
etbluePin
: Ces variables définissent les broches PWM connectées respectivement aux LEDs rouges, vertes et bleues.KNOB_PIN
: Définit la broche d’entrée analogique connectée au bouton rotatif.setup()
:Configurez les broches pour la LED RVB en sortie. Par défaut, les broches analogiques sont configurées en entrée, il n’est donc pas nécessaire de définir le mode d’entrée pour la broche du bouton.
loop()
:Lisez la valeur du bouton rotatif. Cette valeur varie de 0 à 1023. Normalisez la valeur du bouton à une plage de 0 à 1. Convertissez la valeur normalisée en une valeur de TEINTE allant de 0 à 360. Convertissez la valeur de TEINTE en valeurs RVB. Mettez à jour la couleur de la LED en utilisant ces valeurs RVB.
setColor()
:Définissez les valeurs PWM appropriées pour chaque broche de LED en utilisant la fonction
analogWrite()
pour définir la couleur de la LED RVB.HUEtoRGB()
:Cette fonction convertit les valeurs de TEINTE en valeurs RVB en utilisant la méthode de conversion HSL en RVB, mais se concentre uniquement sur le composant TEINTE, en gardant la saturation et la luminosité à 100%. L’algorithme est divisé en 6 étapes, chacune couvrant 60 degrés. Il calcule les valeurs RVB pour chaque étape de TEINTE, puis les échelonne à une plage de 0-255, qui est la plage attendue pour la fonction
analogWrite()
.