Sei sulla pagina 1di 93

Presentacin - 3

ndice

Qu necesitamos? - 4
Configurar Arduino UNO - 13

Esquema boceto - 22
Programacin Arduino IDE - 26
Interfaz Java - 34
Fotos - 82

Vdeo - 85
Enlaces de inters - 87
Versin del tutorial - 89
Contacto - 90

Autor - 92

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

Presentacin
Se presenta un tutorial sobre crear una interfaz hecho en Java. En este caso
se ha trabajado en l aversin de Windows 7 y la mecnica es la misma para
otros Sistemas Operativos.

Comunicars dicha interfaz con Arduino por el puerto serie / USB, podrs
encender un Led y apagarlo, tambin recibirs por mensajes de texto hacia
la interfaz desde Arduino.

Ahora a empezar a crear tu propia Interfaz, nimo y adelante.


Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

Qu necesitamos?

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

Qu necesitamos?

Antes de trabajar en algo, hay que tener claro desde el principio que
necesitamos realmente tanto en Hardware como en Software.
Controlaremos con una Interfaz desde el PC con Arduino UNO r3.

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

Qu necesitamos?

Arduino UNO r3.


Puedes usar Arduino el que dispongas.

Escojo esta versin porque es el ms usado y el


ms que tiene la mayora gente a escala
mundial para empezar.

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

Qu necesitamos?

Descargar Arduino IDE.

http://arduino.cc/en/Main/Software

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

Qu necesitamos?

NetBeans IDE 8.0.2.


Descargar NetBeans (En espaol).
https://netbeans.org/downloads/

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

Qu necesitamos?

electronica-pic.blogspot.com.es

Librera RXTX para Java con su pgina oficial. (La que usamos en este tutorial y
de 32 bits).
http://rxtx.qbang.org/wiki/index.php/Download
06/12/2015

Qu necesitamos?

electronica-pic.blogspot.com.es

Librera RXTX para Java alternativa de la pgina oficial


de 32 bits y 64 bits actualizado.
http://jlog.org/rxtx-win.html

06/12/2015

10

Qu necesitamos?
Descarga

Puedes descargar de entrada todos los


ejemplos y lenguajes.

Fuente
Fuente

Se recomienda primero leer este tutorial antes


de ver los ejemplos.

Luego haz tu propio diseo de la interfaz.

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

11

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

12

Configurar Arduino UNO

electronica-pic.blogspot.com.es

06/12/2015

13

Configurar Arduino UNO

Accedemos a la Web http://arduino.cc y


hacemos clic en Donwload. En mi caso he
descargado la versin Windows Installer.

electronica-pic.blogspot.com.es

06/12/2015

14

Una vez ya descargado e instalado vamos a


configurar la palca en Arduino UNO. Antes que
nada, enchufa el cable USB al PC, la placa de
Arduino UNO y luego ejecutas la Arduino IDE
en este caso la versin es 1.6.0 desde que
escrib este tutorial.
Pulsas Herramientas Placa Arduino
UNO.

electronica-pic.blogspot.com.es

06/12/2015

15

Nos aseguramos que tengas el puerto


correspondiente de Arduino.
En este caso es el puerto COM4.

electronica-pic.blogspot.com.es

06/12/2015

16

Para saber que todo est en orden abriremos


uno de los ejemplos y famoso parpadeo del
Led 13 que te viene incluido en la placa Arduino
UNO.
Pulsa Archivo Ejemplos 01.Basics
Blink.

electronica-pic.blogspot.com.es

06/12/2015

17

Configurar Arduino UNO


void setup() {
pinMode(13, OUTPUT); // Inicializa pin 13 como salida
digital.
}
// Aqu se repite el cliclo una y otra vez.

void loop() {
digitalWrite(13, HIGH); // Led encendido.
delay(1000); // Retardo de un Segundo.
digitalWrite(13, LOW); // Led se apaga;
delay(1000); // Espera un Segundo.
}
electronica-pic.blogspot.com.es

06/12/2015

18

Configurar Arduino UNO

Est ms que verificado este cdigo. Pulsa


Subir para compilar el cdigo y guardarlo en
Arduino.
Si no has pulsado Verificar antes de compilar
verifica cdigo, compila y lo guarda en el AVR
de Arduino.

Abajo de Arduino IDE 1.6.0 aparecer cualquier


informacin como cantidad de datos usados
en portentajes, incluido errores entre otras
cosas.

electronica-pic.blogspot.com.es

06/12/2015

19

Configurar Arduino UNO

Fjate que el Led 13 donde indica la flecha roja


est parpadeando.

electronica-pic.blogspot.com.es

06/12/2015

20

electronica-pic.blogspot.com.es

06/12/2015

21

Esquema boceto

electronica-pic.blogspot.com.es

06/12/2015

22

Esquema boceto

Tal como muestra en la imagen, usaremos una


resistencia de 330 Ohmios y un diodo Led rojo
conectado a Arduino UNO r3 de los pines GND
y el pin 8.
Si tienes dudas, antes de montar el circuito,
pasa a la pgina siguiente.

electronica-pic.blogspot.com.es

06/12/2015

23

Esquema boceto

Muestra el diodo Led y su simbologa.


El pin ms corto es el Ctodo, tambin se
escribe con K, Ktodo, es el negativo del Led.

Si se encuentran un Led con los pines cortados


de igual medida, hay que fijarse en la muesca
que representa el Ctodo del Led.

electronica-pic.blogspot.com.es

06/12/2015

24

electronica-pic.blogspot.com.es

06/12/2015

25

Programacin Arduino IDE

electronica-pic.blogspot.com.es

06/12/2015

26

Programacin Arduino IDE


char caracter;
String comando;
void setup(){
pinMode(8, OUTPUT); // Configuramos el pin 8 como salida.
Serial.begin(115200); // Iniciamos el puerto serie a 115200 baudios.
}
void loop(){ // Leemos carcter a carcter lo que recibimos por el puerto serie y concatenamos uno
a uno a formar una cadena.

while (Serial.available()>0){
caracter= Serial.read();
comando.concat(caracter);
delay(10);

Escribimos el cdigo.

/* Cuando tengamos la cadena acabada, comprobamos el valor aqu abajo. Si no se encuentra, lo


ignorar. Ya podemos encender un Led, motores, ventiladores, bombillas y otros dispositivos que
tengamos conectado mediante rels o otros medios. */

Este pequeo cdigo permite leer por el puerto


USB que en realidad es puerto serie emulado
para apagar y encender un Led.

if (comando.equals("Led_ON") == true){ // Si en la cadena de caracteres se incluye la palabra


Led_ON.
digitalWrite(8, HIGH); // Enciende el Led.
Serial.println("Led encendido.");
}
if (comando.equals("Led_OFF")== true){ // Si en la cadena de caracteres se incluye la palabra
Led_OFF.
digitalWrite(8, Low); // Apaga el Led.
Serial.println("Led apagado.");
}
comando=""; // Limpiamos la cadena para volver a recibir el siguiente comando.
}

electronica-pic.blogspot.com.es

06/12/2015

27

Programacin Arduino IDE

Al crear un archivo nuevo viene as


predeterminado.

electronica-pic.blogspot.com.es

06/12/2015

28

Programacin Arduino IDE

Escribimos el cdigo como muestra en la


imagen.
Teniendo Arduino UNO conectado con el cable
USB pulsamos el botn Subir y grabamos
nuestro programa.

electronica-pic.blogspot.com.es

06/12/2015

29

Programacin Arduino IDE

Pulsamos el botn Monitor Serie para enviar


comandos.

electronica-pic.blogspot.com.es

06/12/2015

30

Programacin Arduino IDE

1) poner los baudios a 115200 como tenemos


en el programa en Arduino IDE.
2) Introducir los comandos Led_ON para
encender el Led y Led_OFF para apagar, luego
pulsas Enviar.

electronica-pic.blogspot.com.es

06/12/2015

31

Programacin Arduino IDE

Muestra el mensaje:
Led encendido..
Luego pruebas con el
comando Led_OFF.

Si funciona, estamos
preparado para hacer la
interfaz bajo Windows,
Linux u otro Sistema
Operativo.
electronica-pic.blogspot.com.es

06/12/2015

32

electronica-pic.blogspot.com.es

06/12/2015

33

Interfaz Java
Aplicacin con Java y NetBeans 8.0.2

electronica-pic.blogspot.com.es

06/12/2015

34

Java 8
En este caso estoy trabajando bajo
Windows 7 de 64 bits y NetBeans 8.

electronica-pic.blogspot.com.es

06/12/2015

35

Objetivo:
Disear una pequea interfaz desde
cero.

electronica-pic.blogspot.com.es

1)
2)

Instalar librera RXTX.

3)
4)

Insertar label o etiquetas.

5)

Insertar y configurar el componente o objeto


serialPort1.

6)

Enviar comandos con los botones desde la Interfaz


que creamos hacia Arduino.

7)

Recibir mensajes desde Arduino.

Insertar 4 botones para dos Led, uno del pin 8 y el


otro del pin 13 que ya viene incorporado en la placa
Arduino UNO.

Insertar un componente rea de Texto en el


formulario para recibir mensajes desde Arduino.

06/12/2015

36

Java

Antes que nada, si ya tenemos NetBeans 8.0


instalado, creamos un proyecto nuevo.

electronica-pic.blogspot.com.es

06/12/2015

37

Java

Cuando se abra la ventana Proyecto Nuevo,


en Categora selecciona el primero llamado
Java y en Proyectos selecciona Java
Application luego pulsas Siguiente.

electronica-pic.blogspot.com.es

06/12/2015

38

Java

En Proyect Name en este caso he puesto


EP_JAVA, puedes poner el que quieras.

No dejar marcado Create Main Class.


Pulsa el botn Terminar.

electronica-pic.blogspot.com.es

06/12/2015

39

Java

Nos descargamos la librera rxtx en este


enlace.
Vamos a la direccin C:\Program Files
(x86)\Java\jre1.8.0_40\bin e pegamos las
libreras rxtxSerial.dll y rxtxParallel.dll.

electronica-pic.blogspot.com.es

06/12/2015

40

Java

Ahora la librera RXTXcomm.jar lo introduces


en el directorio C:\Program Files
(x86)\Java\jre1.8.0_40\lib\ext.

electronica-pic.blogspot.com.es

06/12/2015

41

Java

El proyecto ya creado en el NetBeans, con el


segundo botn del ratn en EP_JAVA, cuando
se abra las opciones haz clic en Opciones.

electronica-pic.blogspot.com.es

06/12/2015

42

Java

Selecciona Run.
En mi caso, introduces esta direccin para que
encuentres la libreras. A veces hace falta
hacerlo.
-Djava.library.path="C:\Program Files
(x86)\Java\jre1.8.0_40\bin"

electronica-pic.blogspot.com.es

06/12/2015

43

Java

Ya hemos guardado el archivo RXTXcomm.jar


en el directorio indicado que debemos
introducir en la pestaa Libreries y luego
pulsa e bot Add JAR/Folder.
Finalmente pulsamos el botn Aceptar.

electronica-pic.blogspot.com.es

06/12/2015

44

Java

Ya podemos ver en Libreries la librera


cargada RXTXcomm.jar.

electronica-pic.blogspot.com.es

06/12/2015

45

Java

Ahora vamos a crear un formulario o ventana


de nuestro programa tal como muestra en la
imagen.
Usaremos un JFrame.

electronica-pic.blogspot.com.es

06/12/2015

46

Java

En Nombre de Clase: lo he llamado


EP_JAVA_FRAME.

Puedes llamarlo como desees.


Pulsa Terminar.

electronica-pic.blogspot.com.es

06/12/2015

47

Java
El formulario est preparado para programarlo.
electronica-pic.blogspot.com.es

06/12/2015

48

Java

Para que al ejecutar nuestra interfaz


salga en el centro de la pantalla.
Asegrate que has hecho clic en el
formulario principal, luego vete a
Cdigo y finalmente en Generar
centro lo chequeas.

electronica-pic.blogspot.com.es

06/12/2015

49

Java

Insertar 2 etiquetas y 4 botones


en el formulario.

electronica-pic.blogspot.com.es

06/12/2015

50

Java
Propiedad

Cambie a

text

Led 8

Nombre accesible

jLabel_Led_8

Cambiar las propiedades de las


etiquetas.
En la segunda etiqueta lo mismo
pero el text a Led 13 y Nombre
accesible a jLabel_Led_13

electronica-pic.blogspot.com.es

06/12/2015

51

Java

Ahora seleccione el primer botn


del Led 8 y cambies las
propiedades indicadas en la
derecha.

electronica-pic.blogspot.com.es

Propiedad

Cambie a

text

ON

Nombre accesible

jButton_Led_8_ON

06/12/2015

52

Java

Propiedad

Cambie a

text

OFF

Nombre accesible

jButton_Led_8_OFF

Lo mismo para el segundo botn,


justo abajo del Led 8 pero en OFF.

electronica-pic.blogspot.com.es

06/12/2015

53

Java

Si todo ha ido bien, debe ser como


muestra en la imagen.
Ahora para las etiqueta Led 13 y
sus dos botones como vers a
continuacin.

electronica-pic.blogspot.com.es

06/12/2015

54

Java

Propiedad

Cambie a

text

ON

Nombre accesible

jButton_Led_13_ON

Lo mismo para los dems botones


del Led 13, tanto como ON para el
otro botn OFF.

electronica-pic.blogspot.com.es

06/12/2015

55

Java

Debe quedar as.


La posicin de los botones lo
dejas arriba porque abajo
introduciremos ms componentes
que veremos ms adelante.

electronica-pic.blogspot.com.es

06/12/2015

56

Java

Propiedad

Cambie a

title

Mini Interfaz Java

No olvidar poner un ttulo al


formulario principal.

En este caso lo llamo Mini


Interfaz Java.

electronica-pic.blogspot.com.es

06/12/2015

57

Java

Aadimos una etiqueta diciendo


Mensajes desde Arduino: y
luego ponemos el componente
rea de texto.

As es nuestra mini interfaz, ya


podemos empezar a programar
para encender Led y apagarlo.

electronica-pic.blogspot.com.es

06/12/2015

58

Java

Compilamos con la flecha verde


para ejecutar la Interfaz y ver
como queda.

electronica-pic.blogspot.com.es

06/12/2015

59

Java

Aspecto de la interfaz
ejecutndose.
No hace nada porque no hemos
programado ni un cdigo.

Ahora nos toca programar para


encender y apagar un Led, en este
caso el Led 8 y el Led 13.

electronica-pic.blogspot.com.es

06/12/2015

60

Java

Encontrars solo la interfaz sin cdigo de


programacin.

electronica-pic.blogspot.com.es

Puedes ver el ejemplo EP_JAVA_1 en el


directorio de la descarga, InterDuino
GENERAL\Windows\Java\EP_JAVA_1

06/12/2015

61

Java
Programar la interfaz para encender y apagar el Led del pin 8 y el 13.
electronica-pic.blogspot.com.es

06/12/2015

62

Java

Hasta el momento, escribiremos


estos import desde el principio
del cdigo.

electronica-pic.blogspot.com.es

06/12/2015

63

Java

Agregar todas estas variables.


Se basan en enviar mensajes y
configuracin del puerto.

electronica-pic.blogspot.com.es

06/12/2015

64

Java

electronica-pic.blogspot.com.es

06/12/2015

65

Java

Agregar todas estas variables.


Se basan en enviar mensajes y
configuracin del puerto.

electronica-pic.blogspot.com.es

06/12/2015

66

Java

Ms mtodos enviarDatos y
mostrarError.

electronica-pic.blogspot.com.es

06/12/2015

67

Java

Hacemos doble clic al botn Led


8 ON.

Se nos crea este cdigo.

electronica-pic.blogspot.com.es

06/12/2015

68

Java

En el interior del cdigo


ponemos
enviarDatos(Led_8_ON);

Este dato se enviar a Arduino


por puerto serie, si lo detecta,
encender el Led del pin 8.

electronica-pic.blogspot.com.es

06/12/2015

69

Java

Haz doble clic con el segundo


botn y he introduces ahora
para apagar el Led 8 lo que
indica la imagen.
As tambin con los otros
botones del Led 13.

electronica-pic.blogspot.com.es

06/12/2015

70

Java

Cdigo programado encender y apagar los Led


8 y 13.

electronica-pic.blogspot.com.es

Puedes ver el ejemplo EP_JAVA_2 en el


directorio de la descarga, InterDuino
GENERAL\Windows\Java\EP_JAVA_2

06/12/2015

71

Java

Leer mensajes desde Arduino.


Introducir estos import al principio como
indica la imagen.

electronica-pic.blogspot.com.es

06/12/2015

72

Java

Aades estos cdigos cuando veas que estn


entre // #####################
Se aade comentarios para saber de que va.

A partir de la pgina siguiente, se aade los


cdigos completo de inicio a fin con sus
comentarios incluidos.

electronica-pic.blogspot.com.es

06/12/2015

73

Cdigo desde
el principio.

electronica-pic.blogspot.com.es

06/12/2015

74

electronica-pic.blogspot.com.es

06/12/2015

75

electronica-pic.blogspot.com.es

06/12/2015

76

electronica-pic.blogspot.com.es

06/12/2015

77

electronica-pic.blogspot.com.es

06/12/2015

78

Fin de cdigo.

electronica-pic.blogspot.com.es

06/12/2015

79

Java

Lectura del puerto serie y los datos se muestra


en un cuadro de texto indicando cuando un
Led est encendido o apagago.

electronica-pic.blogspot.com.es

Puedes ver el ejemplo EP_JAVA_3 en el


directorio de la descarga, InterDuino
GENERAL\Windows\Java\EP_JAVA_3

06/12/2015

80

electronica-pic.blogspot.com.es

06/12/2015

81

Fotos

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

82

Fotos

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

83

Fotos

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

84

Vdeo

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

85

Vdeo

https://www.youtube.com/watch?v=HySzBln0UVE

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

86

Enlaces de inters

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

87

Enlaces de inters
Java: Web principal de Java, el creador del compilador NetBeans.
Arduino: Informacin oficial sobre el mundo de Arduino y foros.
Jonathan Melgoza: A colaborado en la parte de recepcin de datos del
puerto serie y parte de la interfaz.

Electrnica PIC: Blog oficial del creador de este tutorial.


Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

88

Versin del tutorial


Versin: 1.00

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

89

Contacto

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

90

Contacto

Contactar: metaconta@gmail.com
PayPal: egiptoman@gmail.com

Electrnica PIC - http://electronica-pic.blogspot.com.es

Puedes publicar este tutorial en tu Web, foro, blog,


CD-ROM, DVD-ROM, Blu-Ray en revistas oficial en
papel o cualquier otro medio.

06/12/2015

91

Autor

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

92

Autor

ngel Acaymo M. G.

Electrnica PIC - http://electronica-pic.blogspot.com.es

06/12/2015

93

Potrebbero piacerti anche