Arduino Mega - Potentiomètre

Ce guide vous montre comment utiliser un Arduino Mega avec un potentiomètre. Voici ce que nous allons apprendre :

Arduino Mega potentiomètre

Matériel requis

1×Arduino Mega
1×Câble USB 2.0 type A/B
1×Potentiomètre
1×Alternativement: 10k Ohm Trimmer Potentiometer
1×Alternativement: Kit potentiomètre
1×Alternativement: Module potentiomètre avec bouton
1×Breadboard (plaque d'essai)
1×Câbles de liaison
1×Recommandé: Screw Terminal Block Shield for Arduino Uno/Mega
1×Recommandé: Breadboard Shield for Arduino Mega
1×Recommandé: Enclosure for Arduino Mega

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
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 du potentiomètre

Un bouton appelé potentiomètre rotatif, ou capteur d'angle rotatif, vous permet de changer des réglages en le tournant, comme le volume d'une chaîne stéréo, la luminosité d'une lampe, ou le zoom d'un oscilloscope.

Brochage du potentiomètre

Brochage

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

  • Broche GND : connecter à la masse (0 volt)
  • Broche VCC : connecter à 5V ou 3.3V
  • Broche de sortie : envoie la tension vers la broche d'entrée de l'Arduino Mega
Brochage du potentiomètre

※ Note:

Vous pouvez échanger la broche de masse et la broche d'alimentation.

Comment ça fonctionne

Le bouton du potentiomètre peut tourner de 0° (le plus proche de GND) jusqu'à l'angle maximum (le plus proche de la broche VCC), appelé ANGLE_MAX.

La tension de la broche de sortie peut varier de la masse à la tension d'alimentation. La tension de sortie change directement lorsque vous tournez l'axe.

  • Si l'angle est de 0 degré, la tension de sortie est de 0 volt.
  • Si l'angle égale ANGLE_MAX, la tension de sortie est VCC.
  • Si l'angle est entre 0 et ANGLE_MAX, tension_sortie = angle fois VCC divisé par ANGLE_MAX.

※ Note:

La valeur ANGLE_MAX varie selon le fabricant. Habituellement, nous ne nous soucions pas d'ANGLE_MAX à moins que nous ayons besoin de calculer l'angle de rotation (voir la section cas d'usage).

Comment fonctionne le potentiomètre

Arduino Mega - Potentiomètre rotatif

Les broches A0 à A5 de l'Arduino Mega peuvent être utilisées comme entrées analogiques. Elles lisent une tension de 0 volt jusqu'à la tension d'alimentation (VCC) et la transforment en nombres de 0 à 1023. Ces nombres sont appelés valeurs ADC (valeurs de convertisseur analogique-numérique).

Si vous connectez la broche de sortie du potentiomètre à une broche d'entrée analogique de l'Arduino Mega, vous pouvez programmer l'Arduino pour lire la valeur analogique et la transformer en nombre utile.

Le nombre que l'Arduino Mega obtient n'est pas un angle ou une tension. C'est un nombre entier de 0 à 1023.

Nous lisons la valeur de la broche d'entrée analogique et la changeons en une autre valeur. Maintenant, voyons comment nous l'utilisons.

Cas d'usage

  • Convertir la valeur ADC en angle.
  • Convertir la valeur ADC en tension.
  • Convertir la valeur ADC en valeur de contrôle (par exemple, volume, luminosité, ou vitesse moteur). C'est l'usage le plus courant.

Redimensionnement de plage

DE VERS
Angletourné par l'utilisateurANGLE_MAX
Tensionde la broche du potentiomètre 0VVCC
Valeur ADClue par Arduino Mega 01023
Autre valeurconvertie par Arduino Mega VALUE_MINVALUE_MAX

Schéma de câblage

Schéma de câblage Arduino Mega potentiomètre

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

Si vous utilisez le module potentiomètre :

Schéma de câblage module potentiomètre Arduino Mega

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

Comment programmer pour le potentiomètre

  • Utilisez la fonction analogRead() pour lire la valeur de la broche connectée à la sortie du potentiomètre.
adc_value = analogRead(A0);
  • Transformez la lecture ADC en angle du potentiomètre en utilisant la fonction map().
angle = map(adc_value, 0, 1023, 0, ANGLE_MAX);
  • Transformez la valeur ADC en tension :
voltage = map(adc_value, 0, 1023, 0, VCC);
  • Transformez la valeur ADC en niveau simple que vous pouvez utiliser (par exemple, pour contrôler le volume stéréo, la luminosité, ou la vitesse d'un moteur DC).
value = map(adc_value, 0, 1023, VALUE_MIN, VALUE_MAX);
  • Exemple : ajuster la luminosité d'une LED. Vous contrôlez la luminosité avec une valeur PWM de 0 (éteinte) à 255 (complètement allumée). Donc nous pouvons faire correspondre la valeur ADC à la luminosité de la LED (d'éteinte à la plus brillante) comme ceci :
brightness = map(adc_value, 0, 1023, 0, 255);

※ Note:

map() convertit une valeur analogique en int ou long. Si vous avez besoin d'une valeur float, utilisez 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 Mega

/* * Ce code Arduino Mega a été développé par newbiely.fr * Ce code Arduino Mega 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-mega/arduino-mega-potentiometer */ float floatMap(float x, float in_min, float in_max, float out_min, float out_max) { // Remap a floating-point value from the input range to the output range. return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } void setup() { // Initialize serial communication at 9600 baud. Serial.begin(9600); } void loop() { // Read the analog value from pin A0. int adc_value = analogRead(A0); // Convert the ADC value to a voltage in the 0-5 V range. float voltage = floatMap(adc_value, 0, 1023, 0, 5); // Print the measured value and its calculated voltage to the serial monitor. Serial.print("Analog: "); Serial.print(adc_value); Serial.print(", Voltage: "); Serial.println(voltage); // Pause for one second before the next loop iteration. delay(1000); }

Étapes rapides

Suivez ces étapes une par une.

  • Connectez le potentiomètre à l'Arduino Mega comme montré dans le schéma.
  • Connectez l'Arduino Mega à votre ordinateur avec un câble USB.
  • Ouvrez l'IDE Arduino sur votre ordinateur.
  • Sélectionnez la bonne carte Arduino Mega (par exemple, Arduino Mega) et le port.
  • Copiez le code ci-dessus et ouvrez-le dans l'IDE Arduino.
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code vers l'Arduino Mega.
Téléverser le code IDE Arduino
  • Ouvrez le Moniteur série
  • Tournez le potentiomètre
  • Regardez le Moniteur série pour voir 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 des 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 !