Control de Velocidad de Motor DC con Arduino y Bluetooth
Este artículo te guiará a través del proceso de controlar la velocidad de un motor DC de forma inalámbrica usando Arduino y la aplicación RoboRemo para dispositivos Android. Aprenderás cómo conectar un módulo Bluetooth a tu Arduino, programar el Arduino para que responda a los comandos de la aplicación y construir el circuito para controlar el motor.

¿Por qué usar Bluetooth para controlar un motor DC?
Bluetooth ofrece varias ventajas al controlar un motor DC:
- Control Inalámbrico : Permite controlar el motor desde una distancia razonable.
- Facilidad de Uso : La aplicación RoboRemo proporciona una interfaz simple para controlar la velocidad del motor.
- Versatilidad : Se puede usar para controlar múltiples motores y otros dispositivos.
Componentes Necesarios
Para este proyecto, necesitarás los siguientes componentes:
- Arduino UNO (o similar)
- Módulo Bluetooth (BlueSMiRF o similar)
- Motor DC
- Transistor NPN (D882 o similar)
- Resistencia de 220 Ohmios (o 100 o 470 Ohmios)
- Cable USB para Arduino
- Fuente de alimentación para Arduino
- Fuente de alimentación para el motor DC
- Alambres
- Teléfono Android con la aplicación RoboRemo instalada
Conexión del Circuito
El siguiente diagrama muestra cómo conectar los componentes:
Conexión del Módulo Bluetooth a Arduino:
- GND del módulo Bluetooth a GND del Arduino
- VCC del módulo Bluetooth a 5V del Arduino
- TX-O del módulo Bluetooth a pin 0 del Arduino
- RX-I del módulo Bluetooth a pin 1 del Arduino
Conexión del Motor DC y el Transistor:
- Conecta el positivo del motor DC a la fuente de alimentación del motor.
- Conecta el negativo del motor DC al colector del transistor.
- Conecta la base del transistor al pin 9 del Arduino (salida PWM).
- Conecta el emisor del transistor a GND.
- Conecta la resistencia de 220 Ohmios entre el pin 9 del Arduino y la base del transistor.
Programación del Arduino
El código Arduino para controlar la velocidad del motor DC a través de Bluetooth es el siguiente:
#define bluetooth Serialint motorSpeedPin = 9; // Pin 9 (PWM) para controlar la velocidad del motorchar cmd[100];int cmdIndex;void exeCmd() { if (cmd[0] == ' && cmd[1] == 'p' && cmd[2] == 'e' && cmd[3] == 'e' && cmd[4] == 'd' && cmd[5] == ' ') { int val = 0; for (int i = 6; cmd[i] != 0; i++) { val = val 10 + (cmd[i] - '0'); } analogWrite(motorSpeedPin, val); }}void setup() { delay(500); // Espera a que el módulo Bluetooth se inicie bluetooth.begin(115200); // Velocidad de baudios predeterminada del Bluetooth pinMode(motorSpeedPin, OUTPUT); analogWrite(motorSpeedPin, 0); cmdIndex = 0;}void loop() { if (bluetooth.available()) { char c = (char)bluetooth.read(); if (c == '') { cmd[cmdIndex] = 0; exeCmd(); // Ejecuta el comando cmdIndex = 0; // Reinicia cmdIndex } else { cmd[cmdIndex] = c; if (cmdIndex < 99) cmdIndex++; } }}Configuración de RoboRemo
Una vez que hayas cargado el código en el Arduino, debes configurar RoboRemo para controlar el motor.
- Abre la aplicación RoboRemo en tu teléfono Android.
- Crea un nuevo control deslizante (slider).
- Asigna el control deslizante al puerto serie del Arduino (en RoboRemo, busca el nombre del puerto serie que corresponde a tu Arduino).
- En el control deslizante, selecciona el rango de valores que deseas usar (por ejemplo, 0-255).
- En la configuración del control deslizante, agrega un comando que envíe al Arduino el valor del control deslizante. Este comando debe ser "speed" seguido de un espacio y el valor del control deslizante (por ejemplo, "speed 100").
Prueba del Sistema
Con el circuito conectado, el código cargado y RoboRemo configurado, puedes probar el sistema:
- Conecta el Arduino a la fuente de alimentación.
- Enciende el motor DC.
- Abre la aplicación RoboRemo y mueve el control deslizante. Deberías ver que la velocidad del motor cambia en respuesta a los movimientos del control deslizante.
Recomendaciones
- Si el motor no funciona correctamente, asegúrate de que el transistor esté conectado correctamente y de que la polaridad del motor sea la correcta.
- Para motores más grandes, puedes usar dos transistores en paralelo para manejar la corriente.
- Puedes agregar un potenciómetro para controlar manualmente la velocidad del motor además del control Bluetooth.
Consultas Habituales
¿Qué es el PWM?
PWM (Modulación de Ancho de Pulso) es una técnica que se utiliza para controlar la velocidad de un motor DC. El PWM funciona cambiando el ancho de pulso de una señal digital para variar la cantidad de potencia que se entrega al motor. Un ancho de pulso mayor significa más potencia y una velocidad más alta.
¿Puedo controlar más de un motor con este método?
Sí, puedes controlar varios motores usando este método. Tendrás que asignar un pin PWM separado en el Arduino a cada motor y usar comandos de Bluetooth únicos para cada motor.
¿Cómo puedo aumentar el rango de control de la velocidad?
Puedes aumentar el rango de control de la velocidad ajustando el rango de valores del control deslizante en RoboRemo. También puedes usar una librería de Arduino que te permita controlar la velocidad del motor con mayor precisión.
"
Si quieres conocer otros artículos parecidos a Control de velocidad de motor dc con arduino y bluetooth puedes visitar la categoría Motor.
