Arduino Nano - Potentiomètre LED

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

Ce tutoriel vous explique comment utiliser un Arduino Nano et un potentiomètre pour contrôler une LED. En détail :

Préparation du matériel

1×Arduino Nano
1×USB A to Mini-B USB cable
1×Potentiometer
1×LED
1×220 ohm resistor
1×Breadboard
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino Nano
1×(Recommended) Screw Terminal Adapter for Arduino Nano

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 des potentiomètres

Si vous n'êtes pas familier avec les LED et les potentiomètres (y compris le brochage, le fonctionnement et la programmation), les tutoriels suivants peuvent vous aider :

Diagramme de câblage

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

This image is created using Fritzing. Click to enlarge image

Code Arduino Nano - Seuil Analogique

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano 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-nano/arduino-nano-potentiometer-led */ const int POTENTIOMETER_PIN = A0; // The Arduino Nano pin connected to Potentiometer pin const int LED_PIN = 3; // The Arduino Nano pin connected to LED's pin const int ANALOG_THRESHOLD = 500; void setup() { pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode } void loop() { int analog_value = analogRead(POTENTIOMETER_PIN); // read the input on analog pin if(analog_value > ANALOG_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED }

Étapes rapides

  • Connectez votre Arduino Nano à votre ordinateur à l'aide d'un câble USB.
  • Lancez l'IDE Arduino, choisissez la carte et le port corrects.
  • Ouvrez le code dans l'IDE Arduino.
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour compiler et téléverser le code sur l'Arduino Nano.
Téléversement de code Arduino IDE
  • Tournez le potentiomètre
  • Vérifiez l'altération de l'état de la LED

Explication du code

Découvrez l'explication ligne par ligne contenue dans les commentaires du code source !

Code Arduino Nano - Seuil de tension

La valeur analogique d'un potentiomètre est transformée en une valeur de tension. Cette valeur de tension est ensuite comparée à un seuil de tension, ce qui entraînera l'activation de la LED.

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano 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-nano/arduino-nano-potentiometer-led */ const int POTENTIOMETER_PIN = A0; // The Arduino Nano pin connected to Potentiometer pin const int LED_PIN = 3; // The Arduino Nano pin connected to LED's pin const float VOLTAGE_THRESHOLD = 2.5; // Voltages void setup() { pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode } void loop() { int analog_value = analogRead(POTENTIOMETER_PIN); // read the input on analog pin float voltage = floatMap(analog_value, 0, 1023, 0, 5); // Rescale to potentiometer's voltage if(voltage > VOLTAGE_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED } float floatMap(float x, float in_min, float in_max, float out_min, float out_max) { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; }

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!