Arduino UNO R4 - Shield Moteur DC
L'Arduino Uno R4 — disponible en versions Minima et WiFi — apporte plus de puissance de traitement, de la mémoire supplémentaire et un ADC 14 bits tout en conservant le format de connecteur classique Uno. Cela signifie que le Motor Shield Rev3 se branche directement sur l'Uno R4 sans aucun câblage supplémentaire.
Dans ce guide, vous allez :
- Empiler le Motor Shield Rev3 sur une carte Arduino Uno R4.
- Câbler un moteur DC et un pack de batteries externe.
- Écrire du code qui fait tourner le moteur en avant et en arrière.
- Ajuster la vitesse du moteur via des valeurs PWM (0-255).
- Appliquer et relâcher le frein électronique.
- Surveiller la consommation de courant du moteur via la broche de détection analogique.
- Faire fonctionner deux moteurs simultanément en utilisant le Canal A et le Canal B.

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables STEM V4 IoT (Arduino inclus) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
Aperçu du Motor Shield Rev3
Au cœur du Motor Shield Rev3 se trouve le pilote double pont complet L298P. Cette puce vous donne un contrôle indépendant sur deux moteurs DC — chacun avec sa propre ligne de direction, ligne de vitesse PWM, ligne de frein et entrée analogique de détection de courant.
Voici ce que chaque ligne de contrôle fait :
- Direction — une sortie numérique qui définit le sens de rotation. Écrire HAUT fait tourner dans un sens ; BAS fait tourner dans l'autre.
- PWM — une sortie analogique (PWM) qui définit le rapport cyclique. Les valeurs vont de 0 (arrêté) à 255 (pleine vitesse).
- Frein — une sortie numérique. La mettre à HAUT bloque l'arbre du moteur ; la mettre à BAS laisse le moteur tourner librement.
- Détection de Courant — une entrée analogique qui indique la quantité de courant que le moteur consomme.
Parce que l'Uno R4 partage les mêmes positions de connecteur que l'Uno R3 original, toutes les broches s'alignent automatiquement :
| Function | Channel A | Channel B |
|---|---|---|
| Direction | D12 | D13 |
| PWM (Speed) | D3 | D11 |
| Brake | D9 | D8 |
| Current Sensing | A0 | A1 |
Alimentation des Moteurs
Les moteurs ont besoin de plus de courant que ce que USB peut fournir. Connectez une alimentation externe de 6-12 V (comme deux cellules lithium 18650 en série) aux bornes à vis d'alimentation du shield. L'Arduino lui-même peut continuer à fonctionner via USB.
Schéma de Câblage
Placez le Motor Shield Rev3 sur les connecteurs de l'Uno R4, en vous assurant que chaque broche est bien en place.
Attachez les fils du moteur DC aux bornes à vis du Canal A — les étiquettes de canaux sont imprimées sur la carte.
Connectez le pack de batteries externe aux bornes à vis d'alimentation.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Comment Installer la Bibliothèque
- Branchez l'Arduino Uno R4 à votre ordinateur avec un câble USB Type-C.
- Dans l'Arduino IDE, vérifiez que la bonne carte (Arduino Uno R4 Minima ou WiFi) et le bon port série sont sélectionnés.
- Cliquez sur l'icône Bibliothèques dans la barre latérale gauche.
- Tapez "DIYables_DC_Motor" dans la zone de recherche et localisez la bibliothèque publiée par DIYables.
- Cliquez sur Installer pour ajouter la bibliothèque à votre IDE.

Aucune dépendance supplémentaire n'est nécessaire — la bibliothèque est entièrement autonome.
Structure Minimale du Sketch
Tous les sketches de contrôle de moteur partagent ce squelette :
motor.begin() configure les broches de direction, PWM et frein. Appeler motor.run() définit la direction, relâche le frein et applique la vitesse demandée. motor.brake() engage le frein et coupe le PWM à zéro.
Moteur Unique sur le Canal A
Faites tourner un moteur sur le Canal A, alternant entre avant et arrière toutes les deux secondes avec un arrêt complet entre les deux.
Comment Exécuter
- Placez le shield sur l'Uno R4 et connectez le moteur au Canal A.
- Connectez le pack de batteries aux bornes d'alimentation.
- Branchez le câble USB Type-C.
- Collez le code dans l'Arduino IDE, choisissez la bonne carte et le bon port, et appuyez sur Téléverser.
- Ouvrez le Moniteur Série pour suivre les changements de direction.
Le moteur alterne entre avant et arrière à la vitesse 30, avec une pause de 2 secondes entre chaque changement de direction.
Référence Rapide des Méthodes
| Method | What It Does | Usage |
|---|---|---|
| run(dir, speed) | Spins the motor in the given direction at the given speed | motor.run(MOTOR_FORWARD, 100) |
| setSpeed(speed) | Changes speed without touching direction or brake | motor.setSpeed(200) |
| setDirection(dir) | Changes direction without touching speed or brake | motor.setDirection(MOTOR_BACKWARD) |
| brake() | Engages the brake and drops speed to zero | motor.brake() |
| release() | Disengages the brake | motor.release() |
| readCurrent() | Returns raw ADC from the current-sensing pin | motor.readCurrent() |
Moteur Unique sur le Canal B
Comportement identique, mais sur le Canal B — changez simplement la constante de canal.
Comment Exécuter
- Câblez le moteur aux bornes à vis du Canal B.
- Téléversez le sketch et ouvrez le Moniteur Série.
Tout fonctionne de la même façon ; seules les broches sous-jacentes diffèrent.
Deux Moteurs - Les Deux Canaux
Pilotez deux moteurs indépendamment : même direction, direction opposée et freinage synchronisé.
Comment Exécuter
- Attachez un moteur au Canal A et un autre au Canal B.
- Téléversez et ouvrez le Moniteur Série.
Le sketch passe par trois schémas : les deux en avant, les deux en arrière, et les moteurs tournant dans des directions opposées.
Lecture du Courant du Moteur
Surveillez la consommation de courant d'un moteur en temps réel.
Comment Exécuter
- Câblez un moteur au Canal A.
- Téléversez le sketch et ouvrez le Moniteur Série.
- La valeur ADC brute se rafraîchit toutes les 500 ms.
À Propos de la Détection de Courant
Les broches analogiques A0 et A1 portent une tension proportionnelle au courant du moteur sur le Canal A et le Canal B respectivement. readCurrent() renvoie la lecture ADC brute — sur l'Uno R4, c'est une valeur 14 bits (0-16383) grâce à l'ADC Renesas RA4M1. Convertissez en milliampères en utilisant le facteur de sensibilité documenté du shield.
Attribution Personnalisée des Broches
Si vous devez remplacer la correspondance de broches par défaut — par exemple, lorsque vous utilisez une carte de pilote de moteur tierce partie — passez les broches directement au constructeur.
Comment Exécuter
- Mettez à jour les numéros de broches dans le constructeur pour correspondre à votre matériel.
- Téléversez et vérifiez le fonctionnement du moteur.
Dépannage
- Le moteur reste immobile - Confirmez que les fils du moteur sont bien fixés dans les bornes à vis et que le canal correspond au code (MOTOR_CH_A vs. MOTOR_CH_B).
- Pas de couple - Augmentez la valeur de vitesse. Des valeurs PWM très basses peuvent ne pas surmonter l'inertie du moteur.
- Alimentation externe morte - Rechargez ou remplacez les batteries. Vérifiez que la polarité est correcte aux bornes d'alimentation.
- La direction semble incorrecte - Échangez les deux fils du moteur à la borne à vis, ou inversez la constante de direction dans le logiciel.
- La lecture de courant est toujours zéro - Assurez-vous d'avoir utilisé le constructeur de canal ou le constructeur à 4 broches qui inclut la broche de détection de courant.
Démo Complète du Shield Moteur DC Arduino Uno R4
Voici un tutoriel vidéo étape par étape démontrant tous les exemples du Shield Moteur DC :
Compatibilité des Plateformes
La bibliothèque s'appuie exclusivement sur les API Arduino standard (pinMode, digitalWrite, analogWrite, analogRead) et fonctionne sur toutes les plateformes compatibles Arduino.