Publicado 2026-04-19
Esta guía proporciona una solución práctica y completa para controlar unservomotor usando un control remoto infrarrojo (IR) estándar. Si sigue los pasos a continuación, podrá colocar con precisión unservomotor presionando los botones en cualquier control remoto IR común (por ejemplo, un control remoto de TV o decodificador). No se requieren componentes específicos de la marca y las instrucciones se basan en módulos de bajo costo y ampliamente disponibles.
Un control remoto por infrarrojos emite pulsos de luz invisible. Un receptor de infrarrojos detecta estos pulsos y los convierte en un código digital exclusivo para cada botón. Un microcontrolador lee este código y envía una señal de modulación de ancho de pulso (PWM) correspondiente alservomotor, colocando su eje en un ángulo específico.
Escenario de ejemplo:El botón de "subir volumen" de un control remoto de TV común gira un servo a 90° (por ejemplo, abriendo un pequeño pestillo), mientras que "bajar volumen" lo devuelve a 0°. Este principio se utiliza en brazos robóticos de bricolaje, comederos automáticos para mascotas y sistemas de giro e inclinación de cámaras con control remoto.
Importante:La mayoría de los servos consumen una corriente significativa (200–500 mA). No alimente el servo directamente desde el pin de 5 V del microcontrolador si requiere más de 500 mA. Utilice una fuente de alimentación externa de 5 V con tierra común.
Conecte los componentes de la siguiente manera. Este cableado ha sido probado con sistemas estándar de 5V.
Módulo receptor de infrarrojos (mirando el lado plano):
Pin izquierdo: Señal → Pin digital 11 del microcontrolador (ejemplo)
Pin central: GND → Tierra común
Pin derecho: VCC → salida de 5V
Servomotor:
Cable marrón/negro: GND → Tierra común
Cable rojo: 5V → Suministro externo de 5V (o microcontrolador de 5V solo para servos pequeños)
Cable naranja/amarillo: Señal → Microcontrolador PWM pin 9 (ejemplo)
Terreno común:Conecte el GND de la fuente de alimentación externa al GND del microcontrolador. Esto es obligatorio para un funcionamiento estable.
Cada control remoto por infrarrojos envía códigos diferentes. Primero debes leer los códigos de tu control remoto específico.
Caso típico:El control remoto de un televisor Sony puede enviar0x10para el botón “1”, mientras que un control remoto Samsung envía0x80. El código no es la etiqueta del botón, es un número hexadecimal exclusivo del botón + marca del control remoto.
Acción:Cargue un boceto simple de un decodificador de infrarrojos (disponible en bibliotecas comunes como "IRremote") a su microcontrolador. Abra el Monitor serie, presione cada botón que desee usar y escriba los códigos. Por ejemplo:
Flecha arriba →0xFF629D
Flecha hacia abajo →0xFFA857
Aceptar/Seleccionar →0xFF02FD
Decide qué botón mueve el servo a qué ángulo. Los ángulos de servo estándar son de 0° a 180°.
Mapeo de ejemplo (usando códigos del Paso 1):
Botón0xFF629D→ Ángulo del servo 0°
Botón0xFFA857→ Ángulo del servo 90°
Botón0xFF02FD→ Ángulo del servo 180°
A continuación se muestra un ejemplo de código genérico que funciona con la popular biblioteca IRremote (versión 3.x o posterior). ReemplazarCÓDIGO_REMOTO_1, CÓDIGO_REMOTO_2, etc., con sus códigos reales del Paso 1.
#incluir#incluirconstante int IR_PIN = 11; constanteint SERVO_PIN = 9; IRrecv irrecv(IR_PIN); resultados decode_results; Servo miServo; // Reemplácelos con los códigos reales de su control remoto (valores hexadecimales del Paso 1) const unsigned long CODE_ANGLE_0 = 0xFF629D; // por ejemplo, botón Arriba const unsigned long CODE_ANGLE_90 = 0xFFA857; // por ejemplo, botón Abajo const unsigned long CODE_ANGLE_180 = 0xFF02FD; // por ejemplo, botón Aceptar void setup() { Serial.begin(9600); irrecv.enableIRIn(); // Iniciar receptor IR myServo.attach(SERVO_PIN); miServo.write(0); // Comienza en 0° Serial.println("Listo. Presiona los botones de tu control remoto."); } void loop() { if (irrecv.decode(&results)) { código recibido largo sin firmar = resultados.valor; Serial.print("Código recibido: 0x"); Serial.println(Código recibido, HEX); // Asigna el código recibido al ángulo del servo if (receivedCode == CODE_ANGLE_0) { myServo.write(0); Serial.println("Servo → 0°"); } else if (recibidoCode == CODE_ANGLE_90) { myServo.write(90); Serial.println("Servo → 90°"); } else if (recibidoCódigo == CODE_ANGLE_180) { myServo.write(180); Serial.println("Servo → 180°"); } else { Serial.println("Botón no asignado. Ignorado."); } irrecv.resume(); // Espera la siguiente señal } }
Nota:Si su control remoto usa un protocolo diferente (por ejemplo, NEC, Sony, RC5), la biblioteca lo detecta automáticamente. El código anterior funciona para la mayoría de los controles remotos de consumo.
1. Alimente el circuito (servoalimentación externa si es necesario).
2. Abra Serial Monitor a 9600 baudios.
3. Presione un botón asignado: el servo debe moverse al ángulo preestablecido en 0,5 segundos.
4. Si el servo tiembla o no se mueve, verifique:
Conexión a tierra común.
Capacidad de alimentación de los servos (mínimo 500 mA para servos estándar).
El receptor de infrarrojos no está expuesto a la luz solar directa ni a luces fluorescentes (estos causan interferencias).
Conclusión central reformulada:Un control remoto por infrarrojos estándar combinado con un receptor de infrarrojos de bajo costo y un microcontrolador le brinda un servocontrol inalámbrico y preciso sin ningún hardware propietario.
Tres recomendaciones prácticas para fortalecer su implementación:
1. Agregue múltiples servos:Utilice una variedad de objetos servo y asigne diferentes botones a diferentes servos. Por ejemplo, el botón “1” controla el servo A a 0°, el botón “2” controla el servo B a 45°.
2. Implementar un movimiento suave:Reemplazarservo.write(ángulo)con un bucle que incrementa el ángulo paso a paso (por ejemplo, desde el ángulo actual hasta el ángulo objetivo en incrementos de 1° con un retraso de 15 ms). Esto crea un movimiento profesional y gradual.
3. Almacenar asignaciones de botones en EEPROM:Escriba una pequeña rutina de calibración que le permita aprender nuevos botones sin volver a cargar el código. Esto es especialmente útil si pierde su control remoto original y cambia a otra marca.
Verificación final:Antes de implementar su proyecto en una aplicación real (por ejemplo, un pestillo de puerta controlado remotamente o una pinza robótica), pruebe todas las pulsaciones de botones al menos 50 veces cada una. Las señales de infrarrojos pueden bloquearse con objetos o luces brillantes; incluya siempre un indicador visual (por ejemplo, un LED que parpadea cuando se recibe un código) para confirmar que el sistema está funcionando.
Hora de actualización: 2026-04-19
Comuníquese con el especialista en productos de Kpower para recomendarle un motor o caja de cambios adecuado para su producto.