Potentiomètre

De Wiki L.A.B
Révision de 8 décembre 2015 à 20:03 par Adminsys (discussion | contributions) (Page créée avec « ===== Matériel ===== * Arduino Uno * Plaque d'essai (breadbord) * LED RGB à cathodes communes * 3 Résistances 1/4W 270Ω ( 220Ω ou 330Ω peuvent également convenir) *... »)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher
Matériel
  • Arduino Uno
  • Plaque d'essai (breadbord)
  • LED RGB à cathodes communes
  • 3 Résistances 1/4W 270Ω ( 220Ω ou 330Ω peuvent également convenir)
  • Potentiomètre (typiquement de 10 à 100kΩ)
  • Straps ou fils de liaison
Montage

Montage LED RGB avec potentiomètre Montage LED RGB avec potentiomètre

Programme


Voici le programme qu'il faut éditer dans l'IDE Arduino, puis compiler et charger dans la carte Arduino

/*
  Ce programme allume la LED rouge sur une LED RGB cathodes communes branchée sur les
   broches 3,5 et 6  en fonction de la position du potentiomètre,
   les valeurs sont affichées dans le moniteur série
*/

int ledR = 3; // broche de la LED Rouge
int ledG = 5; // broche de la LED Verte
int ledB = 6; // broche de la LED Bleue
int pot = A0; // broche du potentionmètre
int mes =0; // variable mesurée : potentionmètre

void setup() // setup est déroulé une seule fois après la remise à zéro
{                
  pinMode(ledR, OUTPUT); // la broche led (3) est initialisée en sortie    
  pinMode(ledG, OUTPUT); // la broche led (5) est initialisée en sortie
  pinMode(ledB, OUTPUT); // la broche led (6) est initialisée en sortie
  Serial.begin(115200); // initialisation de la liaison série à 115200 bauds  
}
void loop() // loop est déroulé indéfiniment
{
  digitalWrite(ledG,0); // LED G éteinte
  digitalWrite(ledB,0); // LED B éteinte
  mes = analogRead(pot); // mesure de la postion du potentiomètre
  Serial.print("mesure  = "); // affiche mesure =  sans saut de ligne
  Serial.println(mes); // affiche valeur mesuree avec saut de ligne
  mes = map (mes,0,1023,0,255); // péréquation de la valeur mesurée avec une valeur pour la LED R
  analogWrite(ledR,mes); // génère une impulsion sur la broche de largeur mes => la luminosité R=f(mes)
  Serial.print("mesure mappee = "); // affiche mesure mappee =  sans saut de ligne
  Serial.println (mes); // affiche valeur mesuree et mappee
  delay(200); // attente pour lecture dans le moniteur serie
}