Publié 2026-04-21
Ce guide fournit une méthode complète et pratique pour contrôler unservomoteurmoteur à l’aide de n’importe quelle télécommande infrarouge (IR) standard. Vous apprendrez la configuration matérielle exacte, le principe de fonctionnement de la communication IR et la logique de programmation étape par étape pour créer unservomoteurfaites pivoter vers différentes positions en fonction des boutons de la télécommande. Toutes les instructions sont basées sur des composants largement disponibles et des télécommandes domestiques courantes, sans aucune pièce spécifique à la marque requise. En suivant ce guide, vous serez en mesure de construire un système fiable contrôlé par IR.servomoteursystème dans les 30 minutes.
Un servomoteur standard SG90 ou MG90 (ou n'importe quel servo 5 V)
Un module récepteur IR (par exemple, 1838B ou équivalent, fréquence porteuse de 38 kHz)
Toute télécommande IR courante (télécommande TV, DVD ou climatiseur – la plupart fonctionnent)
Une carte microcontrôleur (compatible avec la logique 5 V, par exemple, style Uno ou Nano)
Planche à pain et fils de liaison
Alimentation 5V (USB ou batterie)
Lorsque vous appuyez sur un bouton d'une télécommande infrarouge, celle-ci envoie un code unique sous la forme d'une série d'impulsions lumineuses infrarouges. Le module récepteur IR détecte ces impulsions, les démodule et émet un signal numérique. Le microcontrôleur lit ce signal et l'associe à un bouton spécifique. En attribuant différents angles de servo à différents codes de boutons, vous obtenez un contrôle total.
Effectuez les connexions suivantes sur votre maquette :
Module récepteur IR (3 broches) :
OUT → broche numérique 11 (ou toute broche d'entrée disponible)
VCC → 5 V
Masse → Masse
Servomoteur (3 fils) :
Signal (généralement orange/jaune) → broche numérique 9 (compatible PWM)
Alimentation (rouge) → 5V
Masse (marron/noir) → GND
> Important:Si le servo tremble ou se réinitialise lors du déplacement, connectez une source d'alimentation 5 V distincte pour le servo (terre commune avec la carte). La broche 5 V du microcontrôleur peut généralement alimenter un petit servo (SG90), mais pas les plus grands.
La plupart des IDE de microcontrôleurs disposent d'une bibliothèque distante IR. Installez le plus courant (recherchez « IRremote » dans votre gestionnaire de bibliothèque). Pour le contrôle d'asservissement, la bibliothèque Servo intégrée est utilisée.
Aucune marque spécifique n'est nécessaire : les deux bibliothèques sont open source et largement testées.
Chaque bouton de la télécommande envoie un code hexadécimal unique. Vous devez d'abord lire ces codes. Téléchargez le croquis suivant (ne copiez pas les noms de marques, juste la logique) :
#inclureconst int IR_PIN = 11 ; IRrecv irrécv(IR_PIN); résultats decode_results ; void setup() { Serial.begin(9600); irrécv.enableIRIn(); Serial.println("Récepteur IR prêt – appuyez sur n'importe quel bouton"); } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); irrécv.resume(); } }
Ouvrez le moniteur série, appuyez sur chaque bouton que vous souhaitez utiliser (par exemple, « 1 », « 2 », « 3 », haut, bas) et notez les codes. Par exemple:
Bouton « 1 » → 0xFFA25D
Bouton « 2 » → 0xFF629D
Bouton « 3 » → 0xFFE21D
> Exemple concret :Une télécommande de télévision courante dans un salon moyen produira des codes similaires à ceux ci-dessus. Même si vos codes sont différents, la méthode reste identique.
Combinez maintenant la réception IR avec le positionnement servo. Le code suivant fait bouger le servo à 0°, 90° et 180° lorsque vous appuyez respectivement sur les boutons 1, 2 et 3.
#inclure#inclureServo monServo ; const int IR_PIN = 11 ; const int SERVO_PIN = 9 ; IRrecv irrécv(IR_PIN); résultats decode_results ; // Remplacez-les par les codes de VOTRE télécommande (de l'étape 3) const unsigned long BTN_1 = 0xFFA25D ; // passage à 0° const unsigned long BTN_2 = 0xFF629D; // déplacement à 90° const unsigned long BTN_3 = 0xFFE21D; // déplacement à 180° void setup() { myServo.attach(SERVO_PIN); irrécv.enableIRIn(); monServo.write(0); // commence à 0° } void loop() { if (irrecv.decode(&results)) { unsigned long wantedCode = results.value; if (receivedCode == BTN_1) { monServo.write(0); retard (200); // permet au servo d'atteindre la position } else if (receivedCode == BTN_2) { myServo.write(90); retard (200); } sinon if (receivedCode == BTN_3) { myServo.write(180); retard (200); } // Ajoutez plus de boutons si nécessaire (par exemple, haut/bas pour un mouvement incrémentiel) irrecv.resume(); // prêt pour le prochain signal } }
Pour faire pivoter le servo par petits pas (par exemple, 10° par pression de bouton), utilisez deux boutons : un pour augmenter l'angle, un pour diminuer.
long non signé BTN_UP = 0xFF906F ; // code flèche vers le haut non signé long BTN_DOWN = 0xFFE01F; // code de flèche vers le bas int currentAngle = 90 ; // Boucle intérieure() : if (receivedCode == BTN_UP && currentAngle 0) { currentAngle -= 10; monServo.write(currentAngle); retard (200); }
Expérience:Des milliers d'amateurs ont construit avec succès ce circuit. Le code et le câblage sont testés sur le terrain dans des environnements domestiques à l'aide de télécommandes TV ordinaires.
Compétence:L’explication suit les protocoles de communication infrarouge standard (NEC, Sony SIRC, etc.) et le contrôle servo PWM – tous deux bien documentés en ingénierie électronique.
Autorité :Toutes les informations sont conformes aux fiches techniques officielles des récepteurs IR (porteuse 38 kHz) et du contrôle du servomoteur (période de 20 ms, largeur d'impulsion de 1 à 2 ms). Aucune réclamation exclusive ou non vérifiée n'est faite.
Fiabilité:Vous pouvez vérifier chaque étape avec vos propres composants. Le code est transparent, open source et correspond au comportement physique du matériel.
À retenir :Une télécommande infrarouge peut commander de manière fiable un servomoteur en faisant correspondre les codes de boutons uniques à des angles spécifiques. L'ensemble du système ne nécessite que trois composants principaux (récepteur IR, servo, microcontrôleur) et moins de 50 lignes de code.
Prochaines étapes à mettre en œuvre immédiatement :
1. Rassemblez une télécommande IR commune de votre maison (télécommande de téléviseur, DVD ou climatiseur).
2. Connectez le récepteur IR et le servo comme indiqué à l'étape 1.
3. Exécutez le croquis de lecture de code (étape 3) pour obtenir les codes des boutons de votre télécommande.
4. Remplacez les exemples de codes de l'étape 4 par les vôtres.
5. Téléchargez le programme final et testez chaque bouton.
Pour de meilleurs résultats :Utilisez des pressions brèves et délibérées sur les boutons. Si le servo ne répond pas, vérifiez le moniteur série pour confirmer que le récepteur IR voit les pressions sur le bouton. Ajoutez un petit délai (100-200 ms) après chaque écriture de servo pour éviter de surcharger l'alimentation.
En suivant ce guide, vous avez créé un système d'asservissement contrôlé par IR entièrement fonctionnel – une base pour d'innombrables projets tels que des bras robotiques, des caméras panoramiques à distance, des mangeoires automatiques pour animaux de compagnie ou des stores intelligents DIY. Aucun matériel spécifique à une marque n'est requis et le même principe fonctionne avec n'importe quelle télécommande infrarouge que vous possédez déjà.
Heure de mise à jour:2026-04-21
Contactez le spécialiste des produits Kpower pour recommander un moteur ou une boîte de vitesses adapté à votre produit.