memoria coche teledirigido. - … a lospines4,5 y10 respectivamente para el motorizquierdo...
Post on 25-Mar-2018
220 Views
Preview:
TRANSCRIPT
MEMORIA COCHE
TELEDIRIGIDO.
Realizado por: -Clara-Luz Garcia Mena I.E.S Vicente Aleixandre -Sara Gutiérrez de Agüera 1/06/17 -Ángela Chocán Márquez
ÍNDICE
1.Finalidad del sistema.
2.Búsqueda de información.
3. Hardware.
4. Software.
5. Funcionamiento.
6. Evaluación.
7. Aportaciones individuales.
1. Finalidad del sistema. Teníamos varias opciones a elegir, pero al final, todas estuvimos de acuerdo en
realizar un coche teledirigido que mediante una aplicacion del movil programada con
la app inventor se pudiese mover en cuatro direcciones (adelante, atrás, izquierda y
derecha) pulsando distintas flechas. Pese a que no fuese una idea muy original
decidimos hacerlo puesto que a las tres nos hacía gran ilusión y sabíamos que nos
implicaríamos mucho en el proyecto.
Éste debía cumplir ciertas necesidades como eran:
Saber controlar la rutina de los motores (que era lo primordial).
Conocer el funcionamiento del Driver L298N.
Profundizar en los principios de programación de arduino.
Que estuviera conectado mediante bluetooth a la aplicación.
2. Búsqueda de información. Al comienzo de la creación del coche debíamos comenzar viendo coches ya
hechos. La primera búsqueda que hicimos fue en YouTube, ahí encontramos
muchos videos de distintos coches pero primordialmente nos fijamos en estos dos:
https://www.youtube.com/watch?v=KAEeELZ5RVc
https://www.youtube.com/watch?v=RXzr7g-N0-A
Sin embargo ninguno nos sirvió ya que lo debíamos hacer con arduino y su
respectiva programación. Además comenzamos a utilizar el Driver L298N y tuvimos
que buscar información extra aparte de la que nos dió el profesor ya que nunca lo
habíamos usado. Lo buscamos en diversas páginas como por ejemplo:
http://www.dx.com/p/l298n-dual-h-bridge-dc-stepper-motor-driver-controller-fo
r-arduino-robot-car-149107
http://www.prometec.net/blog-mblock-coche-introduccion/
https://tecnopujol.wordpress.com/2010/06/16/robot-esquiva-objetos/
Además, también intentamos sustituir el Driver + la Placa arduino por una sola placa
que incluía ambas cosas que era el L298P. Pese a que finalmente no acabamos
usándolo la información que obtuvimos la sacamos de las siguientes páginas:
http://www.robotistan.com/arduino-smd-l298-dual-motor-driver-shield-motor-ar
duino-shield
http://www.ebay.es/itm/L298P-Shield-R3-DC-Motor-Driver-Module-2A-H-Bridg
e-2-way-For-Arduino-UNO-2560-/302246007045?hash=item465f441105:g:ecI
AAOSwXeJYFrhD
3. Hardware.
LISTA DE MATERIALES
Nº Denominación Cantidad
1 Arduino Uno 1
2 USB de conexión 1
3 Protoboard 1
4 Cables Board 19
5 Driver L298N 1
6 Módulo Bluetooth 1
7 Cinta aislante 1
8 Jack 1
9 Pilas 1.5V 4
10 Portador de pilas 1.5V 1
10 Pila 9V 1
11 Motor 2
4.Software. Programación de arduino.
/* COCHE TELEDIRIGIDO. */ //Pines del bluetooth. #include <SoftwareSerial.h> SoftwareSerial BT1 (8, 2);; //RX, TX
//Pines de los motores. // MOTOR IZQUIERDO. const int inL1 = 4;; const int inL2 = 5;; // MOTOR DERECHO. const int inR3 = 12;; const int inR4 = 13;; int incomingByte;; // VELOCIDAD. const int velR = 10;; const int velL = 11;; void setup() //Declaramos los pines de los motores como salidas digitales. pinMode (inL1, OUTPUT);; pinMode (inL2, OUTPUT);; pinMode (inR3, OUTPUT);; pinMode (inR4, OUTPUT);; //Declaramos el valor de la velocidad. analogWrite (velR, 186);; analogWrite (velL, 255);; //Establecemos la velocidad de comunicación entre el bluetooth y arduino. BT1.begin (9600);; void loop() //Comprobamos si hay datos que entren a través del bluetooth. if (BT1.available() > 0) //Lee el último dato que ha recibido. incomingByte = BT1.read ();; //Si recibe la letra 'W', el coche se mueve hacia delante. if (incomingByte == 'W') delante();; //Si recibe la letra 'S', el coche se mueve hacia atrás. if (incomingByte == 'S') atras();;
//Si recibe la letra 'A', el coche gira a la izquierda. if (incomingByte == 'A') izquierda();; //Si recibe la letra 'D', el coche gira a la derecha. if (incomingByte == 'D' ) derecha();; //Si recibe la letra 'P', el coche se para. if (incomingByte == 'P') parar();; //Rutina motores hacia delante. void delante() digitalWrite (inL1, HIGH);; digitalWrite (inL2, LOW);; digitalWrite (inR3, LOW);; digitalWrite (inR4, HIGH);; //Rutina motores hacia atrás. void atras() digitalWrite (inL1, LOW);; digitalWrite (inL2, HIGH);; digitalWrite (inR3, HIGH);; digitalWrite (inR4, LOW);; //Rutina motores hacia la derecha. void derecha() digitalWrite (inL1, HIGH);; digitalWrite (inL2, LOW);; digitalWrite (inR3, LOW);; digitalWrite (inR4, LOW);;
//Rutina motores hacia la izquierda. void izquierda() digitalWrite (inL1, LOW);; digitalWrite (inL2, LOW);; digitalWrite (inR3, LOW);; digitalWrite (inR4, HIGH);; //Rutina motores parar. void parar() digitalWrite (inL1, LOW);; digitalWrite (inL2, LOW);; digitalWrite (inR3, LOW);; digitalWrite (inR4, LOW);; Programación de la aplicación. Enlaces a la .aia y a la .apk:
https://drive.google.com/drive/folders/0B5Yv30HBS_NGejJEZEU0Wnp5bGM (.apk) https://drive.google.com/drive/folders/0B5Yv30HBS_NGejJEZEU0Wnp5bGM (.aia)
La aplicación consta de cuatro flechas y un botón
central, a través del cual se establece la conexión
bluetooth.
Bluetooth:
Cuando se pulsa el botón bluetooth (foto superior izquierda), la aplicación se
conecta con el arduino del coche a través de un módulo bluetooth.
Flecha arriba:
Cuando se pulsa el botón de la flecha hacia arriba, a través de bluetooth le
mandamos a arduino la letra ‘W’, y cuando esta se deja de pulsar, mandamos la
letra ‘P’.
Flecha abajo:
Cuando se pulsa el botón de la flecha hacia abajo, a través de bluetooth le
mandamos a arduino la letra ‘S’, y cuando esta se deja de pulsar, mandamos la letra
‘P’.
Flecha derecha:
Cuando se pulsa el botón de la flecha hacia abajo, a través de bluetooth le
mandamos a arduino la letra ‘D’, y cuando esta se deja de pulsar, mandamos la letra
‘P’.
Flecha izquierda:
Cuando se pulsa el botón de la flecha hacia abajo, a través de bluetooth le
mandamos a arduino la letra ‘A’, y cuando esta se deja de pulsar, mandamos la letra
‘P’.
5. Funcionamiento.
Nuestro coche teledirigido funciona gracias a
la Placa de Arduino y su respectiva programación. A ella van conectados los
pines de los motores y de la velocidad de
ellos.
El Driver L298N es el encargado de conectar los motores y sus velocidades a la placa
arduino. Se considera un “puente” de
conexión. Una vez conectados los motores,
del Driver salen dos cables, uno del In1 y otro
del In2 más el EnA, que es la velocidad, que
van a los pines 4,5 y 10 respectivamente para
el motor izquierdo y otros dos cables que van
del In3 y del In4 más el EnB que van a los
pines 12,13 y 11 respectivamente para el motor derecho.
Este es el modelo de motor que tenemos. Realmente son dos. De ellos salen dos cables
que se conectan a los pines de OUT4 y OUT2
del Driver L298N. Son los encargados de
mover el coche en las direcciones que se le
indica.
Ésta protoboard ha sido donde hemos conectado el módulo bluetooth.
El Módulo Bluetooth ha sido mediante el cual hemos podido dirigir el coche a través del móvil,
ya que conectando el bluetooth del móvil con éste
es posible una conexión entre ellos en la que se
va enviando la información que llega a la placa
Arduino.
La pila de 9v ha sido la encargada de proporcionarle la alimentación a la placa Arduino.
El Jack Conector nos ha servido para anexionar la pila de 9v con la placa Arduino.
Las 4 pilas de 1.5v nos ha servido para proporcionarle la alimentación correspondiente
tanto a los motores.
El portapilas ha sido el encargado de conectar el cable rojo (positivo) al 5v del Driver y el cable
negro (negativo) al GND (tierra) del Driver
también.
video explicativo:
https://youtu.be/JFbVcFIYq6A
6. Evaluación . Estamos contentas con nuestro coche teledirigido ya que nos resultaba muy
emocionante construir uno, aunque hemos tenido varios problemas y el margen de
mejora es bastante amplio.
Primero, queríamos añadirle un slider a la aplicación para poder controlar la
velocidad. Esto fue difícil de resolver porque una rueda giraba más rápido que la
otra y debíamos intentar que giraran a la vez o lo más aproximado posible. Cuando
lo conseguimos, nos dimos cuenta que 6V no eran suficientes y que necesitábamos
un portapilas de 8V, pero no pudimos comprarlo a tiempo por lo que no pudimos
añadirle esta mejora.
También queríamos crear una aplicación que incluyera un modo automático, que
funcionaba con sensores de distancia, y uno manual, que era la programación que
ya teníamos de las flechas. Inventamos la aplicación pero no pudimos realizar la
programación ya que el coche empezó a fallar más de lo normal y tuvimos que
resolver bastantes problemas. Primero comenzó a fallar un motor por lo que tuvimos
que cambiarlo. Más tarde nos dimos cuenta de que una rueda empezaba a girar
antes que la otra, pero no podíamos hacer nada para arreglarlo. Tampoco pudimos
usar los sensores de distancia ya que solo quedaban dos en la clase y ambos
daban unos valores extraños, por lo que abandonamos la idea del modo automático.
Por último, intentamos usar “Arduino SMD L298 Dual Motor Driver Shield”, un
escudo que incluía tanto un arduino como un driver. Al principio fue complicado de
manejar porque se programaba de una forma distinta. Una vez que tuvimos hecha la
programación, nos dimos cuenta que este se calentaba, cosa que no era normal,
por lo que volvimos a utilizar el driver L298N y la placa de arduino por separado.
Para mejorar nuestro proyecto podríamos haber solucionado todos estos problemas
si hubiéramos tenido más tiempo. También podríamos haber construido un chasis
nuevo con la impresora 3D, añadirle un zumbador que realizara la función de claxon
o unos leds como intermitentes.
Queríamos realizar todas estas cosas, pero el tiempo y los problemas que nos han
ido surgiendo nos lo han impedido. Aun así, estamos contentas con el proyecto
porque es algo que realmente queríamos hacer y nos hemos esforzado en ello
aunque luego no lo hayamos conseguido hacer todo.
top related