Escolar Documentos
Profissional Documentos
Cultura Documentos
Buscar
0
S/. 0,00
CATEGORAS
All Blog News Robot mvil controlado por bluetooth
ARTCULOS POPULARES
Tutorial trasmisor de celda de carga HX711, Balanza Digital ago 23, 2015
Con guracin del mdulo bluetooth HC-05 usando comandos AT ago 08, 2015
ARTCULOS RECIENTES
http://www.naylampmechatronics.com/blog/53_robot-movil-controlado-por-bluetooth.html 1/17
16/7/2017 Robot mvil controlado por bluetooth
PROMOCIONES ESPECIALES
Sensor EMG MyoWare
Controlar tus proyectos con el...
ETIQUETAS
sensor robot cnc Servo infrarrojo LED LCD driver Fuente cable
NOVEDADES
Piezo Buzzer activo 12mm
Agrega alertas o efectos de sonido a tus proyectos
S/. 1,00
S/. 7,00
S/. 70,00
S/. 12,00
http://www.naylampmechatronics.com/blog/53_robot-movil-controlado-por-bluetooth.html 2/17
16/7/2017 Robot mvil controlado por bluetooth
Sensor de presin BMP280
Sensor de presin baromtrica BMP280 de alta precisin y de bajo consumo...
S/. 15,00
S/. 28,00
S/. 50,00
Shield Relay v2
La manera ms sencilla y rpida de controlar cargas de alta corriente...
S/. 45,00
http://www.naylampmechatronics.com/blog/53_robot-movil-controlado-por-bluetooth.html 3/17
16/7/2017 Robot mvil controlado por bluetooth
En este tutorial, construiremos un robot mvil, el cual ser controlado por bluetooth desde
nuestro celular a travs de un aplicativo Android.
Materiales
Empecemos describiendo los principales materiales:
Arduino
Podemos usar cualquiera de las placas Arduino, nosotros usaremos el Arduino Uno R3 por
ser uno de los ms usados.
http://www.naylampmechatronics.com/blog/53_robot-movil-controlado-por-bluetooth.html 4/17
16/7/2017 Robot mvil controlado por bluetooth
Si usan un HC-06 estara listo para usar, si usan un HC-05 deben verificar que est
configurado como esclavo. La velocidad con la que vamos a trabajar es a 9600baudios,
que es la velocidad que viene por defecto tanto en el HC-06 como en el HC-05.
Driver Puente H
El puente H es el que nos permite invertir el giro de un motor, necesitamos un puente H
que tenga dos canales para poder controlar dos motores.
http://www.naylampmechatronics.com/blog/53_robot-movil-controlado-por-bluetooth.html 5/17
16/7/2017 Robot mvil controlado por bluetooth
Entre los puente H ms comunes tenemos el L298N, L293D, TB6612FNG y el L9110S , Algunos
mdulos aparte de los pines para controlar la direccin tienen un pin (Enable ) por donde
podemos enviar PWM y controlar la velocidad, pero para este tutorial podemos usar
cualquiera pues solo controlaremos direccin.
http://www.naylampmechatronics.com/blog/53_robot-movil-controlado-por-bluetooth.html 6/17
16/7/2017 Robot mvil controlado por bluetooth
Batera
Esto tal vez sea lo ms difcil de establecer, lo primero que hay que tener en cuenta es el
voltaje. Arduino trabaja con un voltaje entre 6 y 12V, aparte de esto hay que tener en
cuenta el voltaje del motor. Tambin hay que considerar la corriente y la capacidad, por
ejemplo si usamos una pila econmica de 9V nos durar menos de un minuto, se
recomienda que la capacidad sea superior a 500mAH
A continuacin mostramos las opciones que pueden usar dependiendo del motor que
tengan:
Motor de 6V:
Opcin 1: 4 pilas AA para los motores y una de 9V para el Arduino
Opcin 2: 1 celda de litio (batera de celular) para los motores y una pila de 9V para el
Arduino
Opcin 2: Cualquier batera superior a 6V (de suficiente corriente) y un step down para
bajar el voltaje.
Motor de 12V:
Opcin 1: Pila duracell 9V
Opcin 2: batera lipo o litio de 2 o 3 celdas.
Opcin 3: cualquier Batera de 12V (de suficiente corriente)
Opcin 4: 1 celda de litio (batera de celular) o batera de 3.7V y un step Up para
aumentar el voltaje.
Independiente del valor del voltaje de la batera podemos usar conversores DC-DC para
aumentar (step up) o reducir (step down) el voltaje.
Otros accesorios:
Adicionalmente podemos necesitamos un protoboard, cables DuPont Macho-Macho y
Hembra-Macho y cablecillo para soldar los motores.
http://www.naylampmechatronics.com/blog/53_robot-movil-controlado-por-bluetooth.html 8/17
16/7/2017 Robot mvil controlado por bluetooth
2. Conexiones elctricas:
A continuacin mostramos dos posibles conexiones dependiendo del tipo de motor que
tengan.
http://www.naylampmechatronics.com/blog/53_robot-movil-controlado-por-bluetooth.html 9/17
16/7/2017 Robot mvil controlado por bluetooth
Para este caso si necesitamos usar una sola batera, es mejor usar un step down y no
alimentar los motores con los 5V del Arduino, pues sobrecalentaramos el regulador
interno que tiene.
La betera tiene que ser superior a 6V para que pueda trabajar nuestro Arduino pero se
recomienda que tampoco sea superior a los 12V, adicionalmente la batera debe tener
suficiente corriente para que pueda alimentar los dos motores, de lo contrario nuestro
Arduino se va a estar reseteando cuando empiecen a funcionar los motores.
Antes de instalar el step down hay que regular al voltaje que deseamos, puede ser 6v, 5V,
3v, etc, variando este voltaje tambin estamos modificando la velocidad de los motores.
http://www.naylampmechatronics.com/blog/53_robot-movil-controlado-por-bluetooth.html 10/17
16/7/2017 Robot mvil controlado por bluetooth
De esta forma el voltaje que ingresa a los motores es el mismo que el de la batera.
Dependiendo del tipo de motor puedes usar la batera que ms se adecue a tu necesidad,
teniendo en cuenta que tenga la suficiente corriente y duracin.
Las conexin son similares para otros tipos de Drivers Puente H, pueden revisar nuestro
tutorial de uso del L298N en caso estn usando ese mdulo.
http://www.naylampmechatronics.com/blog/53_robot-movil-controlado-por-bluetooth.html 11/17
16/7/2017 Robot mvil controlado por bluetooth
void setup() {
// inicializar la comunicacin serial a 9600 bits por segundo:
Serial.begin(9600);
// configuramos los pines como salida
pinMode(Pin_Motor_Der_A, OUTPUT);
pinMode(Pin_Motor_Der_B, OUTPUT);
pinMode(Pin_Motor_Izq_A, OUTPUT);
pinMode(Pin_Motor_Izq_B, OUTPUT);
}
void loop() {
//movemos el robot hacia delante por 2 segundos
Mover_Adelante();
delay(2000);
//movemos el motor a la derecha por 2 segundos
Mover_Derecha();
delay(2000);
void Mover_Adelante()
{
digitalWrite (Pin_Motor_Der_A, HIGH);
digitalWrite (Pin_Motor_Der_B, LOW);
digitalWrite (Pin_Motor_Izq_A, HIGH);
digitalWrite (Pin_Motor_Izq_B, LOW);
}
void Mover_Retroceso()
{
digitalWrite (Pin_Motor_Der_A,LOW );
digitalWrite (Pin_Motor_Der_B,HIGH );
digitalWrite (Pin_Motor_Izq_A,LOW );
digitalWrite (Pin_Motor_Izq_B,HIGH );
}
void Mover_Derecha()
{
digitalWrite (Pin_Motor_Der_A,LOW );
digitalWrite (Pin_Motor_Der_B,HIGH );
digitalWrite (Pin_Motor_Izq_A,HIGH);
digitalWrite (Pin_Motor_Izq_B,LOW);
}
void Mover_Izquierda()
{
digitalWrite (Pin_Motor_Der_A,HIGH);
digitalWrite (Pin_Motor_Der_B,LOW);
digitalWrite (Pin_Motor_Izq_A,LOW );
digitalWrite (Pin_Motor_Izq_B,HIGH );
}
void Mover_Stop()
{
digitalWrite (Pin_Motor_Der_A, LOW);
digitalWrite (Pin_Motor_Der_B, LOW);
digitalWrite (Pin_Motor_Izq_A, LOW);
digitalWrite (Pin_Motor_Izq_B, LOW);
}
http://www.naylampmechatronics.com/blog/53_robot-movil-controlado-por-bluetooth.html 12/17
16/7/2017 Robot mvil controlado por bluetooth
Para probar los movimientos hay que ir probando cada funcin y ver si nuestro robot se
mueva de la misma manera como se lo ha programado, por ejemplo as como est el
cdigo, despus de encender o resetear el Arduino debe moverse hacia delante por 2
segundos, seguidamente debe girar a la derecha por dos segundos ms y lego repetir la
secuencia, si el robot gira en direccin equivocada, entonces debemos de cambiar la
polaridad de motor que gira en sentido errneo.
Podemos ir probando los movimientos de forma individual reprogramando cada vez para
cambiar el movimiento o programar todos a la vez con pausas entre movimientos, eso
depender de cada uno, despus de estar seguros que nuestro robot funciona
correctamente pasamos a implementar la comunicacin bluetooth.
Para controlar el Robot usaremos una aplicacin en nuestro celular, para esto debemos de
instalar en nuestro celular la siguiente aplicacion.
http://www.naylampmechatronics.com/blog/53_robot-movil-controlado-por-bluetooth.html 13/17
16/7/2017 Robot mvil controlado por bluetooth
int tiempo=0;
void setup() {
// inicializar la comunicacin serial a 9600 bits por segundo:
Serial.begin(9600);
// configuramos los pines como salida
pinMode(Pin_Motor_Der_A, OUTPUT);
pinMode(Pin_Motor_Der_B, OUTPUT);
pinMode(Pin_Motor_Izq_A, OUTPUT);
pinMode(Pin_Motor_Izq_B, OUTPUT);
http://www.naylampmechatronics.com/blog/53_robot-movil-controlado-por-bluetooth.html 14/17
16/7/2017 Robot mvil controlado por bluetooth
void loop() {
if (Serial.available()) {
char dato= Serial.read();
if(dato=='a')
{
Mover_Adelante();
tiempo=0;
}
else if(dato=='r')
{
Mover_Retroceso();
tiempo=0;
}
else if(dato=='d')
{
Mover_Derecha();
tiempo=0;
}
else if(dato=='i')
{
Mover_Izquierda();
tiempo=0;
}
void Mover_Adelante()
{
digitalWrite (Pin_Motor_Der_A, HIGH);
digitalWrite (Pin_Motor_Der_B, LOW);
digitalWrite (Pin_Motor_Izq_A, HIGH);
digitalWrite (Pin_Motor_Izq_B, LOW);
}
void Mover_Retroceso()
{
digitalWrite (Pin_Motor_Der_A,LOW );
digitalWrite (Pin_Motor_Der_B,HIGH );
digitalWrite (Pin_Motor_Izq_A,LOW );
digitalWrite (Pin_Motor_Izq_B,HIGH );
}
void Mover_Derecha()
{
digitalWrite (Pin_Motor_Der_A,LOW );
digitalWrite (Pin_Motor_Der_B,HIGH );
http://www.naylampmechatronics.com/blog/53_robot-movil-controlado-por-bluetooth.html 15/17
16/7/2017 Robot mvil controlado por bluetooth
digitalWrite (Pin_Motor_Izq_A,HIGH);
digitalWrite (Pin_Motor_Izq_B,LOW);
}
void Mover_Izquierda()
{
digitalWrite (Pin_Motor_Der_A,HIGH);
digitalWrite (Pin_Motor_Der_B,LOW);
digitalWrite (Pin_Motor_Izq_A,LOW );
digitalWrite (Pin_Motor_Izq_B,HIGH );
}
void Mover_Stop()
{
digitalWrite (Pin_Motor_Der_A, LOW);
digitalWrite (Pin_Motor_Der_B, LOW);
digitalWrite (Pin_Motor_Izq_A, LOW);
digitalWrite (Pin_Motor_Izq_B, LOW);
}
Como se observa al cdigo del primer ejemplo solo le hemos agregado la parte de la
comunicacin serial, en donde leemos el dato y comparamos para ver si es el carcter
correspondiente para realizar su respectivo movimiento, adicionalmente si durante 100
milisegundos no llega ningn dato detenemos el robot, y tan pronto le llega uno de los
datos reiniciamos la cuenta de los 100ms.
Una vez que tengan todo listo, tan solo hay que abrir la App, conectarnos a nuestro
modulo bluetooth y empezar a mover nuestro robot con los botones.
4 ? ? 0 ? Compartir 4
5 Comments
Hola amigo!! Felicidades por lo bien que explicas y ayudas tanto a gente como yo que tenemos
medio siglo de edad y seguimos estudiando electrnica. He realizado un trabajo con tres motores
para una pequea gra y t programacin de Arduino me ha venido genial y he podido incorporar
el tercer motor y he cambiado los movimientos. Tengo un pequeo problema al hacerme mi propia
app con MIT App inventor que cuando pulso el botn del mvil me lo hace como un click, aunque
lo haga con "touch down" y con tu aplicacin si me funciona los motores mientras lo tengo pulsado
(No me sirve la tuya porque necesito dos botones para el tercer motor) Ojal me puedas ayudar
Un abrazo desde Martos (Jan) ESPAA Feliz ao nuevo!!
Reply
pablo martinez
feb 26, 2017
http://www.naylampmechatronics.com/blog/53_robot-movil-controlado-por-bluetooth.html 16/17
16/7/2017 Robot mvil controlado por bluetooth
Que maravilla lo bien que lo explicis. Voy a usar este ejemplo para dar clases en Espaa. Muchas
gracias!
Reply
Luis
may 29, 2017
Reply
Toteboy
jun 14, 2017
Hola buenas tardes, tengo un problema con este montaje. Una vez empleado el montaje a 9V y
cargado el programa (tras haber probado todo con el "test de movimientos") y establecido la
comunicacin bluethooth, a la hora de mandar los pulsos desde vuestra app, no llega ninghn tipo
de impulso al receptor HC-06 a 9600 baudios. Quisiera saber cmo puedo solucionarlo. Gracias de
antemano.
Reply
Naylamp
jun 30, 2017
Hola, primero asegrate si la app se a conectado al HC-06, el led del HC-06 debe
dejar de parpadear mientras est conectado. Asegrate de haber conectado
correctamente los pines RX y TX como en la imagen (cruzado rx con tx), el cable
USB debe de estar desconectado de la PC (o por lo menos cerrado el monitor
serial). Verifica que la batera tenga suficiente corriente para alimentar todo el
circuito. Verifica que el HC-06 est configurado a 9600
Reply
Leave a Reply
* Name:
* E-mail:
(Not Published)
Website:
(Site url withhttp://)
* Comment:
Submit
http://www.naylampmechatronics.com/blog/53_robot-movil-controlado-por-bluetooth.html 17/17