Arduino UNO R4 - potentiomètre

Ce tutoriel vous explique comment utiliser l'Arduino Uno R4 avec un potentiomètre. En détail, nous apprendrons :

Potentiomètre Arduino UNO R4

À propos du potentiomètre

Un potentiomètre rotatif, également appelé capteur d’angle rotatif, est utilisé pour modifier manuellement des réglages tels que le volume du système stéréo, l’intensité lumineuse de la lampe ou le niveau de zoom de l’oscilloscope.

Brochage du potentiomètre

Schéma des broches

Un potentiomètre a généralement trois broches.

  • Broche GND : connectez à la masse (0 V)
  • Broche VCC : connectez à VCC (5 V ou 3,3 V)
  • Broche de sortie : envoie une tension à la broche d’entrée de l'Arduino UNO R4.
Brochage du potentiomètre

※ Note:

La broche GND et la broche VCC peuvent être permutées.

Comment cela fonctionne

L'arbre du potentiomètre peut tourner de 0° (le plus proche de la masse) jusqu'à un angle maximal (le plus proche de la broche VCC), nommé ANGLE_MAX.

La tension à la broche de sortie varie entre la tension de la masse et la tension d'alimentation positive (VCC). La tension de sortie varie directement avec l'angle auquel l'arbre est tourné.

  • Lorsque l'angle est de 0 degré, la tension à la broche de sortie est de 0 volt.
  • Lorsque l'angle est égal à ANGLE_MAX, la tension à la broche de sortie correspond à la tension d'alimentation du VCC.
  • Si l'angle se situe entre 0° et ANGLE_MAX, output_voltage = angle × VCC / ANGLE_MAX

※ Note:

La valeur de ANGLE_MAX varie en fonction du fabricant. En général, nous n'accordons pas beaucoup d'attention à ANGLE_MAX, sauf si nous devons calculer l'angle de rotation (reportez-vous à la section des cas d'utilisation).

Comment fonctionne le potentiomètre

Arduino UNO R4 - Potentiomètre rotatif

Les broches A0 à A5 de l'Arduino UNO R4 peuvent être configurées comme des entrées analogiques. Ces broches convertissent la tension, qui va de 0 volts à VCC, en nombres entiers compris entre 0 et 1023. Ces nombres sont appelés des valeurs ADC ou des valeurs analogiques.

En connectant la broche de sortie d'un potentiomètre à une broche d'entrée analogique sur l'Arduino UNO R4, nous pouvons programmer l'Arduino pour lire la valeur ADC et la convertir en un nombre utile.

La valeur reçue par l'Arduino UNO R4 n'est ni un angle ni une tension ; c'est un entier qui va de 0 à 1023.

Nous prenons le nombre à partir de la broche d'entrée analogique et le convertissons en un autre nombre. Maintenant, voyons comment il est utilisé.

Cas d'utilisation

  • Conversion de la valeur ADC en angle.
  • Conversion de la valeur ADC en tension.
  • Conversion de la valeur ADC en une valeur contrôlable (comme le volume d'un système stéréo, la luminosité ou la vitesse du moteur). Il s'agit du scénario le plus fréquemment utilisé.

Ajuster l'échelle de la plage

FROM TO
Anglerotated by userANGLE_MAX
Voltagefrom potentiometer's pin 0VVCC
ADC valueread by Arduino UNO R4 01023
Other valueconverted by Arduino UNO R4 VALUE_MINVALUE_MAX

Diagramme de câblage

Schéma de câblage du potentiomètre pour Arduino UNO R4

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Voir Comment alimenter l'Arduino UNO R4..

Comment programmer pour un potentiomètre

  • Utilisez la fonction analogRead() pour lire la valeur à partir d'une broche qui est connectée à la broche de sortie du potentiomètre.
adc_value = analogRead(A0);
  • Convertir la valeur ADC en l'angle du potentiomètre en utilisant la fonction map().
angle = map(adc_value, 0, 1023, 0, ANGLE_MAX);
  • Convertir la valeur ADC en tension:
voltage = map(adc_value, 0, 1023, 0, VCC);
  • Convertir la valeur ADC à un niveau gérable (par exemple, le volume de la stéréo, la luminosité ou la vitesse du moteur à courant continu).
value = map(adc_value, 0, 1023, VALUE_MIN, VALUE_MAX);
  • Par exemple, régler la luminosité d'une LED. La luminosité d'une LED peut être contrôlée à l'aide d'une valeur PWM allant de 0 (éteint en permanence) à 255 (allumé en permanence). Par conséquent, nous pouvons faire correspondre la valeur ADC à la luminosité de la LED (de l'état éteint au plus lumineux) comme suit:
brightness = map(adc_value, 0, 1023, 0, 255);

※ Note:

La fonction map() est utilisée pour convertir une valeur analogique en une valeur de type int ou long. Si vous devez travailler avec une valeur de type float, vous devriez utiliser la fonction floatMap() à la place.

La fonction floatMap() :

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; }

Code Arduino UNO R4

/* * Ce code Arduino UNO R4 a été développé par newbiely.fr * Ce code Arduino UNO R4 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-uno-r4/arduino-uno-r4-potentiometer */ float floatMap(float x, float in_min, float in_max, float out_min, float out_max) { // Convertir une valeur flottante d'une plage à une autre. return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } void setup() { // Démarrer la communication série avec un débit de 9600 bauds: Serial.begin(9600); } void loop() { // Lire la valeur analogique sur la broche A0: int adc_value = analogRead(A0); // Convertir la valeur analogique en une tension (plage 0-5 V): float voltage = floatMap(adc_value, 0, 1023, 0, 5); // Afficher la valeur analogique et la tension correspondante dans le moniteur série: Serial.print("Analog: "); Serial.print(adc_value); Serial.print(", Voltage: "); Serial.println(voltage); // Attendez une seconde avant de répéter la boucle: delay(1000); }

Étapes rapides

Suivez ces instructions étape par étape :

  • Si c'est la première fois que vous utilisez l'Arduino Uno R4 WiFi/Minima, consultez le tutoriel sur Arduino UNO R4 - Installation du logiciel..
  • Connectez le potentiomètre à l'Arduino Uno R4 selon le schéma fourni.
  • Connectez la carte Arduino Uno R4 à votre ordinateur à l'aide d'un câble USB.
  • Lancez l'IDE Arduino sur votre ordinateur.
  • Sélectionnez la carte Arduino Uno R4 appropriée (par exemple, Arduino Uno R4 WiFi) et le port COM.
  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code vers l'Arduino UNO R4
Téléverser le code dans l'IDE Arduino
  • Ouvrez le moniteur série
  • Tournez le potentiomètre
  • Vérifiez le moniteur série pour le résultat
COM6
Send
Analog: 0, Voltage: 0.00 Analog: 0, Voltage: 0.00 Analog: 126, Voltage: 0.62 Analog: 281, Voltage: 1.37 Analog: 517, Voltage: 2.53 Analog: 754, Voltage: 3.69 Analog: 906, Voltage: 4.43 Analog: 1023, Voltage: 5.00 Analog: 1023, Voltage: 5.00
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

Références de fonctions

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !