You are on page 1of 12

ESPE

INGENIERIA ELECTRICA Y ELECTRONICA


Nombre: Kevin Moreno, Luis Sánchez, Josselyn Vega
Periodo: Octubre-Febrero 2018
Asignatura: Programación II NRC: 2841
Fecha: 14-02-2018 Tipo: Proyecto

1. Tema:
Vehículo móvil controlado por Bluetooth con aplicación realizada en JAVA.

2. Objetivos:
2.1. Objetivo General:
Ofrecer al usuario un vehículo móvil el cual pueda ser controlado vía
Bluetooth desde una PC, con una aplicación basada en la POO y ayuda
del lenguaje de programación JAVA, además de utilizar diferentes tipos
de elementos electrónicos para un correcto funcionamiento.
2.2. Objetivos Específicos:
 Investigar las librerías necesarias las cuales nos ayudarán a la
conectividad del Arduino con el módulo Bluetooth.
 Generar un manual para que el usuario utilice el vehículo de manera
adecuada
 Implementar los diferentes conceptos aprendidos en clase para generar
una aplicación mediante el uso de jFrame que nos permita generar una
aplicación de fácil manejo.

3. Desarrollo:
3.1. Marco Teórico
Materiales:

Arduino UNO R3
Arduino es una plataforma de hardware libre, la cual se basa en una placa
que tiene un microcontrolador y entorno de desarrollo, se encuentra
diseñada para facilitar el uso de la electrónica. Se encuentra basada en el
ATmega328 de Atmel, cuenta con 14 pines digitales tanto de entrada como
de salida para poder utilizarlo al Arduino UNO simplemente se le
conectan a un ordenador con un cable USB o a un adaptador de corriente
directa para que realice las diferentes funciones las cuales fueron cargadas
en su programación. (Arduino, 2014)
En la Figura 1 observamos todos los componentes con los cuales cuenta
nuestra placa Arduino Uno.

Figura 1 Arduino Uno

Arduino Uno se lo puede implementar en todos los proyectos, debido a


que tiene un fácil manejo, permite conectar sensores, motores, medir el
medio ambiente y un sin número de aplicaciones más.
Módulo bluetooth HC-05
Módulo Maestro-Esclavo
Estos son los más populares para poder realizar aplicaciones con Arduino..
Al ser un módulo Maestro-Esclavo, nos permite recibir conexión desde
una PC o teléfono celular y además es capaz de generar conexión a otros
dispositivos Bluetooth. Son dispositivos económicos, sus principales
objetivos son:
 Facilita la comunicación con otros dispositivos.
 Se elimina el cableado
 Facilita la sincronización de datos entre equipos personales.
(Hayes, 2016)
En la figura 2 podemos apreciar la correcta conexión de un módulo
Bluetooth HC-05 a un Arduino Uno, se tiene que recalcar que si no se
conecta correctamente el dispositivo podría sufrir alguna daño.

Figura 2 Arduino con Módulo bluetooth (T.BEM, 2017)

Puente H
Es un circuito electrónico el cual nos permite hacer que un motor eléctrico
DC pueda girar en ambos sentidos, es decir que avance y retroceda.
El puente H que hemos utilizado se encuentra en el interior de un circuito
integrado L293B. (González, 2013)
En la figura 3 este circuito integrado nos permite controlar dos motores en
simultáneo.

Figura 3 Diseño Puente H

Motores con Llanta


Se incorporara dos motores DC con caja reductora y sus respectiva llanta,
la velocidad promedio de ellos puse ser de 100 RPM.
En nuestra proyecto se utilizara voltajes que oscilan desde los 3.7 [V] a
6[V], los cuales son correctos para no malgastar ni daniar nuestros
motores. (Juarez, 2016)

Figura 4 motor DC

Chasis
Hemos obtenido un chasis en donde sea como base para nuestros motores
con llanta, el Arduino Uno, modulo Bluetooth, y nuestro puente H,
adicionalmente hemos incorporado una rueda giratorio, el cual es el tercer
punto de apoyo a las otras dos llantas de nuestro automóvil. (PO, 2016)

Figura 5 JMenuBar (PO, 2016)


Software
Plataforma Arduino: Es una plataforma electrónica de código abierto se
encuentra basada en hardware y software flexibles que son fáciles de usar.
El micro controlador ATmega328 el cual se encuentra en la placa del
Arduino Uno se lo programa mediante el lenguaje de programación
Arduino y el entorno de programación del mismo.
Hardware Arduino es basado en Processin/Wiring (sintaxis y bibliotecas),
muy similar al lenguaje de programación C, soporta todas las funciones del
estándar C, claro que tiene modificaciones leves. (Ojeda, 2013)
En la Figura 6 se observa un programa el cual nos brinda esta plataforma,
es para poder apagar y prender un led cada cierto tiempo.

Figura 6 IDE Arduino con el Sketch de ejemplo Blink.

Se siguen ciertos pasos para poder conectar nuestro Arduino al programa.

 Conectar el puerto USB de la placa al puerto USB del ordenador.


 En herramientas ingresamos a Board e insertamos Arduino Uno, se
identifica el puerto. (BeJob, 2017)

Proyecto Panama Hitek


Este proyecto se basa principalmente en la difusión de conocimientos
sumamente en español acerca de nuevas tecnologías y las diferentes
aplicaciones a la ingeniería.
Se enfoca principalmente en la creación de publicación que se dirigen a la
utilización del Arduino con el Java, principalmente publicación sobre
electrónica.

Librería PanamaHitek_Arduino
La librería PanamaHitek_Arduino es una compilación de métodos que
permite enviar y recibir datos entre Arduino y un programa hecho en Java,
a través del puerto serie

Esta librería nos permite tener una comunicación desde una PC al arduino
el cual estemos utilizando.
En la figura 7 se tiene la librería Panamahiteck. Jar esta se la tiene que
poner en los proyectos de Netbean para que funcione la conexión
correctamente y podamos utilizar todos los métodos de esta clase la cual
nos va a dar esta librería.

Figura 7 librería Panamahiteck (García, 2017)


Métodos de la librería Panamahiteck.

 arduinoTX(string nombre del puerto, int baud rate): Nos


ayuda a iniciar la conexión de java con Arduino, solo para la
transmisión de datos. En el nombre de puerto se coloca el COM#, o
sea el puerto COM donde esté conectado Arduino el baud rate debe
ser el mismo que se usa en Arduino IDE (generalmente 9600).

 sendData(String data): Método utilizado para enviar datos a


Arduino. Los datos se deben enviar como cadena de texto (string).
(García, 2017)

3.2 Proyecto
3.2.1 Vehículo móvil controlado por Bluetooth con aplicación
realizada en JAVA.
Proceso:
JAVA
En la figura 8 nos dice antes de ingresar a realizar el código es necesario
importar la librería que deseamos utilizar, Panamahiteck._Arduino, con
todos su componentes.

Figura 8 Agregando Librería

Código:
En la figura 5 tenemos la clase Vehículo la cual hereda de un JFrame.
Aquí tenemos especificado el problema el cual tenemos y además la
declaración del objeto de la clase Panamahiteck._Arduino este nos va
ayudar a llamar a los métodos necesarios para poder realizar la conexión
del Arduino con el lenguaje de programación JAVA de una forma serial.

Figura 9 Clase Vehículo

En la figura 10 encontramos el método jButton6ActionPerformed es el


botón más importante en nuestro programa.

Este botón contiene arduino.arduinoTX es un método importante debido a


que con el estamos mandando datos hacia el modulo bluetooth.
Dentro de ese método debemos mandar dos parámetros el puerto este va
hacer un String único el cual este direccionando nuestra PC, es muy
importante tener el COM exacto debido a que si no es el que está
conectado nuestra PC nuestro programa no va a funcionar.
Todos los comandos los cuales realicemos con esta librería debemos
encerrarlos entre Try Catch para evitar posibles errores los cuales existan
al momento de ejecutar nuestro programa.

Figura 10 Botón ACEPTAR


En la figura 11 se encuentran todos los botones los cuales van a mandar las
direcciones del auto, izquierda, derecha, siga, retroceder, se observamos el
método sendData(),es importante debido a que el envía la información

Figura 11 Botos de mando


En la figura 12 tenemos a la clase IngresarApp la cual es un pequeña
ventana que nos va permitir ingresar a la ventana de los mandos mediante
un botón.

Figura 12 Clase IngresarApp

Arduino:
Código

En la figura 13 declaramos e inicializamos puertos en el arduino dentro del


void setup definimos el puerto serial y lo inicializamos a 9600 Baudios.
Definimos los puertos 5, 6, 9,10 como salidas.

Figura 13 Declaración e inicialización de puertos


En la figura 14 realizamos la primera instrucción, es decir si hay algún
carácter nuevo y si eso es cierto este carácter se almacena en la variable
estado.

Figura 14 Declaración de almacenamiento en variable estado

En la figura 15 se realizan las instrucciones de movimiento del dispositivo


movil dependiendo el caracter envidad por el bluetooth y si este es igual al
del puerto serial de arduino ejecutara la acción correspondiente.

Figura 15 Defición de acción de movilidad de dispositivo móvil


Corrida:
JAVA
En la figura 15 se observa la primera ventana la cual vamos a visualizar al
correr nuestro programa es una pequeña ventana de ingreso donde se
encuentran el nombre de nuestro proyecto y los autores.

Figura 13 Ventana de Ingreso

En la figura 16 observamos la ejecución del panel de control de nuestro


vehículo RC este nos va ayudar a que nuestro auto pueda moverse por las
diferentes direcciones que nosotros deseamos.

Figura 14 Panel de control


4. Conclusiones:
 La investigación previa de las librerías necesarias para la conectividad del
arduino con el módulo Bluetooth nos facilita el manejo del mismo
permitiéndonos desarrollar el programa de la mejor manera.
 Desarrollamos un manual de usuario efectivo para el entendimiento del
majeo del vehículo móvil fue desarrollado de la mejor manera.
 El uso de JFrame nos facilita el desarrollo de la aplicación por que nos
brinda un manejo fácil para generar una interfaz que puede ser diseñada de
una manera óptima.

5. Recomendaciones:
 Se debe realizar una investigar de manera amplia las diferentes librerías y
maneras acerca de la conectividad del módulo Bluetooth con java ya que
esto nos permitirá poder elegir la opción más óptima.
 Se debe investigar cual es la manera para desarrollar un manual de usuario
ya que si no se hace este proceso el manual que diseñemos puede generar
confusión en el usuario.
 Se debe tener cuidado al momento de manejar JFrame ya que si no lo
hacemos la interfaz que desarrollaremos nos puede quedar
desproporcionada.

6. Bibliografía:
Arduino. (1 de 1 de 2014). Arduino Uno. Obtenido de www.arduino.cc/
BeJob. (14 de 2 de 2017). Qué es la programación con arduino y para qué sirve.
Obtenido de https://www.bejob.com/que-es-la-programacion-con-arduino-y-para-
García, A. (24 de 12 de 2017). Librería PanamaHitek_Arduino. Obtenido de
http://panamahitek.com/libreria-panamahitek_arduino/.
González, A. G. (26 de 6 de 2013). El puente H: Invirtiendo el sentido de giro de
un motor con Arduino. Obtenido de http://panamahitek.com/el-puente-h-
invirtiendo-el-sentido-de-giro-de-un-motor-con-arduino/
González, A. G. (24 de 12 de 2017). Project: PanamaHitek_Arduino. Obtenido de
https://www.programcreek.com/java-api-examples/index.php
Hayes. (13 de 7 de 2016). Bluetooth en Arduino. Obtenido de
https://aprendiendoarduino.wordpress.com/tag/hc-05/
Juarez, R. (11 de 1 de 2016). Motores DC. Obtenido de
HTTP://INGEERICK.COM
Ojeda, L. T. (13 de 1 de 2013). PLATAFORMA ARDUINO. Obtenido de
http://platea.pntic.mec.es/~mhidalgo/documentos/02_PlataformaArduino.pdf
PO, A. (7 de 12 de 2016). Chasis autos Arduino. Obtenido de
https://maximoingenio.blogspot.com/2016/12/robot.html
T.BEM. (2017). HC-05 Módulo Bluetooth Serial. Obtenido de
http://teslabem.com/modulo-bluetooth-serial-hc-05.html

You might also like