Controlar un motor de corriente continua con un control remoto IR utilizando Arduino y L293D
Este proyecto demuestra cómo controlar la dirección y la velocidad de un motor de corriente continua (CC) utilizando un control remoto de infrarrojos (IR), una Arduino Uno y un chip controlador de motor L293D. Esta configuración permite un control preciso del motor, haciéndolo adecuado para una variedad de aplicaciones.
Este proyecto abre un mundo de posibilidades para tus esfuerzos de electrónica DIY. Aquí hay algunas ideas para que empieces:
- Robot Control Remoto:Controla el movimiento de un pequeño robot utilizando un control remoto IR.
- Sistema de Cortinas Automatizado:Abre y cierra cortinas o persianas de forma remota.
- Instalaciones de Arte Interactivas:Crea piezas de arte dinámicas con partes móviles controladas por un control remoto IR.
- Sistema de panorámica e inclinación:Controla el paneo y la inclinación de una cámara o sensor utilizando un control remoto por IR.
Hardware/Componentes
- Arduino Uno
- L293D Controlador de Motor IC
- Motor de CC
- Control remoto IR y receptor
- Diodos (1N4001 x4)
- Cables de conexión
- Fuente de alimentación (por ejemplo, batería de 9V para el motor)
Guía de cableado
%%WIRING%%
(en video a las :14)
El chip L293D requiere conexiones tanto al Arduino como a una fuente de alimentación externa para el motor. Se utilizan diodos para la protección contra retroceso. El receptor IR se conecta a los pines de 5V y GND del Arduino, con el pin de señal conectado al pin digital 11 (configurable en el código). El motor se conecta a los pines de salida del L293D, que son controlados por el Arduino.
Explicación del código
(en video a las 07:30)
El código de Arduino proporcionado utiliza la biblioteca IRremote para decodificar señales del control remoto IR. Los parámetros configurables cruciales dentro del código incluyen:
const char type ='B';// W for white, B for black. Must keep single quotes like 'B' or 'W'
const boolean PCB = 0;// if receiver is PCB set to 1, if not set to 0. See video for details
Establecer eltypevariable a 'W' para un control remoto blanco o 'B' para un control remoto negro (en el video a las 07:41). ElPCBla variable debe establecerse en 1 si su receptor IR tiene un PCB, y 0 si es un módulo desnudo (en el video a las 07:50).
const String RIGHT=">";// move motor to the right (CW) with this key on remote
const String LEFT ="<";// move motor to the left (CCW) with this key on remote
const String STOP ="OK";// stop motor with this key on remote
Estas líneas definen las etiquetas de los botones del control remoto IR para controlar el motor. Asegúrate de que coincidan con las etiquetas de tu control remoto (en el video a las 08:12). Puedes personalizarlas para usar diferentes botones en tu control remoto.
#define P1A 2 // define pin 2 as for P1A
#define P2A 7 // define pin 7 as for P2A
#define EN12 8 // define pin 8 as for 1,2EN enable
int RECV_PIN = 11;
Estas líneas definen los pines de Arduino utilizados para controlar el controlador de motor L293D (en el video a las 09:52).P1AyP2Acontrola la dirección, yEN12habilita el motor.RECV_PINes el pin conectado a la salida de señal del receptor IR (en el video a las 06:52). Modifica esto si estás utilizando pines diferentes.
Proyecto en Vivo/Demostración
(en video a las 14:15)
El video demuestra el proyecto en acción, mostrando cómo el motor de CC responde a los comandos del control remoto IR. La demostración muestra cómo controlar la rotación del motor en el sentido horario y antihorario y cómo detener el motor utilizando diferentes botones del control remoto.
Capítulos
- [00:00] Introducción y visión general del proyecto
- [00:53] Componentes del proyecto y requisitos previos
- [02:14] Explicación del cableado
- [07:30] Explicación del código y configuración
- Demostración del proyecto con control remoto negro y PCB
- Demostración con Control Remoto de Plata y PCB
- [17:42] Demostración con Control Remoto Plateado y Módulo Desnudo
- Demostración con Control Remoto Negro y Módulo Desnudo
Recursos y referencias
-
ExternoDescargar biblioteca para Arduino (GitHub)github.com
Archivos📁
No hay archivos disponibles.