Maison > Aperçu de l'industrie >BLDC
ASSISTANCE TECHNIQUE

Comment contrôler un servomoteur à l'aide d'une télécommande infrarouge (Guide complet étape par étape)

Publié 2026-04-19

Ce guide fournit une solution complète et pratique pour contrôler unservomoteurmoteur à l’aide d’une télécommande infrarouge (IR) standard. En suivant les étapes ci-dessous, vous pourrez positionner précisément unservomoteurmoteur en appuyant sur les boutons de n’importe quelle télécommande IR courante (par exemple, une télécommande de téléviseur ou de décodeur). Aucun composant spécifique à la marque n'est requis et les instructions sont basées sur des modules largement disponibles et peu coûteux.

01Concept de base et fonctionnement

Une télécommande IR émet des impulsions de lumière invisible. Un récepteur IR détecte ces impulsions et les convertit en un code numérique unique à chaque bouton. Un microcontrôleur lit ce code et envoie un signal de modulation de largeur d'impulsion (PWM) correspondant auservomoteurmoteur, en réglant son arbre à un angle spécifique.

Exemple de scénario :Le bouton « augmentation du volume » d'une télécommande de téléviseur courante fait pivoter un servo à 90° (par exemple, en ouvrant un petit loquet), tandis que « diminution du volume » le ramène à 0°. Ce principe est utilisé dans les bras de robots DIY, les mangeoires automatiques pour animaux de compagnie et les systèmes d'inclinaison et de panoramique avec caméra télécommandée.

02Composants requis (pas de noms de marque)

Composant Spécification typique Quantité
Carte microcontrôleur Toute carte commune (par exemple, logique 5 V, avec sortie PWM) 1
Module récepteur IR 1838B ou équivalent (fréquence porteuse 38 kHz) 1
Servomoteur Servo analogique standard 5 V (par exemple, taille SG90, 0°–180°) 1
Télécommande infrarouge Toute télécommande domestique (TV, DVD, climatiseur) 1
Fils de liaison Homme à femme ou homme à homme 6–8
Alimentation 5 V CC (USB ou batterie) 1

Important:La plupart des servos consomment un courant important (200 à 500 mA). N'alimentez pas le servo directement à partir de la broche 5 V du microcontrôleur s'il nécessite plus de 500 mA. Utilisez une alimentation externe de 5 V avec une masse commune.

03Connexion de câblage (vérifiée et fiable)

Connectez les composants comme suit. Ce câblage a été testé avec des systèmes standard 5V.

Module récepteur IR (en regardant le côté plat) :

Broche gauche : Signal → broche numérique 11 du microcontrôleur (exemple)

Broche centrale : GND → Terre commune

Broche droite : sortie VCC → 5 V

Servomoteur :

Fil marron/noir : GND → Terre commune

Fil rouge : 5 V → Alimentation externe 5 V (ou microcontrôleur 5 V uniquement pour les petits servos)

Fil orange/jaune : Signal → Broche 9 du microcontrôleur PWM (exemple)

Terrain commun :Connectez le GND de l’alimentation externe au GND du microcontrôleur. Ceci est obligatoire pour un fonctionnement stable.

04Procédure étape par étape

Étape 1 : Identifiez les codes des boutons de votre télécommande

Chaque télécommande IR envoie des codes différents. Vous devez d'abord lire les codes de votre télécommande spécifique.

Cas typique :Une télécommande de téléviseur Sony peut envoyer0x10pour le bouton « 1 », tandis qu'une télécommande Samsung envoie0x80. Le code n’est pas l’étiquette du bouton – c’est un nombre hexadécimal unique à la marque du bouton + de la télécommande.

Action:Téléchargez un simple croquis de décodeur IR (disponible dans les bibliothèques courantes comme « IRremote ») sur votre microcontrôleur. Ouvrez le moniteur série, appuyez sur chaque bouton que vous souhaitez utiliser et notez les codes. Par exemple:

Flèche vers le haut →0xFF629D

Flèche vers le bas →0xFFA857

OK/Sélectionner →0xFF02FD

Étape 2 : mapper les codes des boutons aux angles de servo

Décidez quel bouton déplace le servo vers quel angle. Les angles de servo standard sont de 0° à 180°.

Exemple de mappage (en utilisant les codes de l'étape 1) :

Bouton0xFF629D→ Angle des servos 0°

Bouton0xFFA857→ Angle des servos 90°

Bouton0xFF02FD→ Angle des servos 180°

Étape 3 : Écrivez le code de contrôle

Vous trouverez ci-dessous un exemple de code générique qui fonctionne avec la populaire bibliothèque IRremote (version 3.x ou ultérieure). RemplacerREMOTE_CODE_1, REMOTE_CODE_2, etc., avec vos codes réels de l'étape 1.

#inclure#inclureconst int IR_PIN = 11 ; const int SERVO_PIN = 9 ; IRrecv irrécv(IR_PIN); résultats decode_results ; Servo monServo ; // Remplacez-les par les codes réels de votre télécommande (valeurs hexadécimales de l'étape 1) const unsigned long CODE_ANGLE_0 = 0xFF629D; // par exemple, le bouton Haut const unsigned long CODE_ANGLE_90 = 0xFFA857 ; // par exemple, le bouton Bas const unsigned long CODE_ANGLE_180 = 0xFF02FD ; // par exemple, bouton OK void setup() { Serial.begin(9600); irrécv.enableIRIn(); // Démarrez le récepteur IR myServo.attach(SERVO_PIN); monServo.write(0); // Démarrez à 0° Serial.println("Prêt. Appuyez sur les boutons de votre télécommande."); } void loop() { if (irrecv.decode(&results)) { unsigned long wantedCode = results.value; Serial.print("Code reçu : 0x"); Serial.println (code reçu, HEX); // Mapper le code reçu à l'angle du servo if (receivedCode == CODE_ANGLE_0) { myServo.write(0); Serial.println("Servo → 0°"); } sinon if (receivedCode == CODE_ANGLE_90) { myServo.write(90); Serial.println("Servo → 90°"); } sinon if (receivedCode == CODE_ANGLE_180) { myServo.write(180); Serial.println("Servo → 180°"); } else { Serial.println("Bouton non mappé. Ignoré."); } irrécv.resume(); // Attend le prochain signal } }

Note:Si votre télécommande utilise un protocole différent (par exemple NEC, Sony, RC5), la bibliothèque le détecte automatiquement. Le code ci-dessus fonctionne pour la plupart des télécommandes grand public.

Étape 4 : tester et calibrer

1. Alimentez le circuit (alimentation servo externe si nécessaire).

2. Ouvrez Serial Monitor à 9 600 bauds.

3. Appuyez sur un bouton mappé – le servo devrait se déplacer vers l'angle prédéfini en 0,5 seconde.

4. Si le servo tremble ou ne bouge pas, vérifiez :

Connexion à la terre commune.

Capacité d'alimentation des servos (minimum 500 mA pour les servos standards).

Le récepteur IR n'est pas exposé à la lumière directe du soleil ou à une lumière fluorescente (ceux-ci provoquent des interférences).

05Problèmes courants et solutions (cas du monde réel)

Problème Cause la plus probable Correctif vérifié
Le servo se déplace de manière aléatoire lorsqu'aucun bouton n'est enfoncé Le récepteur IR capte le bruit des lumières ou de l'écran Protégez le récepteur avec du ruban électrique noir ou ajoutez un condensateur de 100 µF entre 5 V et GND près du récepteur.
Certains boutons fonctionnent, d'autres non La télécommande envoie un « code de répétition » (par exemple, 0xFFFFFFFF) pour les boutons maintenus Modifiez le code pour ignorer les codes de répétition :if (receivedCode == 0xFFFFFFFF) renvoie ;
Le servo bouge une seule fois puis s'arrête Baisse de tension des servos Utilisez une alimentation externe de 5 V (2 A recommandé) avec un gros condensateur (470 µF)
Aucun signal détecté du tout Mauvaise broche du récepteur IR ou bibliothèque manquante Vérifiez à nouveau la connexion des broches ; installer la dernière bibliothèque IRremote à partir d'un référentiel de confiance

06Extension du projet (prochaines étapes réalisables)

Conclusion fondamentale reformulée :Une télécommande IR standard associée à un récepteur IR à faible coût et à un microcontrôleur vous offre un asservissement précis et sans fil sans aucun matériel propriétaire.

Trois recommandations concrètes pour renforcer votre mise en œuvre :

1. Ajoutez plusieurs servos :Utilisez un tableau d'objets servo et attribuez différents boutons à différents servos. Par exemple, le bouton « 1 » contrôle le servo A à 0°, le bouton « 2 » contrôle le servo B à 45°.

2. Mettre en œuvre un mouvement fluide :Remplacerservo.écrire (angle)avec une boucle qui incrémente l'angle pas à pas (par exemple, de l'angle actuel à l'angle cible par incréments de 1° avec un délai de 15 ms). Cela crée un mouvement professionnel et progressif.

3. Stockez les mappages de boutons dans l'EEPROM :Écrivez une petite routine d'étalonnage qui vous permet d'apprendre de nouveaux boutons sans avoir à télécharger à nouveau le code. Ceci est particulièrement utile si vous perdez votre télécommande d'origine et passez à une autre marque.

Vérification finale :Avant de déployer votre projet dans une application réelle (par exemple, loquet de porte télécommandé ou pince robot), testez toutes les pressions sur les boutons au moins 50 fois chacune. Les signaux IR peuvent être bloqués par des objets ou une lumière vive – incluez toujours un indicateur visuel (par exemple, une LED qui clignote lorsqu'un code est reçu) pour confirmer que le système fonctionne.

Heure de mise à jour:2026-04-19

Alimenter l’avenir

Contactez le spécialiste des produits Kpower pour recommander un moteur ou une boîte de vitesses adapté à votre produit.

Courrier à Kpower
Soumettre une demande
+86 0769 8399 3238
 
kpowerCarte