Hogar > Perspectivas de la industria >BLDC
APOYO TÉCNICO

Soporte de producto

Cómo controlar un servomotor mediante un control remoto por infrarrojos (guía completa paso a paso)

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.

01Concepto central y cómo funciona

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.

02Componentes necesarios (sin marcas)

Componente Especificación típica Cantidad
Placa de microcontrolador Cualquier placa común (por ejemplo, lógica de 5 V, con salida PWM) 1
módulo receptor de infrarrojos 1838B o equivalente (frecuencia portadora de 38 kHz) 1
servomotor Servo analógico estándar de 5 V (p. ej., tamaño SG90, 0°–180°) 1
control remoto por infrarrojos Cualquier control remoto doméstico (TV, DVD, aire acondicionado) 1
Cables de puente De hombre a mujer o de hombre a hombre 6–8
Fuente de alimentación 5 V CC (USB o batería) 1

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.

03Conexión de cableado (verificada y confiable)

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.

04Procedimiento paso a paso

Paso 1: identifique los códigos de los botones de su control remoto

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

Paso 2: Asigne códigos de botones a ángulos de servo

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°

Paso 3: escriba el código de control

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.

Paso 4: probar y calibrar

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).

05Problemas comunes y soluciones (casos del mundo real)

Problema Causa más probable Solución verificada
El servo se mueve aleatoriamente cuando no se presiona ningún botón El receptor de infrarrojos capta el ruido de las luces o la pantalla Proteja el receptor con cinta aislante negra o agregue un condensador de 100 µF entre 5 V y GND cerca del receptor.
Algunos botones funcionan, otros no El control remoto envía un "código de repetición" (por ejemplo, 0xFFFFFFFF) para los botones retenidos Modifique el código para ignorar los códigos repetidos:si (código recibido == 0xFFFFFFFF) regresa;
El servo se mueve sólo una vez y luego se detiene. Fallo de potencia del servo Utilice una fuente de alimentación externa de 5 V (se recomienda 2 A) con un condensador grande (470 µF)
No se detectó ninguna señal Pin del receptor de infrarrojos incorrecto o biblioteca faltante Verifique dos veces la conexión del pasador; instale la última biblioteca IRremote desde un repositorio confiable

06Ampliación del proyecto (próximos pasos prácticos)

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

Impulsando el futuro

Comuníquese con el especialista en productos de Kpower para recomendarle un motor o caja de cambios adecuado para su producto.

Correo a Kpower
Enviar consulta
+86 0769 8399 3238
 
kpowerMapa