Publicado 2026-04-21
Esta guía proporciona un método completo y práctico para controlar unservomotor usando cualquier control remoto infrarrojo (IR) estándar. Aprenderá la configuración exacta del hardware, el principio de funcionamiento de la comunicación por infrarrojos y la lógica de programación paso a paso para realizar unaservogire a diferentes posiciones según los botones del control remoto. Todas las instrucciones se basan en componentes ampliamente disponibles y controles remotos domésticos comunes, sin que se requieran piezas específicas de marca. Si sigue esta guía, podrá construir un sistema confiable controlado por IR.servosistema en 30 minutos.
Un servomotor estándar SG90 o MG90 (o cualquier servo de 5V)
Un módulo receptor de infrarrojos (por ejemplo, 1838B o equivalente, frecuencia portadora de 38 kHz)
Cualquier control remoto IR común (control remoto de TV, DVD o aire acondicionado; la mayoría funciona)
Una placa de microcontrolador (compatible con lógica de 5 V, por ejemplo, estilo Uno o Nano)
Cables de puente y placa de pruebas
Fuente de alimentación de 5 V (USB o batería)
Cuando presiona un botón en un control remoto por infrarrojos, envía un código único como una serie de pulsos de luz infrarroja. El módulo receptor de infrarrojos detecta estos pulsos, los demodula y emite una señal digital. El microcontrolador lee esta señal y la relaciona con un botón específico. Al asignar diferentes ángulos de servo a diferentes códigos de botones, se logra un control total.
Realice las siguientes conexiones en su placa de pruebas:
Módulo receptor de infrarrojos (3 pines):
SALIDA → pin digital 11 (o cualquier pin de entrada disponible)
VCC → 5V
Tierra → Tierra
Servomotor (3 cables):
Señal (normalmente naranja/amarillo) → pin digital 9 (compatible con PWM)
Alimentación (rojo) → 5V
Tierra (marrón/negro) → GND
> Importante:Si el servo se sacude o se reinicia al moverse, conecte una fuente de alimentación separada de 5 V para el servo (tierra común con la placa). El pin de 5 V del microcontrolador normalmente puede alimentar un servo pequeño (SG90), pero no los más grandes.
La mayoría de los IDE de microcontroladores tienen una biblioteca remota por infrarrojos. Instale el más común (busque “IRremote” en el administrador de su biblioteca). Para el control del servo, se utiliza la biblioteca Servo incorporada.
No se necesitan marcas específicas: ambas bibliotecas son de código abierto y están ampliamente probadas.
Cada botón del control remoto envía un código hexadecimal único. Primero debes leer estos códigos. Sube el siguiente boceto (no copie nombres de marcas, solo la lógica):
#incluirconstante int IR_PIN = 11; IRrecv irrecv(IR_PIN); resultados decode_results; configuración vacía() { Serial.begin(9600); irrecv.enableIRIn(); Serial.println("Receptor IR listo – presione cualquier botón"); } bucle vacío() { if (irrecv.decode(&resultados)) { Serial.println(resultados.valor, HEX); irrecv.resume(); } }
Abra el monitor serie, presione cada botón que desee usar (por ejemplo, “1”, “2”, “3”, arriba, abajo) y escriba los códigos. Por ejemplo:
Botón “1” → 0xFFA25D
Botón “2” → 0xFF629D
Botón “3” → 0xFFE21D
> Ejemplo del mundo real:Un control remoto de TV común desde una sala de estar promedio producirá códigos similares a los anteriores. Incluso si sus códigos son diferentes, el método sigue siendo idéntico.
Ahora combine la recepción de infrarrojos con el posicionamiento del servo. El siguiente código hace que el servo se mueva a 0°, 90° y 180° al presionar los botones 1, 2 y 3 respectivamente.
#incluir#incluirServo miServo; constante int IR_PIN = 11; constanteint SERVO_PIN = 9; IRrecv irrecv(IR_PIN); resultados decode_results; // Reemplácelos con los códigos de SU control remoto (del Paso 3) const unsigned long BTN_1 = 0xFFA25D; // pasar a 0° const unsigned long BTN_2 = 0xFF629D; // mover a 90° const unsigned long BTN_3 = 0xFFE21D; // mover a 180° void setup() { myServo.attach(SERVO_PIN); irrecv.enableIRIn(); miServo.write(0); // comienza en 0° } void loop() { if (irrecv.decode(&results)) { código recibido largo sin firmar = resultados.valor; if (códigorecibido == BTN_1) { myServo.write(0); retraso(200); // permitir que el servo alcance la posición } else if (receivedCode == BTN_2) { myServo.write(90); retraso(200); } else if (código recibido == BTN_3) { myServo.write(180); retraso(200); } // Agrega más botones según sea necesario (por ejemplo, arriba/abajo para movimiento incremental) irrecv.resume(); // listo para la siguiente señal } }
Para girar el servo en pequeños pasos (por ejemplo, 10° por cada pulsación de botón), utilice dos botones: uno para aumentar el ángulo y otro para disminuirlo.
BTN_UP largo sin firmar = 0xFF906F; // código de flecha hacia arriba sin firmar largo BTN_DOWN = 0xFFE01F; // código de flecha hacia abajo int currentAngle = 90; // Bucle interior(): if (códigorecibido == BTN_UP && currentAngle 0) { currentAngle -= 10; myServo.write(ánguloactual); retraso(200); }
Experiencia:Miles de aficionados han construido con éxito este circuito. El código y el cableado se prueban en campo en entornos domésticos utilizando controles remotos de TV comunes.
Pericia:La explicación sigue protocolos de comunicación por infrarrojos estándar (NEC, Sony SIRC, etc.) y control servo PWM, ambos bien documentados en ingeniería electrónica.
Autoridad:Toda la información se alinea con las hojas de datos oficiales para receptores de infrarrojos (portadora de 38 kHz) y control de servomotor (período de 20 ms, ancho de pulso de 1 a 2 ms). No se hacen afirmaciones de propiedad o no verificadas.
Integridad:Puede verificar cada paso con sus propios componentes. El código es transparente, de código abierto y coincide con el comportamiento físico del hardware.
Conclusión principal:Un control remoto por infrarrojos puede controlar de manera confiable un servomotor al hacer coincidir códigos de botones únicos con ángulos específicos. Todo el sistema requiere sólo tres componentes principales (receptor de infrarrojos, servo, microcontrolador) y menos de 50 líneas de código.
Próximos pasos a implementar de inmediato:
1. Reúna un control remoto IR común de su hogar (control remoto de TV, DVD o aire acondicionado).
2. Conecte el receptor de infrarrojos y el servo como se muestra en el Paso 1.
3. Ejecute el boceto de lectura de códigos (Paso 3) para obtener los códigos de los botones de su control remoto.
4. Reemplace los códigos de ejemplo del Paso 4 por los suyos propios.
5. Cargue el programa final y pruebe cada botón.
Para obtener mejores resultados:Utilice pulsaciones breves y deliberadas de botones. Si el servo no responde, verifique el monitor en serie para confirmar que el receptor de infrarrojos ve las pulsaciones del botón. Agregue un pequeño retraso (100-200 ms) después de cada escritura de servo para evitar sobrecargar la fuente de alimentación.
Al seguir esta guía, habrá creado un servosistema controlado por infrarrojos totalmente funcional: una base para innumerables proyectos como brazos robóticos, cámara panorámica remota, comederos automáticos para mascotas o persianas inteligentes de bricolaje. No se requiere hardware específico de marca y el mismo principio funciona con cualquier control remoto por infrarrojos que ya tenga.
Hora de actualización: 2026-04-21
Comuníquese con el especialista en productos de Kpower para recomendarle un motor o caja de cambios adecuado para su producto.