Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Maîtriser la bibliothèque ServoTimer2 : Guide simple pour balayage servo

Composants et fournitures

Composant Quantité
Servomoteur (Tower Pro MG996R ou SG90) 1
Arduino UNO 1
Fils de connexion 1

À propos du projet

Introduction

En construisant un robot humanoïde, j'ai eu besoin de faire parler le robot (bibliothèque TMRpcm) tout en contrôlant des servomoteurs. Problème : Servo.h et TMRpcm utilisent tous deux le Timer1 de l'Arduino – ils sont incompatibles.

La solution : utiliser ServoTimer2, qui exploite le Timer2. Malheureusement, peu de tutoriels expliquent son fonctionnement. Voici un guide pratique avec un balayage simple.

Étape 1 : Matériel et assemblage

Étape 2 : Installer la bibliothèque ServoTimer2

  1. Téléchargez depuis : github.com/nabontra/ServoTimer2
  2. Dans l'IDE Arduino : Croquis → Inclure une bibliothèque → Ajouter la bibliothèque .ZIP
  3. Sélectionnez le fichier ZIP téléchargé

Étape 3 : Câblage simple

Étape 4 : Le code – Comparaison Servo.h vs ServoTimer2

Avec la bibliothèque standard Servo.h, on écrit l'angle en degrés :

#include 
Servo servo1;
void setup() { servo1.attach(6); }
void loop() {
  servo1.write(0);   delay(1000);
  servo1.write(90);  delay(1000);
  servo1.write(180); delay(1000);
}

Avec ServoTimer2, on doit spécifier la largeur d'impulsion (pulse width) en microsecondes :

Note : ces valeurs varient selon les servos. Testez sans risque – cela n'endommage pas le servo.

#include "ServoTimer2.h"
ServoTimer2 servo1;
void setup() { servo1.attach(6); }
void loop() {
  servo1.write(750);  delay(1000);  // 0°
  servo1.write(1500); delay(1000);  // 90°
  servo1.write(2250); delay(1000);  // 180°
}

Étape 5 : Alimentez et expérimentez

Alimentez l'Arduino, observez les angles réels pour chaque valeur d'impulsion, et ajustez selon votre servo. Bon bricolage !

Codes complets

Balayage avec Servo.h (standard)

#include 
Servo servo1;
void setup() { servo1.attach(6); }
void loop() {
  servo1.write(0); delay(1000);
  servo1.write(90); delay(1000);
  servo1.write(180); delay(1000);
}

Balayage avec ServoTimer2

#include "ServoTimer2.h"
ServoTimer2 servo1;
void setup() { servo1.attach(6); }
void loop() {
  servo1.write(750); delay(1000);
  servo1.write(1500); delay(1000);
  servo1.write(2250); delay(1000);
}

Schéma

Maîtriser la bibliothèque ServoTimer2 : Guide simple pour balayage servo

Code source sur GitHub : Arduino-ServoTimer2-basic-sweep

Processus de fabrication

  1. Construire un robot Arduino piloté par Raspberry Pi – Guide pas à pas
  2. Simple Pi Robot – Construire un rover autonome 2 roues motrices avec Raspberry Pi
  3. Le Guide Complet de la Production de Fibre de Verre
  4. Utilisation de realloc() en C : Syntaxe, bonnes pratiques et exemple
  5. Maîtriser la fonction free() en C : Guide pratique et exemple
  6. Utiliser une thermistance facilement : Guide étape par étape Arduino
  7. Créer une animation de coupe progressive dans SolidWorks – Tutoriel Étape par Étape
  8. Construire un Prototype Gagnant : Guide Étape par Étape pour le Développement Rapide de Produits
  9. Maîtriser les techniques de la rectifieuse d'outils : guide pratique