Arduino Nano ESP32 - MG996R

Dans ce tutoriel, nous allons apprendre à utiliser le servo moteur à couple élevé MG996R avec l'Arduino Nano ESP32.

Préparation du matériel

1×Arduino Nano ESP32
1×USB Cable Type-C
1×MG996R Servo Motor
1×Jumper Wires
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 du servomoteur

Le moteur servo MG996R est un moteur servo à couple élevé capable de soulever jusqu'à 15 kg. Le moteur peut faire tourner sa poignée de 0° à 180°, offrant un contrôle précis de la position angulaire. Pour des informations de base sur les moteurs servo, veuillez consulter le tutoriel Arduino Nano ESP32 - Moteur Servo.

Brochage

Le moteur servo MG996R utilisé dans cet exemple comprend trois broches :

  • Broche VCC : (généralement rouge) doit être connectée à VCC (4,8 V – 7,2 V)
  • Broche GND : (généralement noire ou marron) doit être connectée à GND (0 V)
  • Broche de signal : (généralement jaune ou orange) reçoit le signal de commande PWM provenant d'une broche d'ESP32.
Brochage du servo-moteur MG996R

Diagramme de câblage

Étant donné que le MG996R est un moteur servo à couple élevé, il consomme beaucoup d'énergie. Nous ne devrions pas alimenter ce moteur via la broche 5v de l'Arduino Nano ESP32. Au lieu de cela, nous devons utiliser l'alimentation externe pour le moteur servo MG996R.

  • Lors de l'alimentation de la carte Arduino Nano ESP32 via le port USB.
Schéma de câblage du moteur servo MG996R avec Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

  • Lors de l'alimentation de la carte Arduino Nano ESP32 via la broche Vin.
Schéma de câblage du moteur servo MG996R avec alimentation externe pour Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Code Arduino Nano ESP32

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano ESP32 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-esp32/arduino-nano-esp32-mg996r */ #include <Servo.h> Servo servo; // crée un objet servo pour contrôler un servo void setup() { servo.attach(D2); // attache le servo sur la broche D2 à l'objet servo servo.write(0); // fait tourner le servo lentement jusqu'à 0 degrés immédiatement } void loop() { for (int angle = 0; angle <= 180; angle += 1) { // fait tourner lentement de 0 degrés à 180 degrés, degré par degré // par pas de 1 degré servo.write(angle); // contrôle le servo pour aller à la position dans la variable 'angle' delay(10); // attend 10ms pour que le servo atteigne la position } for (int angle = 180; angle >= 0; angle -= 1) { // fait tourner de 180 degrés à 0 degrés, degré par degré servo.write(angle); // contrôle le servo pour aller à la position dans la variable 'angle' delay(10); // attend 10ms pour que le servo atteigne la position } }

Étapes rapides

Pour commencer avec l'Arduino Nano ESP32, suivez ces étapes :

  • Si vous êtes nouveau avec l'Arduino Nano ESP32, consultez le tutoriel sur comment configurer l'environnement pour l'Arduino Nano ESP32 dans l'Arduino IDE.
  • Câblez les composants selon le schéma fourni.
  • Connectez la carte Arduino Nano ESP32 à votre ordinateur via un câble USB.
  • Lancez l'Arduino IDE sur votre ordinateur.
  • Sélectionnez la carte Arduino Nano ESP32 et le port COM correspondant.
  • Cliquez sur l'icône Libraries dans la barre gauche de l'Arduino IDE.
  • Tapez ServoESP32 dans la boîte de recherche, puis recherchez la bibliothèque servo de Jaroslav Paral. Veuillez noter que les versions 1.1.1 et 1.1.0 comportent des bugs. Veuillez choisir une version différente.
  • Cliquez sur le bouton Install pour installer la bibliothèque du moteur servo pour Arduino Nano ESP32.
Bibliothèque de moteur servo Arduino Nano ESP32
  • Connectez Arduino Nano ESP32 au PC via le câble USB
  • Ouvrez Arduino IDE, sélectionnez la bonne carte et le bon port
  • Copiez le code ci-dessus et ouvrez-le avec Arduino IDE
  • Cliquez sur le bouton Upload dans Arduino IDE pour téléverser le code sur Arduino Nano ESP32
Arduino IDE - Comment télécharger du code
  • Voyez le résultat : le servo-moteur tourne lentement de 0 à 180° puis retourne lentement de 180 à 0°.

Explication du code

Vous pouvez trouver l'explication dans la ligne de commentaires du code Arduino ci-dessus.

Comment contrôler la vitesse d'un moteur servo

En utilisant les fonctions map() et millis(), nous pouvons contrôler la vitesse du moteur servo en douceur sans bloquer d'autres codes.

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano ESP32 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-esp32/arduino-nano-esp32-mg996r */ #include <Servo.h> Servo servo; unsigned long MOVING_TIME = 3000; // le temps de déplacement est de 3 secondes unsigned long move_start_ms; int angle_start = 30; // 30° int angle_stop = 90; // 90° void setup() { servo.attach(D2); move_start_ms = millis(); // démarrer le déplacement // TODO: autre code } void loop() { unsigned long progress = millis() - move_start_ms; if (progress <= MOVING_TIME) { long angle = map(progress, 0, MOVING_TIME, angle_start, angle_stop); servo.write(angle); } // TODO: autre code }

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!