Arduino - Atténuation d'une LED par potentiomètre

Dans un tutoriel précédent, nous avons appris comment un potentiomètre déclenche une LED. Dans ce tutoriel, nous allons apprendre à modifier la luminosité d'une LED en fonction de la valeur de sortie du potentiomètre.

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B
1×Potentiometer
1×LED
1×220 ohm resistor
1×Breadboard
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos des LED et du Potentiomètre

Si vous ne connaissez pas les LED et les potentiomètres (brochage, fonctionnement, programmation...), renseignez-vous à leur sujet dans les tutoriels suivants :

Diagramme de câblage

Schéma de câblage LED de potentiomètre rotatif Arduino

This image is created using Fritzing. Click to enlarge image

Comment programmer

  • Lit la valeur sur la broche analogique A0 (valeur entre 0 et 1023)
int analogValue = analogRead(A0);
  • Le convertit en luminosité (valeur entre 0 et 255)
int brightness = map(analogValue, 0, 1023, 0, 255);
  • Définit la luminosité de la LED connectée à la broche 3
analogWrite(LED_PIN, brightness);

Code Arduino

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino/arduino-potentiometer-fade-led */ int LED_PIN = 3; // the PWM pin the LED is attached to // the setup routine runs once when you press reset: void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // declare LED pin to be an output: pinMode(LED_PIN, OUTPUT); } // the loop routine runs over and over again forever: void loop() { // reads the input on analog pin A0 (value between 0 and 1023) int analogValue = analogRead(A0); // scales it to brightness (value between 0 and 255) int brightness = map(analogValue, 0, 1023, 0, 255); // sets the brightness LED that connects to pin 3 analogWrite(LED_PIN, brightness); // print out the value Serial.print("Analog: "); Serial.print(analogValue); Serial.print(", Brightness: "); Serial.println(brightness); delay(100); }

Étapes rapides

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour charger le code sur Arduino
  • Ouvrez le moniteur série
  • Tournez le potentiomètre
  • Regardez la LED
  • Voir le résultat sur le moniteur série
COM6
Send
Analog: 6, Brightness: 1 Analog: 34, Brightness: 8 Analog: 89, Brightness: 22 Analog: 149, Brightness: 37 Analog: 214, Brightness: 53 Analog: 297, Brightness: 74 Analog: 365, Brightness: 90 Analog: 431, Brightness: 107 Analog: 510, Brightness: 127 Analog: 589, Brightness: 146 Analog: 695, Brightness: 173 Analog: 790, Brightness: 196 Analog: 970, Brightness: 241 Analog: 996, Brightness: 248 Analog: 1018, Brightness: 253 Analog: 1023, Brightness: 255
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!