SIK Experiment Guide for the Arduino 101/Genuino 101 Board (French)

This Tutorial is Retired!

This tutorial covers concepts or technologies that are no longer current. It's still here for you to read and enjoy, but may not be as useful as our newest tutorials.

Pages
Contributors: D___Run___
Favorited Favorite 0

Expérience 8 : Mélanger des couleurs avec la LED RVB

Introduction

Dans ce circuit, vous allez travailler avec trois potentiomètres (vous n'en avez utilisé qu'un seul dans l'expérience 1). Pourquoi trois ? Parce que chaque potentiomètre vous permettra de contrôler la luminosité des trois couleurs (Rouge, Vert et Bleu) d'une LED RVB pour créer des couleurs plus intéressantes que les couleurs de base de l'expérience 3.

Sortez votre pinceau et préparez-vous à peindre les couleurs de l'arc-en-ciel !

Vous aurez besoin des composants suivants :

  • 1 plaque Breadboard
  • 1 carte Arduino 101 ou Genuino 101
  • 1 LED RVB à cathode commune
  • 3 résistances 100 Ω
  • 15 cavaliers
  • 3 potentiomètres

Vous n'avez pas le SIK ?

Pour réaliser cette expérience sans le SIK, nous vous suggérons d'utiliser les composants suivants :

Trimpot 10K Ohm with Knob

Trimpot 10K Ohm with Knob

COM-09806
$1.05
6
Breadboard - Self-Adhesive (White)

Breadboard - Self-Adhesive (White)

PRT-12002
$5.50
48
Jumper Wires - Connected 6" (M/M, 20 pack)

Jumper Wires - Connected 6" (M/M, 20 pack)

PRT-12795
$2.10
2
LED - RGB Clear Common Cathode

LED - RGB Clear Common Cathode

COM-00105
$2.25
3

Resistor 100 Ohm 1/4th Watt PTH - 20 pack

COM-13761
Retired

Vous aurez également besoin d'une carte Arduino 101 ou Genuino 101.

Arduino 101

DEV-13787
9 Retired

Genuino 101

DEV-13984
Retired

Lectures suggérées

Avant de poursuivre cette expérience, nous vous recommandons de vous familiariser avec les concepts des tutoriels suivants :

Branchement du matériel

Vous êtes prêt à tout raccorder ? Consultez le schéma de câblage et les photos ci-dessous pour savoir comment faire.

Faites particulièrement attention aux marquages indiquant comment placer les composants sur la plaque breadboard, car les composants polarisés ne peuvent être connectés à un circuit que dans une direction. Ces composants sont signalés par un triangle d'avertissement jaune.

Schéma de câblage de l'expérience

alt text

Pour agrandir le circuit, cliquez sur le schéma.

Ouverture du sketch

Ouvrez l'EDI Arduino sur votre ordinateur. Le codage en langage Arduino contrôlera votre circuit. Ouvrez le code du Circuit 8 en accédant au « Code du guide SIK » que vous avez précédemment téléchargé et placé dans votre dossier « Examples ».

Pour ouvrir le code, cliquez sur : File > Examples > SIK Guide Code > Circuit_08

** Copiez et collez le code suivant dans l'EDI Arduino. Cliquez sur Télécharger et observez ce qu'il se passe. **

language:cpp
/* SparkFun Inventor's Kit
Example sketch 08

POTENTIOMETER

  Measure the position of each potentiometer and map it to
  the red, green and blue values! Then write those values to the RGB LED.

This sketch was written by SparkFun Electronics,
with lots of help from the Arduino community.
This code is completely free for any use.
Visit http://learn.sparkfun.com/products/2 for SIK information.
Visit http://www.arduino.cc to learn more about Arduino.
*/

//create constants for the three analog input pins
const int redPot = 0;
const int greenPot = 1;
const int bluePot = 2;

//create constants for the three RGB pulse width pins
const int redPin = 5;
const int greenPin = 6;
const int bluePin = 9;

//create variables to store the red, green and blue values
int redVal;
int greenVal;
int blueVal;

void setup()
{
  //set the RGB pins as outputs
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
}

void loop()
{
  //read the three analog input pins and store their value to the color variables
  redVal = analogRead(redPot);
  greenVal = analogRead(greenPot);
  blueVal = analogRead(bluePot);

  //use the map() function to scale the 10 bit (0-1023) analog input value to an 8 bit
  //(0-255) PWM, or analogWrite() signal. Then store the new mapped value back in the
  //color variable

  redVal = map(redVal, 0, 1023, 0, 255);
  greenVal = map(greenVal, 0, 1023, 0, 255);
  blueVal = map(blueVal, 0, 1023, 0, 255);

  // use the analogWrite() function to write the color values to their respective
  // RGB pins.
  analogWrite(redPin, redVal);
  analogWrite(greenPin, greenVal);
  analogWrite(bluePin, blueVal);
}

À propos du code

analogWrite(6,233); La fonction analogWrite sert à contrôler la PWM sur les broches 9, 6, 5 et 3 de la carte 101. Vous pouvez indiquer une valeur comprise entre 0 et 255, 255 indiquant totalement allumé et 0 totalement éteint.

lightLevel = map(lightLevel, 0, 1023, 0, 255);

Paramètres

map(value, fromLow, fromHigh, toLow, toHigh)

value : nombre à ré-étalonner

fromLow : limite inférieure de la fourchette actuelle de la valeur

fromHigh : limite supérieure de la fourchette actuelle de la valeur

toLow : limite inférieure de la fourchette cible de la valeur

toHigh : limite supérieure de la fourchette cible de la valeur

Si nous lisons un signal analogique en utilisant analogRead(), la valeur est comprise entre 0 et 1023. En revanche, si nous voulons piloter une broche PWM avec analogWrite(), la valeur doit être comprise entre 0 et 255. Il est possible de diminuer la fourchette en utilisant la fonction map(). Consultez la page de référence de la fonction map d'Arduino pour en savoir plus.

Ce que vous devez voir

La LED RVB doit changer de couleur quand vous tournez le bouton des trois potentiomètres. Chaque potentiomètre contrôle une couleur spécifique (rouge, vert et bleu). Lorsque tous les potentiomètres sont tournés jusqu'à la valeur maximale, la LED RVB doit émettre une lumière blanche. Lorsqu'ils sont tous éteints, la LED RVB doit être complètement éteinte. Dans le cas contraire, consultez la section Dépannage ci-dessous.

alt text

Dépannage

Fonctionne sporadiquement

Ce problème est probablement dû à une broche légèrement mal connectée sur les potentiomètres. Tenez le potentiomètre vers le bas ou placez le circuit du potentiomètre ailleurs sur la plaque breadboard.

Ne fonctionne pas

Vérifiez que vous n'avez pas accidentellement connecté la broche centrale, c'est-à-dire l'élément résistif du potentiomètre, à la broche numérique 0 au lieu de la broche analogique 0 (rangée de broches sous les broches d'alimentation).

La LED ne s'allume pas ?

Les LED ne fonctionnent que dans une seule direction. Vérifiez vos connexions.