Arduino UNO R4 - servomoteur

Ce tutoriel explique comment contrôler un servomoteur à l'aide d'un Arduino UNO R4. Plus précisément, nous allons apprendre :

Servomoteur Arduino UNO R4

À propos du servomoteur

Un servomoteur est un composant capable de faire tourner son arbre de sortie, généralement de 0 à 180 degrés. Il est utilisé pour contrôler l'angle d'un objet.

Schéma des broches

Cet exemple utilise un servomoteur avec trois broches :

  • Broche VCC : Connectez le fil rouge à VCC (5 volts).
  • Broche GND : Connectez le fil noir ou marron à GND (0 volts).
  • Broche de signal : Connectez le fil jaune ou orange pour recevoir le signal de commande PWM depuis une broche Arduino UNO R4.
Schéma des broches du servomoteur

Diagramme de câblage

Parfois, vous pouvez voir des schémas de câblage en ligne montrant une connexion entre la broche VCC d'un servomoteur et la broche 5V de la carte Arduino UNO R4. Il est préférable d'éviter cette méthode, car elle pourrait endommager la carte Arduino UNO R4.

Schéma de câblage du servomoteur pour Arduino UNO R4

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

Pour protéger votre carte Arduino UNO R4, il est préférable d'utiliser une alimentation externe pour le servomoteur. Le schéma de câblage ci-dessous montre comment connecter le servomoteur à une source d'alimentation externe.

Schéma de câblage de l'alimentation externe du servomoteur pour Arduino UNO R4

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

Voir Comment alimenter l'Arduino UNO R4..

Assurez-vous de connecter la masse (GND) de l’alimentation externe à la masse (GND) de la carte Arduino UNO R4. Cette étape est très importante pour son bon fonctionnement.

Comment programmer pour un servomoteur

  • Inclure la bibliothèque:
#include <Servo.h>
  • Créer un objet Servo :
Servo servo;

Si vous gérez plusieurs servomoteurs, déclarez simplement des objets Servo supplémentaires.

Servo servo1; Servo servo2;
  • Connectez la broche de commande de l'Arduino UNO R4 à la broche de signal du servomoteur, par exemple la broche 9.
servo.attach(9);
  • Enfin, tournez le servomoteur à l'angle dont vous avez besoin, par exemple 90 degrés.
servo.write(90);

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-servo-motor */ #include <Servo.h> Servo servo; // Initialize a Servo object to manage a servo void setup() { servo.attach(9); // Connects the servo on pin 9 to the servo object servo.write(0); // Moves the servo to 0 degrees immediately upon startup } void loop() { for (int pos = 0; pos <= 180; pos += 1) { // Gradually move the servo from 0 to 180 degrees servo.write(pos); // Set servo position to 'pos' degrees delay(10); // Delay 10ms to allow the servo to reach the new position } for (int pos = 180; pos >= 0; pos -= 1) { // Gradually move the servo from 180 back to 0 degrees servo.write(pos); // Set servo position to 'pos' degrees delay(10); // Delay 10ms to allow the servo to reach the new position } }

É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 les composants 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.
  • Collez le code ci-dessus dans l'IDE Arduino.
  • Appuyez sur le bouton Upload dans l'IDE Arduino pour envoyer le code à l'Arduino UNO R4.
Arduino IDE - Comment téléverser du code
  • Regardez ce qui se passe : le servomoteur tourne lentement de 0 à 180 degrés, puis revient lentement de 180 à 0 degrés.

Explication du code

Vous pouvez voir l'explication dans la section des commentaires du code Arduino ci-dessus.

Comment contrôler la vitesse du servomoteur

L'utilisation des fonctions map() et millis() nous permet d'ajuster en douceur la vitesse d'un servomoteur tout en laissant le reste du code s'exécuter sans interruptions.

/* * 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-servo-motor */ #include <Servo.h> Servo servo; #define MOVING_TIME 3000 // Duration for the servo to move from startAngle to stopAngle unsigned long moveStartTime; // Timestamp when the servo starts moving int startAngle = 30; // Initial angle in degrees int stopAngle = 90; // Final angle in degrees void setup() { servo.attach(9); // Attach the servo on pin 9 to the servo object moveStartTime = millis(); // Initialize timer at the start of setup() // Additional initialization code can be added here } void loop() { unsigned long progress = millis() - moveStartTime; // Calculate elapsed time since start if (progress <= MOVING_TIME) { // During the defined MOVING_TIME period long angle = map(progress, 0, MOVING_TIME, startList and stopAngle); // Calculate intermediate servo angle servo.write(angle); // Set servo position to calculated angle } // Additional repetitive code can be added here }

Vidéo

※ 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 !