PotentiometreControlsLed.ino
Aller à la navigation
Aller à la recherche
/* * varaition of sparkfun's inventor's kit CIRC-09 * knob (potentiometer) and light * A simple programme that will change the intensity of * an LED based * on the degree of twist of * a potentiometer * on règle l'intensité d'une DEL à l'aide d'un potentiomètre * tested April 13, 2012 * @atelierpdf.com */ /* circuit; * DEL entre fiche 9 (PWR) et GND * potentiomètre: électrode centrale sur PIN A0 (analogique) * 5v sur un bord * GND sur l'autre * Note: la répartition gauche droite des fiche + et - * inverse les valeurs émises par le pot */ // la fiche du pot int lightPin = 0; //la fiche analogique du pot // émet des valeurs non normalisées // fiche de la DEL int ledPin = 9; //la fiche choisie fonctionne en PWM // pulse width modulation pin void setup() { pinMode(ledPin, OUTPUT); //la fiche en sortie // // debugging // Serial.begin(9600); // initialisation du moniteur seriel à 9600 bauds } void loop() { int lightLevel = analogRead(lightPin); // lecture des valeurs retournées par le pot lightLevel = map(lightLevel, 0, 1023, 0, 255); //on normalise les valeurs de 0 à 1023 // en 0 à 255 // on s'assure que les valeurs seront bien entre 0 et 255 lightLevel = constrain(lightLevel, 0, 255);// on s'assure que les valeurs seront bien analogWrite(ledPin, lightLevel); //on allume la DEL avec la valeur obtenu // // debugging // Serial.println(lightLevel); // écriture de cette valeur dans le moniteur sériel }