jueves, 30 de enero de 2014

The Fantastic Car

Me dispongo a explicar detalladamente la fabricación, montaje y programación de un vehículo controlado por arduino a través de bluetooth desde mi smartphone o tablets Android con una aplicación desarrollada por mí.

A groso modo este sería el prototipo:




No puedo empezar de otra manera que adjuntando la tarjeta de arduino que necesitamos.




Este será el chasis junto con sus motores y respectivas ruedas, desde el cual empezaré a desarrollar el coche. Se pueden encontrar varios modelos y este mismo pinchando en Ebay.




Adjunto fotografia de como hay que cruzar los cables de los motores para hacer que los cuatro sean como dos.

Las motores irán dos a dos, izquierda-derecha para permitir girar sin necesidad de servos.
Con un Driver L982n adquirido como no, en Ebay.






Para probar que funcionan los motores con el driver L298N es tan fácil como cargar un programa de prueba en nuestro arduino mega, puedes descargar el sketch odigo desde aquí


Para la comunicación con el arduino desde el movil utilizaré el Bluetooth HC-06 


De los 6 pines conectamos 4:

                -VCC (3,3v)
-GND
-RX (conectado a TX de arduino)
-TX (conectado a RX de arduino)

En mi caso, conectado al Serial3, cruzados.



Además de estar controlado por bluetooth, el coche dispondrá de distintos sensores, los cuales implementaré a continuación información detallada sobre ellos, como son los ultrasonidos para medir distancia, sensor de temperatura y humedad etc...


Los ultrasonidos que he utilizado para medir la distancia son los HC-SR04 Los uso para evitar colisiones.

Consta de cuatro pines:
-VCC (5v)
-TRIG (trigger)
-ECHO
-GND

El "echo" y "trigger" se conectan a dos patillas digitales. Para controlarlos descargamos esta libreria Ultrasonic.h
                               
Esta es la placa donde irán acoplados


Para medir la temperatura y humedad del ambiente, DHT11, para lo simple que es funciona bastante bien, también gracias a esta librería. DHT.h



La temperatura además de mostrármela en la app Android cuando pulso un botón, arduino la manda a otro arduino conectado al ordenador a través de dos Módulos wireless NRF24L01

He construido una placa para acoplar los módulos bluetooth, temperatura y humedad y wireless.
Para así no utilizar protoboard.




El arduino que esta conectado al ordenador envía por puerto serie los datos, que el programa Proccessing interpreta, muestra por pantalla y almacena en un archivo de extensión .txt

Aquí adjunto los programas de Temperatura Arduino y Temperatura Proccesing

Gracias una rueda dentada y una placa de un sensor echa por mi, puedo saber a la velocidad a la que giran las ruedas, y así también la distancia aproximada recorrida.



       
 

Con la ecuación E=VxT y un sencillo programa: ENCODER


En el frontal del coche tenía pensado incorporar una placa a doble cara con componentes smd, pero por falta de tiempo, solo me ha faltado el montaje, ya que tanto el esquema y pcb como el programa para el PIC16f84 ya lo tenía preparado. Aquí esta el programa.




Tampoco he tenido tiempo de incorporar un programa que hace que el coche aparque solo, he estado trabajando en ello, pero es complicado.

Con Appinventor 2 hago la aplicación para mi smartphone, con la app de la izquierda controlo el coche mediante botones, con la de la derecha mediante el sensor de inclinación que lleva mi telefono o tablet.

                  


El código fuente de estos programas viene siendo así:







Como programa para los ultrasonidos adjunto el sketch Ultrasonidosmotores. Con este programa habilito o inhabilito los ultrasonidos dependiendo de la dirección que tenga el coche en cada momento, y gracias a él, impide la colisión. Por ejemplo: cuando va hacia adelante y detecta un obstáculo se detiene, en este preciso momento no me permite ir hacia adelante ya que se chocaría.




El diagrama de flujos del programa final que es el del video es este:


Estudio de eficiencia energética:
Gracias a una fuente de alimentación con displays he podido hacer unas gráficas con el consumo de los motores a diferentes voltajes y diversos valores de PWM. 

Como se puede observar, rondando los 180-200 de pwm habría un consumo aceptable con respecto a la velocidad.




En otra asignatura del módulo, he fabricado una placa también a doble cara son componentes smd, que serviría como simulador del coche. Este es el esquema en Proteus ISIS 7. 
Aquí esta el esquema en ARES Adjunto PCB





Esta es la primera planificación, temporal, ya que semana a semana intentare modificarla lo menos posible.

2 comentarios:

  1. Hola muy buen proyecto!! yo ando interesado en hacer uno por el puro placer de construirlo, no se mucho acerca del mundo de la electrónica pero lo esencial si se,,, yo tengo un arduino uno, crees que con ese lo pueda hacer??? y no sabes como?? unos planos o algo así por el estilo... Saludos :D

    ResponderEliminar
  2. Hola buen proyecto para realizar pero los códigos para el sensor de temperatura y el resto a partir de este no funciona puedes re subirlos porfa saludos

    ResponderEliminar