ARDX-Montages-CIRC12
En cours de traduction/élaboration. |
Ce que faisons nous
.: Lumière colorée :.
.: LED RGB :.
Nous avons fait clignoter une LED et aussi contrôlé une séquence de huit LEDs. Maintenant, il est temps d'en contrôler la couleur.
En utilisant une LED RGB (Red Green Blue ou RVB pour Rouge Vert Bleu) qui est en fait 3 LEDs dans un seul boîtier, nous pouvons générer n'importe laquelle des couleurs que vous souhaitez. Nous y arrivons en faisant un mélange de couleur.
Ce qui nécessite de faire un petit retour en arrière sur nos premiers cours d'éducation artistique, ces jours durant lesquels nous expérimentions les mélanges de couleurs à partir de feuilles de cellophane colorées.
Pas de panique si vous ne vous en souvenez pas, vous trouverez ci-joint une roue des couleurs pour vous aider.
Le montage
Le matériel nécessaire
2 Pin header
x4
Résistance de 560 Ohms (vert-bleu-brun)
x1
LED RGB
x1
Schéma
Montage
Le code
Pas besoin de saisir tout le code, vous pouvez le télécharger depuis ardx.org/CODE12A.
Il ne restera plus qu'à en faire un copier/coller dans un croquis vide.
// --- Broches de la LED --- //les 3 broches digitales des LEDs colorées //9 = pin rouge, 10 = pin verte, 11 = pin bleue int ledDigitalOne[] = {9, 10, 11}; //Définir ON (actif) comme LOW (parce que nous utilisons une LED RGB a anode commune // (la broche commune connectée au +5 volts) const boolean ON = LOW; //Definir OFF (éteint) comme HIGH const boolean OFF = HIGH; // *** Couleurs prédéfinies *** const boolean RED[] = {ON, OFF, OFF}; // rouge const boolean GREEN[] = {OFF, ON, OFF}; // vert const boolean BLUE[] = {OFF, OFF, ON}; // bleu const boolean YELLOW[] = {ON, ON, OFF}; // jaune const boolean CYAN[] = {OFF, ON, ON}; // cyan const boolean MAGENTA[]= {ON, OFF, ON}; // magenta const boolean WHITE[] = {ON, ON, ON}; // blanc const boolean BLACK[] = {OFF, OFF, OFF};// noir //Définir un tableau stockant les couleurs prédéfinies // Cela nous permettra par la suite d'afficher des couleurs aléatoires const boolean* COLORS[] = {RED, GREEN, BLUE,YELLOW, CYAN, MAGENTA, WHITE, BLACK}; void setup(){ //déclare les 3 pins de la LED comme OUTPUT for(int i = 0; i < 3; i++){ pinMode(ledDigitalOne[i], OUTPUT); } } void loop(){ // initialiser la couleur de la LED setColor(ledDigitalOne, CYAN); //randomColor() } void randomColor(){ //prendre un nombre aléatoire (dans l'étendue des couleurs disponibles - soit le tableau 'colors') int rand = random(0, sizeof(COLORS) / 2); // initialiser la couleur de la LED à la // couleur choisie aléatoirement setColor(ledDigitalOne, COLORS[rand]); delay(1000); // attendre 1 seconde } /* Initialiser la LED à une couleur donnée led - un tableau à trois éléments... un élément par broches (led[0] = brocheRouge, led[1] = brocheVerte, led[2] = brocheBleue) color - Un tableau de trois éléments booléen. color[0] = valeur pour Rouge (LOW = allumé, HIGH = éteind), color[1] = valeur pour Vert, color[2] = valeur pour bleu. */ void setColor(int* led, boolean* color){ for(int i = 0; i < 3; i++){ digitalWrite(led[i], color[i]); } } /* Une version de setColor permettant d'utiliser des couleurs codées avec des contantes booléenne (''const boolean colors'') */ void setColor(int* led, const boolean* color){ boolean tempColor[] = {color[0], color[1], color[2]}; setColor(led, tempColor); }
Cela ne fonctionne pas?
Voici 3 choses à essayer.
xxx 1
yyyy
xxx 2
yyyy
xxx 3
yyyy
Faire encore mieux
zzz 1
zzzz
Plus, plus et encore plus
Plus d'information, où poser vos autres questions:
ardx.org/CIRC12 (anglais)
Internet
.:téléchargement:.
LA fiche de montage est disponible sur ardx.org/BBLS12A
.: Vidéo :.
La vidéo du montage est disponible sur ardx.org/VIDE12 (anglais)
Tutoriel/Manuel traduit par Meurisse D. pour MCHobby.be licence Creative Commons BY-SA.
Crédit de traduction
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant :
« Traduction par MCHobby (shop.MCHobby.be) - Vente de kit et composants » et ce quelque soit le média utilisé.
Utilisation commerciale
L'utilisation commercial de cette traduction (y compris sur site produisant des revenus par l'intermédiaire de publicité), même partielle, est soumise à redevance (license fee).
Le présent manuel a été traduit et autorisé à la vente avec l'aimable autorisation conjointe de Oomlout (www.oomlout.com) et d'AdaFruit (www.adafruit.com).
Produit sous licence Creative Commons BY-SA License and available for download: ardx.org/src/