memoria coche teledirigido. - … a lospines4,5 y10 respectivamente para el motorizquierdo...

15
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

Upload: phamnhu

Post on 25-Mar-2018

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: MEMORIA COCHE TELEDIRIGIDO. - … a lospines4,5 y10 respectivamente para el motorizquierdo yotrosdoscablesque van del In3 ydel In4 másel EnBque van a los

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

Page 2: MEMORIA COCHE TELEDIRIGIDO. - … a lospines4,5 y10 respectivamente para el motorizquierdo yotrosdoscablesque van del In3 ydel In4 másel EnBque van a los

ÍNDICE

1.Finalidad del sistema.

2.Búsqueda de información.

3. Hardware.

4. Software.

5. Funcionamiento.

6. Evaluación.

7. Aportaciones individuales.

Page 3: MEMORIA COCHE TELEDIRIGIDO. - … a lospines4,5 y10 respectivamente para el motorizquierdo yotrosdoscablesque van del In3 ydel In4 másel EnBque van a los

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

Page 4: MEMORIA COCHE TELEDIRIGIDO. - … a lospines4,5 y10 respectivamente para el motorizquierdo yotrosdoscablesque van del In3 ydel In4 másel EnBque van a los

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.

Page 5: MEMORIA COCHE TELEDIRIGIDO. - … a lospines4,5 y10 respectivamente para el motorizquierdo yotrosdoscablesque van del In3 ydel In4 másel EnBque van a los

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

Page 6: MEMORIA COCHE TELEDIRIGIDO. - … a lospines4,5 y10 respectivamente para el motorizquierdo yotrosdoscablesque van del In3 ydel In4 másel EnBque van a los

//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();;

Page 7: MEMORIA COCHE TELEDIRIGIDO. - … a lospines4,5 y10 respectivamente para el motorizquierdo yotrosdoscablesque van del In3 ydel In4 másel EnBque van a los

//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);;

Page 8: MEMORIA COCHE TELEDIRIGIDO. - … a lospines4,5 y10 respectivamente para el motorizquierdo yotrosdoscablesque van del In3 ydel In4 másel EnBque van a los

//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.

Page 9: MEMORIA COCHE TELEDIRIGIDO. - … a lospines4,5 y10 respectivamente para el motorizquierdo yotrosdoscablesque van del In3 ydel In4 másel EnBque van a los

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’.

Page 10: MEMORIA COCHE TELEDIRIGIDO. - … a lospines4,5 y10 respectivamente para el motorizquierdo yotrosdoscablesque van del In3 ydel In4 másel EnBque van a los

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’.

Page 11: MEMORIA COCHE TELEDIRIGIDO. - … a lospines4,5 y10 respectivamente para el motorizquierdo yotrosdoscablesque van del In3 ydel In4 másel EnBque van a los

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.

Page 12: MEMORIA COCHE TELEDIRIGIDO. - … a lospines4,5 y10 respectivamente para el motorizquierdo yotrosdoscablesque van del In3 ydel In4 másel EnBque van a los

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.

Page 13: MEMORIA COCHE TELEDIRIGIDO. - … a lospines4,5 y10 respectivamente para el motorizquierdo yotrosdoscablesque van del In3 ydel In4 másel EnBque van a los

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.

Page 14: MEMORIA COCHE TELEDIRIGIDO. - … a lospines4,5 y10 respectivamente para el motorizquierdo yotrosdoscablesque van del In3 ydel In4 másel EnBque van a los

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

Page 15: MEMORIA COCHE TELEDIRIGIDO. - … a lospines4,5 y10 respectivamente para el motorizquierdo yotrosdoscablesque van del In3 ydel In4 másel EnBque van a los

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.