Está en la página 1de 21

Manual para establecer

conexin
JAVA-ARDUINO
mediante tecnologa
bluetooth y su aplicacin en
el uso de Frame.

ING. ELECTRONICA
PROGRAMACION II
ING. VINICIO
CHANGOLUISA
Elaborado por:
Cristhian Guerra
Fernando Tapia

1.- INTROCUCCION.En este documento se proceder a la explicacion detallada para desarrollar la


coneccion de Java con Arduino mediante el uso de la tecnologa Bluetooth y
posteriormente poder aplicar esta conexin para desarrollar el funcionamiento
de un ascensor simulado mediante el programa Eclipse.
Seria de mucha ayuda para los estudiantes que deseen establecer este tipo de
conexiones consultar este manual antes y/o durante la realizacin de su
proyecto, ya que los guiar paso a paso en el manejo adecuado tanto del
programa Eclipse como de Arduino para realizar la simulacin de un asensor y
a su vez el uso adecuado del bluetooth.
Con el fin de facilitar la comprensin del manual, se incluye grficos
explicativos de todas las instancias del proyecto
IMPORTANTE.- Es muy importante mencionar que los estudiantes deben tener
un nivel bsico de programacin II ya que en un 90% del manual se habla en
lenguaje tcnico.

2.- OBJETIVOS DEL MANUAL.2.1 Objetivo General


El objetivo primordial de ste manual es ayudar y guiar al estudiante para la
realizar la simulacin del funcionamiento completo de un ascensor en el
cual incluiremos sensores infrarrojo y de temperatura. Deseamos realizar
mas que nada el como seria la programacin de todo su funcionamiento y
beneficios que podemos lograr en esta simulacin.
2.2 Objetivos Especficos
Lograr que el estudiante se familiarize con todo lo relacionado a la clase
JFrame y todas las utilidades que esta nos puede brindar al poder
combinarlas con los denominados eventos e hilos de programacin.
Establecer un conocimiento bsico sobre el uso de la tarjeta Arduino y su
programacin para posteriormente aplicarla con el uso de Java
exclusivamete con el programa Eclipse.

3.- LO QUE DEBE CONOCER.Los conocimientos mnimos que deben tener las personas que van a
desarrollar este tipo de proyecto son:

Conocimientos bsicos acerca Programacin I.


Conocimientos bsicos de la utilizacin de la tarjeta Arduino.
Conocimiento bsico sobre el uso del modulo Bluetooth.
Conicimiento bsico sobre los componentes que se utilizan en los Frame.

4.- HERRAMIENTAS.

Java
Eclipse
Tarjeta Arduino UNO
Cargador de 5V para arduino.
Protoboard
Sensores infrarrojos
Sensor trmico
Leds
Modulo Bluetooth HC-05

5.- DESARROLLO DEL TRABAJO.Para que el estudiante pueda tener idea del proyecto, procederemos a realizar una
descripcion general del funcionamiento del asensor que va a ser simulado en el
programa Eclipse y el cual cumple con algunas caractersticas y condiciones
necesarias:
PRIMERO.Creamos un Frame que va a llevar tres temas principales, la primera parte ser
llamada panel exterior mediante un g.drawString ubicando en a parte inferior de
este cuadro, luego vamos a realizar dos botones para este panel mediante JButton
el cual nos indicara uno la opcin de subir y el otro botn que diga bajar, le damos
una accin a estos botones la cual ser mediante un JLabel poner en dos
condiciones si es un piso menor en el que estamos nos marque que podemos
subir, entonces nos sale alado la frase en nuestro caso que esta en movimiento,
en la parte prctica lo que consigue es que se encienda un led programando en
arduino que si recibe la seal de 1 se encienda un led, y si recibe la seal de 0
entonces se apague este led, volviendo a la parte de java indicamos que al estar
la seal de estar en movimiento esta encendido el led, y cuando hacemos un
segundo clic mostramos que estamos en el piso indicado entonces enva una
seal de 0 y se apaga el led.
SEGUNDO.Realizamos el mismo procedimiento para poder llevar a cabo la segunda parte la
cual llamaremos Panel Inferior, en este en cambio creamos botones que simulen
cada piso es decir piso 1, piso 2, etc. En este mostramos igualmente un indicador
de en que piso se esta subiendo o bajando y encendiendo un led por cada piso,
recibiendo independientemente una seal diferente para encender cada led por
cada piso y apagando los dems leds si no se esta en el piso, adems del
segundo clic muestra haber llegado al destino.
TERCERO.Ahora en la parte de arduino vamos a utilizar dos sensores, el uno ser nuestro
sensor de infrarrojo que programamos para activar en un encendido intermitente,
pero que calcula la distancia de un obstculo a interferir entre el emisor y el
receptor entonces si esta demasiado cerca y tapado completamente va a quedar
encendido, si hay obstculos acercndose entonces va a parpadear con ms
rapidez.
El sensor de temperatura esta activandose mediante un botn, en el cual al
programar hacemos lo siguiente, en el Void Setup declaramos los pines en donde

va a ir conectado, en Void Loop vamos a ejecutar el programa en este caso


declaramos la variable que va a ir almacenando los datos enviados por el sensor,
finalmente ejecutamos desde java para asi concluir con el trabao realizado.

6.- EXPLICACION DETALLADA DEL TRABAJO.A continuacin vamos a realizar el programa para poder expresar el
funcionamiento del ascensor pao a paso.
CONEXIN DEL BLUETOOTH.1.- Para poder agregar un dispositivo bluetooth(HC-05) a la computadora es
necesario verificar que la computadora donde vayan a trabajar tenga bluetooth
o sino caso contrario comprar un bluetooth mvil, es aquellos bluetooth que se
conectan de forma USB y se los instala con su respectivo mtodo de
instalacion(CD).
2.- Una vez verificado que la computadora tenga bluetooth. Se procede a realizar
la conexion del modulo bluetooth con la tarjeta arduino.Este proceso es muy
sencillo. En la siguiente imagen se puede observar la instalacin de las
terminales de la tarjeta arduino hacia las terminales del modulo bluetooth.

RXD------>TX(1)
TXD------>RX(0)
GND------>GND
VCC------>5V o 3.3V

3.- Se realiza la bsqueda del modulo bluetooth para posteriormente poder


agrrgarlo y asi realizar el emparejamiento con la computadora.

4.- Una vez encontrado el dispositivo y posteriormente agregado nos va a pedir su


contrasea para poder establecer correctamente la comunicacin.

5.- Finalmete para que la conexin sea totalmente exitosa colocamos la


contrasea del dispositivo. En la mayora de casos del dispositivo(HC-05) la
contrasea es 1,2,3,4.

6.- De esta manera cuando ya la conexion se realiz con xito, podemos observar
que al abrir la configuracin del bluetooth de la computadora y al al hacer clic
en la opcin Puertos COM, nos va a aparecer el puerto com que se le asingo
al modulo bluetooth ya emparejado.

PROCESO EN ECLIPSE. Empezamos en java creando el programa que va a contener tres partes
fundamentales, las cuales sern:
1.- Panel Exterior
2.- Panel Interior
3.- Sensor de temperatura

Programa: dospaneles

PANEL EXTERIOR
1.- Entonces empezamos creando un Frame que va a tener el tamao de 750 de
ancho y 600 de alto de aqu vamos a utilizar el mtodo paint para separar en
lneas las dimensiones de los diferentes paneles que se van u usar en el
Frame.
2.- Una vez creado el Frame usamos G.drawString y procedemos a ubicarnos en
el primer recuadro para escribir Panel Exterior.
3.- Luego vamos a crear dos botones mediante JButton el uno que diga subir y el
otro bajar como se mostrara a continuacin.
4.- Posteriormente a estos botones les vamos a dar una funcin mediante un
ActionListener al crear una variable llamada pisoactual si es superior podemos
llamarla haciendo un clic sobre ella, la cual nos mstrara un mensaje mediante
un JLable que dira que esta en movimiento, y al hacer un segundo clic sobre el
mismo botn mostrara que ya se llego al piso deseado.
5.- Este procedimeinto se repetir para realizar la misma accin para el botn de
bajar, en ambos casos me muestra la opcin.

Al primer clic nos indica que el ascensor esta


en movimiento el cual lo pondremos en funcin
con algo adicional que ser mencionado mas
adelante

En el segundo clic nos indica que se ha llegado


al piso solicitado, pues entonces podremos
entrar

Este es el cdigo empleado para crear los botones indicando subir y bajar con su
respectivo detalle de realizar si esta en movimiento o al llegar al piso deseado

PANEL INTERIOR
En este vamos a realizar los mismos pasos que para el panel exterior , entonces:
1.- Ubicamos poner su nombre como Panel Interior.
2.- De aqu vamos a crear 3 botones los cuales llevan su propia numeracin
simulando el panel de adentro en el cual seleccionamos a que piso deseamos
subir o bajar.
3.- Cada uno de los botones nos muestra mediante un JLabel si esta subiendo o
bajando al hacerle el primer clic sobre l, entonces bajo esa condicin
hacemos que al hacer el segundo clic nos diga haber llegado al piso deseado,
entonces podemos simular el subir y el bajar bajo la orden dada.

En este caso hacemos que nos


diga subir al segundo piso.

Al dar el segundo clic llega a


nuestro destino

Entonces el cdigo usado para crear el panel interno con sus botones realizamos
lo siguiente:

Realiza un evento
para el boton1(b1),
para recibir un JLabel
Baja o Piso Actual

BOTONES

PANEL TEMPERATURA
1.- En este panel vamos a crear un botn que diga Temperatura.
2.- Al botn temperatura le vamos a dar un accin de graficar mediante un
polgono que va a ir variando en su altura deacuerdo al valor que recibe del
sensor de temperatura cuyo valor esta transformado a grados centgrados
mediante la frmula (5.0*analogRead(0)*100.0/1023.0 la cual nos va a dar el
valor de la temperatura (el valor de temperatura se explicara ms adelante en
el sensor).
3.- Posteriromente lo que realizamos en este panel es que mediante el repaint
dibuje la temperatura actual. As se puede evitar alguna clase de complicacin
y tomar debidas precauciones para cuando su temperatura este alta.
Variacion de Temperatura

Entonces podemos notar como ira variando la temperatura al


presionar clic en el botn, el cualnos dara la temperatura
momentnea recibida por el sensor.

Aqu
procedemos
a
realizar el botn con la
indicacin
de
la
temperatura.

A continuacin se mira la accin de recibir los datos del sensor de temperatura, si


en este caso marca error es poque falta conectar a la tarjeta.

Recibe datos
del sensor de
temperatura

Toma los valores de


temperatura y los grafica, la
grafica simpre va a ir
cambiando gracias al repaint

SENSOR INFRARROJO
En este caso de forma independiente, la conexin del sensor no necesita
ejecucin en java a menos que desee enviar los datos de la distancia, pero para
nuestro fines no lo realizamos, indicamos nosotros la variable distancia la cual nos
indicar si hay algn obstculo entre los leds emisor y receptor, esta programado
para que se mantenga en un encendido parpadeante.
Es decir si el infrarojo esta completamente tapado el led se va a mantener
prendido constantemente, por el contario si se aleja del led el parpadeo va a ser
mas notorio.

Este es el
cdigo del
infrarojo.
Puede ser
descargado
del internet
o viene por
default en
los ejemplos
de Arduino.

Entonces al continuar a programar en Arduino primero declaramos las variables


que vamos a utilizar, que son la temperatura, la distancia de los infrarrojos y una
variable que recibe datos enviados por java.
En el Void Setup declaramos los pines en donde van a ir conectados los diferentes
elementos como son los diodos del LED, los pines de los infrarrojos y del sensor
de temperatura.

Declaracion de
pines(piso1,piso2,
piso3,infrarojo)

Calculo de temperatura

Pausa el programa en un
tiempo determinado.

En Void Loop va a ser donde se va a ejecutar todo el programa, para el sensor de


temperatura en la variable que declaramos vamos a almacenar los datos que
enva el sensor, como el sensor tiene la equivalencia a 1grado centgrado= a
10milivoltios por medio de la frmula: (5.0*analogRead(0)*100.0/1023.0
Algo importante que debemos mencionar es que como el valor que recibimos en
es forma de caracter es decir de tipo char, lo procedemos a cambiar para que
salga en java el valor de la temperatura en grados centgrados. Los datos sern
almacenas segn el tiempo puesto.

Cambio de tipo de
datos:
Char----->String
Sring----->Double
Variable temp

Recibe los datos de arduino y es aqu en donde se procedio a cambiar el tipo de


dato char a String y de ah a tipo Double quedando como una variable temp.

Mtodo Repaint

Aqu usamos el mtodo del repaint para as poder ir graficando en tiempo real el
cambio de la tempertura.

ENCENDIDO Y APAGADO DE LEDS


Continuamos con la programacin en Arduino, la cual es fundamental para darle
algunas ideas de vida a nuestro proyecto, es decir lo que realizaremos es hacer el
encendido y apagado de leds mediante los botones creados anteriormente.
1.- Al presionar en el primer panel sobre los botones de subir y bajar va a
recibir la seal 1 para que asi cuando diga que esta en movimiento se
encienda el led, y un proceso similar para el panel interior.
2.- Entonces para el encendido de los LEDS procedemos a crear una variable
que ser recibida para el encendido del Led de cada piso, es decir si recibe
la seal 1 se encender un led, si recibe la seal 2, 3 y 4 entonces se
encendera su respectivo led.

En java se procede a realizar lo siguiente:

Entonces mostramos aqu que al recibir la seal 1se procede a encender el led
cada vez que damos el primer clic, es decir cuando nos muestra el mensaje de
que esta en movimiento, y de que se apague al dejar de recibir esta seal.

En el panel inferior realizamos lo mismo a cada botn le damos esa funcin de


encender si este piso ha sido seleccionado y al momento de cambiar de piso que
este se apague.

Como se puede apreciar en java se recibe la seal 2 para encender el piso 1, la


seal 3 para en cender la luz del piso 2, y recibe la seal 4 para el piso 3. En
Arduino esta programado para que se encienda y apague al recibir la seal tal
como se muestra anteriormente, y en java hace que al estar seleccionado el piso
se muestre de que piso se esta, y cuando se selecciona otro piso entonces se
paga el led correspondiente y se enciende el de su piso, as se puede saber en
que piso se encuentra,
6.- RECOMENDACIONES DEL MANUAL. Un aspecto importante y muy prctico que nosotros desarrollamos fue el crear
de forma independiente parte a parte el fncionamiento, es decir primero
creamos los paneles, y realizamos el funcionamiento, de ah comprobamos el
como funciona cada sensor y como adaptarle, para finalmente unir las partes
de forma correcta.
En el proyecto lo que se presenta son los beneficios y usos que se le puede
dar a los sensores y a la comunicacin entre estos paneles.

También podría gustarte