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.
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.
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.
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.
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
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°
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.
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).
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
Contactez le spécialiste des produits Kpower pour recommander un moteur ou une boîte de vitesses adapté à votre produit.