Veröffentlicht 2026-04-19
Dieser Leitfaden bietet eine vollständige, praktische Lösung für die Steuerung von aServoMotor mit einer Standard-Infrarot-Fernbedienung (IR). Wenn Sie die folgenden Schritte ausführen, können Sie a präzise positionierenServoSie können den Motor durch Drücken von Tasten auf einer herkömmlichen IR-Fernbedienung (z. B. einer TV- oder Set-Top-Box-Fernbedienung) steuern. Es sind keine markenspezifischen Komponenten erforderlich und die Anleitung basiert auf allgemein verfügbaren, kostengünstigen Modulen.
Eine IR-Fernbedienung sendet unsichtbare Lichtimpulse aus. Ein IR-Empfänger erkennt diese Impulse und wandelt sie in einen digitalen Code um, der für jede Taste einzigartig ist. Ein Mikrocontroller liest diesen Code und sendet ein entsprechendes Pulsweitenmodulationssignal (PWM) an denServoMotor und stellt seine Welle auf einen bestimmten Winkel ein.
Beispielszenario:Die „Lautstärke erhöhen“-Taste einer gewöhnlichen TV-Fernbedienung dreht einen Servo um 90° (öffnet z. B. einen kleinen Riegel), während die „Lautstärke verringern“-Taste ihn auf 0° zurückstellt. Dieses Prinzip wird in DIY-Roboterarmen, automatischen Haustierfütterern und ferngesteuerten Kamera-Schwenk-Neige-Systemen verwendet.
Wichtig:Die meisten Servos verbrauchen einen erheblichen Strom (200–500 mA). Versorgen Sie das Servo nicht direkt über den 5-V-Pin des Mikrocontrollers mit Strom, wenn es mehr als 500 mA benötigt. Verwenden Sie eine externe 5-V-Versorgung mit gemeinsamer Masse.
Verbinden Sie die Komponenten wie folgt. Diese Verkabelung wurde mit Standard-5V-Systemen getestet.
IR-Empfängermodul (von der flachen Seite aus betrachtet):
Linker Pin: Signal → Digitaler Pin 11 des Mikrocontrollers (Beispiel)
Mittelstift: GND → Gemeinsame Masse
Rechter Pin: VCC → 5V-Ausgang
Servomotor:
Braun/schwarzes Kabel: GND → Gemeinsame Masse
Rotes Kabel: 5V → Externe 5V-Versorgung (oder Mikrocontroller 5V nur für kleine Servos)
Orange/gelbes Kabel: Signal → Mikrocontroller-PWM-Pin 9 (Beispiel)
Gemeinsamkeiten:Verbinden Sie den GND des externen Netzteils mit dem GND des Mikrocontrollers. Dies ist für einen stabilen Betrieb zwingend erforderlich.
Jede IR-Fernbedienung sendet unterschiedliche Codes. Sie müssen zunächst die Codes Ihrer spezifischen Fernbedienung lesen.
Typischer Fall:Eine Sony-TV-Fernbedienung könnte senden0x10für die „1“-Taste, während eine Samsung-Fernbedienung sendet0x80. Der Code ist nicht die Beschriftung der Taste, sondern eine hexadezimale Zahl, die eindeutig für die Marke der Taste und der Fernbedienung gilt.
Aktion:Laden Sie eine einfache IR-Decoder-Skizze (verfügbar in gängigen Bibliotheken wie „IRremote“) auf Ihren Mikrocontroller hoch. Öffnen Sie den seriellen Monitor, drücken Sie jede Taste, die Sie verwenden möchten, und notieren Sie die Codes. Zum Beispiel:
Pfeil nach oben →0xFF629D
Pfeil nach unten →0xFFA857
OK/Auswählen →0xFF02FD
Entscheiden Sie, welche Taste das Servo in welchen Winkel bewegt. Standard-Servowinkel betragen 0° bis 180°.
Beispiel-Mapping (mit Codes aus Schritt 1):
Taste0xFF629D→ Servowinkel 0°
Taste0xFFA857→ Servowinkel 90°
Taste0xFF02FD→ Servowinkel 180°
Unten finden Sie ein generisches Codebeispiel, das mit der beliebten IRremote-Bibliothek (Version 3.x oder höher) funktioniert. ErsetzenREMOTE_CODE_1, REMOTE_CODE_2usw. mit Ihren tatsächlichen Codes aus Schritt 1.
#enthalten#enthaltenconst int IR_PIN = 11; const int SERVO_PIN = 9; IRrecv irrecv(IR_PIN); decode_results Ergebnisse; Servo myServo; // Ersetzen Sie diese durch die tatsächlichen Codes Ihrer Fernbedienung (Hex-Werte aus Schritt 1) const unsigned long CODE_ANGLE_0 = 0xFF629D; // z. B. Auf-Taste const unsigned long CODE_ANGLE_90 = 0xFFA857; // z. B. Down-Taste const unsigned long CODE_ANGLE_180 = 0xFF02FD; // z. B. OK-Button void setup() { Serial.begin(9600); irrecv.enableIRIn(); // IR-Empfänger starten myServo.attach(SERVO_PIN); myServo.write(0); // Bei 0° beginnen Serial.println("Bereit. Drücken Sie die Tasten auf Ihrer Fernbedienung."); } void loop() { if (irrecv.decode(&results)) { unsigned longempfangenCode = results.value; Serial.print("Empfangener Code: 0x"); Serial.println(receivedCode, HEX); // Empfangenen Code dem Servowinkel zuordnen if (receivedCode == CODE_ANGLE_0) { myServo.write(0); Serial.println("Servo → 0°"); } else if (receivedCode == CODE_ANGLE_90) { myServo.write(90); Serial.println("Servo → 90°"); } else if (receivedCode == CODE_ANGLE_180) { myServo.write(180); Serial.println("Servo → 180°"); } else { Serial.println("Nicht zugeordnete Schaltfläche. Ignoriert."); } irrecv.resume(); // Auf nächstes Signal warten } }
Notiz:Wenn Ihre Fernbedienung ein anderes Protokoll verwendet (z. B. NEC, Sony, RC5), erkennt die Bibliothek dies automatisch. Der obige Code funktioniert für die meisten Consumer-Fernbedienungen.
1. Versorgen Sie den Schaltkreis mit Strom (bei Bedarf externe Servostromversorgung).
2. Öffnen Sie Serial Monitor mit 9600 Baud.
3. Drücken Sie eine zugeordnete Taste – das Servo sollte sich innerhalb von 0,5 Sekunden in den voreingestellten Winkel bewegen.
4. Wenn das Servo zittert oder sich nicht bewegt, überprüfen Sie Folgendes:
Gemeinsamer Erdungsanschluss.
Servostromversorgungskapazität (mindestens 500 mA für Standardservos).
Der IR-Empfänger ist keinem direkten Sonnenlicht oder Fluoreszenzlicht ausgesetzt (diese verursachen Störungen).
Kernschlussfolgerung nochmals formuliert:Eine Standard-IR-Fernbedienung gepaart mit einem kostengünstigen IR-Empfänger und einem Mikrocontroller ermöglicht Ihnen eine präzise, kabellose Servosteuerung ohne proprietäre Hardware.
Drei umsetzbare Empfehlungen zur Stärkung Ihrer Umsetzung:
1. Mehrere Servos hinzufügen:Verwenden Sie eine Reihe von Servoobjekten und weisen Sie verschiedenen Servos unterschiedliche Tasten zu. Beispielsweise steuert Taste „1“ Servo A auf 0°, Taste „2“ steuert Servo B auf 45°.
2. Sanfte Bewegung umsetzen:Ersetzenservo.write(Winkel)mit einer Schleife, die den Winkel Schritt für Schritt erhöht (z. B. vom aktuellen Winkel zum Zielwinkel in 1°-Schritten mit 15 ms Verzögerung). Dadurch entsteht eine professionelle, schrittweise Bewegung.
3. Tastenzuordnungen im EEPROM speichern:Schreiben Sie eine kleine Kalibrierungsroutine, mit der Sie neue Schaltflächen erlernen können, ohne den Code erneut hochladen zu müssen. Dies ist besonders nützlich, wenn Sie Ihre Originalfernbedienung verlieren und zu einer anderen Marke wechseln.
Endgültige Überprüfung:Bevor Sie Ihr Projekt in einer realen Anwendung einsetzen (z. B. ferngesteuertes Türschloss oder Robotergreifer), testen Sie alle Tastendrücke jeweils mindestens 50 Mal. IR-Signale können durch Objekte oder helles Licht blockiert werden – schließen Sie immer eine visuelle Anzeige (z. B. eine LED, die blinkt, wenn ein Code empfangen wird) ein, um zu bestätigen, dass das System funktioniert.
Aktualisierungszeit: 19.04.2026
Wenden Sie sich an den Produktspezialisten von Kpower, um einen geeigneten Motor oder ein geeignetes Getriebe für Ihr Produkt zu empfehlen.