viernes, 11 de enero de 2019

CARRO A CONTROL REMOTO MANEJADO DESDE UN CELULAR USANDO ARDUINO Y UN MODULO DE BLUETOOTH

   

CARRO A CONTROL REMOTO MANEJADO DESDE UN CELULAR USANDO ARDUINO Y UN MODULO DE BLUETOOTH 


INTRODUCCIÓN

En este proyecto se mostrara cómo hacer un automóvil controlado por teléfono Android usando el módulo Bluetooth y la placa Arduino Uno.

Para controlar el automóvil, se utilizó un dispositivo Android utilizando una aplicación llamada 
Arduino Control Car V2 desarrollada por El Profe Garcia. La aplicación es gratis y ha sido desarrollada en AppInventor de Google.

Si deseas ver como se desarrolla la aplicación android en appinventor te invito ha ver el vídeo de el profe garcía. 

Para el movimiento del carro al contar con dos motores se ha usado la aceleración y el sentido de le movimiento de los motores para el avance, retroceso, izquierda y derecha del carro.

En general, este proyecto cubre todo lo que necesita para construir un automóvil controlado por móvil (hardware + codificación).



MATERIALES:

  • Placa Arduino Uno

  • Modulo bluetooth HC05 

  • Puente H L298N Para 2 motores.

  • 2 motores DC 6 + Caja reductora + rueda
  • 40 Conectores Dupont de 15cm Macho - Macho
  •  4 Conectores Dupont Hembra - Macho

  • Tripley de 12 lineas, dimensiones: 12cm x 26 cm

  • Rueda loca

  • 2 Tonillos de media para la rueda loca.

  • 4 Tornillos de una pulgada pulgada por 3 lineas para los motores.
  • Un metro de cable rojo y negro para los motores. 


  • 1 PROTOBOARD


Paso 1: Recorte del Tripley

Se recorta el tripley por 12cm x 26 cm. Como se muestra en la imagen se le ha recortado las esquinas de lo que sera la parte delantera del carro.




Paso 2: Instalación de la rueda loca

Se marca el centro del Tripley y se entornilla la rueda loca.



Paso 3: Instalación de los motores

Marcamos ha unos 21 cm ambos lados para poner los 2 motores respectivamente. Como se muestra en las imágenes.

Entornillamos los dos motores


El resultado:


Paso 4: Instalación del puente H

Como se puede ver en la imagen el puente H recibirá una alimentación de 12V de una batería de laptop.

Se conectan los motores al puente H.


Se conecta el PIN 5, PIN 6, PIN 9 Y PIN 10 del arduino al puente H con cables MACHO - HEMBRA. (Nota: Se usan esos pines por que esos se programaran en este proyecto, pueden programar cualquier otro pin)


El PIM 5 Y PIN 6 para controlar el motor IZQUIERDO, El PIN 9 y PIN 10 para controlar el motor DERECHO. 


Y se alimenta la parte IZQUIERDA del PROTOBOARD con 12V.


Se alimenta la placa del puente H con 12V que circulan por la parte izquierda del PROTOBOARD.


La placa del puente H al alimentarse con 12V, por los dos primeros puertos en el tercero me genera 5V para que puedan ser usado para cualquier otro componente del proyecto. En este proyecto esos 5V que genera el puente H se usa para alimentar la parte derecha del  PROTOBOARD.



Paso 5: Instalación de Bluetooth

Es este paso se conectara el modulo bluetooth al arduino y se le dará alimentación ha este. En el siguiente cuadro se muestran las conexiones del modulo BLUETOOTH.


Nota: La TXD (Transmisión) del modulo BLUETOOTH va ha la RXD (Recepción) del Arduino y  La RXD (Recepción) del modulo BLUETOOTH va ha la TXD (Transmisión) del Arduino.

Se inserta el modulo BLUETOOTH en el PROTOBOARDcomo la siguiente imagen.


Se alimenta el modulo bluetooth conectando la entradas de alimentación del BLUETOOTH (5V Y GND) ha la parte derecha del PROTOBOARD por donde viene circulando 5V.


NOTA: Nunca conectes el modulo bluetooh, ni el Arduino en la parte izquierda del PROTOBOARD por donde viene circulado 12V, de ser el caso tu arduino y modulo BLUETOOTH SE QUEMARAN.

Para terminar de instalar el modulo BLUETOOTH conectamos los pines de transmision y recepcion del modulo BLUETOOTH  al ARDUINO. 
  • Transmisión del BLUETOOTH al pin de recepción del Arduino (Por lo general es el PIN 0).
  • Recepción del BLUETOOTH al pin de transmisión del Arduino (Por lo general es el PIN 1).




Paso 6: Alimentación del Arduino y proyecto en general

Se conecta los pines de 5V y GND del arduino a la parte derecha del PROTOBOARD por donde circulan 5V.

NOTA: Nunca conectes el modulo bluetooh, ni el Arduino en la parte izquierda del PROTOBOARD por donde viene circulado 12V, de ser el caso tu arduino y modulo BLUETOOTH SE QUEMARAN.

Se conecta la parte izquierda del PROTOBOARD a la batería de laptop y alimenta todo el carro.







CÓDIGO ARDUINO



int estado=0; //DECLARAMOS UNA VARIABLE PARA OBTENER LOS VALORES QUE VIENE DEL BLUETOOTH

//DECLARAMOS LOS PINES DE LAS ORDENES PARA LOS MOTORES
int MotorIzqA=5;
int MotorIzqB=6;
int MotorDerA=9;
int MotorDerB=10;

//DECLARAMOS UNA VELOCIDAD DE 200 PARA TODOS LOS MOTORES
int velocidad=150;

void setup() {
  //ABRIMOS EL PUERTO PARA ESCUCHAR EL BLUETOOTH
  Serial.begin(9600);

  //INICIALIZAMOS LOS PUERTOS Y LES INDICAMOS QUE VAN HA SER DE SALIDA
  pinMode(MotorIzqA, OUTPUT);
  pinMode(MotorIzqB, OUTPUT);
  pinMode(MotorDerA, OUTPUT);
  pinMode(MotorDerB, OUTPUT);

}

void loop() {

  //OBTENERMOS LO QUE VIENE POR EL BLUETOOTH Y LO GUARDAMOS EN LA VARIABLE ESTADO
  if(Serial.available()>0){
    estado = Serial.read();
  }
 
  if(estado=='a'){           // DESPLAZAMOS AL FRENTE
    analogWrite(MotorDerA, 0);  
    analogWrite(MotorDerB, velocidad);   

    analogWrite(MotorIzqA, 0);  
    analogWrite(MotorIzqB, velocidad); 
  }
  if(estado=='e'){          // DESPLAZAMOS ATRAS
    analogWrite(MotorDerA, velocidad);  
    analogWrite(MotorDerB, 0);   

    analogWrite(MotorIzqA, velocidad);  
    analogWrite(MotorIzqB, 0-); 
  }
  
  if(estado=='b'){          // DESPLAZAMOS A LA IZQUIERDA    
    analogWrite(MotorDerA, 0);  
    analogWrite(MotorDerB, velocidad);   

    analogWrite(MotorIzqA, 0);  
    analogWrite(MotorIzqB, 0); 
  }  
  if(estado=='d'){          // DESPLAZAMOS A LA DERECHA    
    analogWrite(MotorIzqA, 0);  
    analogWrite(MotorIzqB, velocidad); 

    analogWrite(MotorDerA, 0);  
    analogWrite(MotorDerB, 0);   
  } 
  
  if(estado=='c'){         // PARAMOS TODOS LOS MOTORES
    analogWrite(MotorIzqA, 0);      
    analogWrite(MotorIzqB, 0); 
    
    analogWrite(MotorDerA, 0);  
    analogWrite(MotorDerB, 0);   
  }

}

Resultado Final:




Integrante:


  • CESAR ROBERTO GARCIA INFANTE
  • DANIEL DAVID CAMPOS YARLEQUE
  • RUBY JAZMIN PIEDRA DUQUE 
  • INGRID LISBETH ZAPATA ORDOÑEZ

Cesar GI

About Cesar GI

Lo que me importa es poder enseñar lo poco que se, por que asi como yo aprendo leyendo gracias a las personas que comparten sus conocimiento yo tambien quiero ayudar a la comunidad en español aportando lo poco que he aprendido hasta el momento.