Académique Documents
Professionnel Documents
Culture Documents
AGRADECIMIENTO......................................................................................................................... 3
DIAGRAMAS..................................................................................................................................... 7
MAPA DE VARIABLES.................................................................................................................... 9
CONCLUSIONES ............................................................................................................................ 11
RECOMENDACIONES ................................................................................................................... 11
APLICACIONES .............................................................................................................................. 11
ANEXO 1 .......................................................................................................................................... 16
Manual de configuración del simulador de electrónica ISIS de Proteus para ser comandado por
JAVA a través del puerto USB, utilizando el PIC 18F4550 como interfase. ................................ 16
PLANTEAMIENTO DEL PROBLEMA
Por otro lado, los micro controladores han sido participes de muchos desarrollos de miniaturización,
control y automatización. Se busca un medio por el cual se pueda transmitir datos de forma fiable
hacia una computadora. Por ello, aquí estamos solucionando aquella idea y logrando implementar
una interface que comunique los microprocesadores por medio de puerto serial (USB), hacia una
computadora, que tenga una aplicación desarrollada en java por supuesto escogido en el presente
trabajo y en muchos otros por su facilidad de desarrollo, constante evolución y riqueza de
herramientas para desarrollar aplicaciones complejas con gran precisión y ahorrando recursos.
Se presenta esta aplicación que combina todos estos elementos conjuntos, un microprocesador de la
gama 18Fxx, más específicamente el 18F4550 programado en lenguaje C que tiene en sus puertos la
comunicación el afanado USB (Universal Serial Bus), esta información se recepta en Java con el
uso de la librería dinámica que es el centro de nuestro estudio JpicUSB 1.1.1, que nos permitirá
salida e ingreso de datos.
2
OBJETIVO PRINCIPAL
OBJETIVOS ESPECIFICO
Desarrollar una aplicación en Java que permita comunicar un micro controlador con una aplicación
por medio de puerto USB.
Discernir información válida que nos permita desarrollar con excito la comunicación.
AGRADECIMIENTO
Mas que una responsabilidad es un deber, debemos tomarnos la molestia de agradecer a una persona
que sin conocerlo, entrego su conocimiento para el desarrollo de esta investigación, a Genaro
Oñativia, que es la persona que desarrollo la librería dinámica, los métodos, entre otras cosas. Y
entrega su ayuda en el internet para que todos podemos tener acceso a este puerto, y además en los
diferentes foros nos aclaro las ideas y por ello logramos realizar la investigación.
3
MARCO TEÓRICO
Fig. 3 JPicUsb
5
Detalle de los métodos de inicialización de jPicUsb.
6
DIAGRAMAS
7
Fig. 4 Diagrama Eléctrico
ADICIONALES DEL DIAGRAMA ELÉCTRICO
Es una característica que en los programas de modelaje eléctrico muchas veces se obvia elementos
que necesariamente no se deben detallar, pero en la práctica si no los ponemos en el circuito
simplemente no funciona, estos son:
Cables USB
1 oscilador de 20 MHz
2 capacitores de 22 pF
8
La salida de la PC es la siguiente, recordemos que el pin de 5V no significa que debemos alimentar
con 5 voltios, sino que esta linea no proporciona 5 V para nuestra aplicación, pero debemos detener
a hacer el análisis de la utilidad de nuestra aplicación, y si necesita mucha corriente nos convendría
utilizar una fuente adisional de alimentación.
MAPA DE VARIABLES
MiFrame
CLASE
CmdRecepcion byte En donde se recibirá la información por puerto
9
EXPLICACIÓN DE MÉTODOS Y FUNCIONES
Clase “MiFrame.java”
Envía el byte “comando” al PIC a través del puerto USB, y luego de 1 segundo, cierra la conexión.
Usualmente, el byte “comando” indica al PIC que habrá un envío de datos PIC-PC, por lo que el
Frame en java estará presto a recibir el dato.
Envía los bytes “comando” y “datoenviado” en un arreglo de bytes al PIC a través del puerto USB,
y luego de 1 segundo, cierra la conexión. Usualmente, el byte “comando” (que ocupa la posición 0
en el arreglo de bytes) indica al PIC que habrá una recepción de datos PC-PIC, siendo el dato que
recibe el PIC, el byte “datoenviado” (que ocupa la posición 1 en el arreglo de bytes).
Devuelve el byte “maxbytes”, que fuese enviado por el PIC previamente. Tras 0.5 segundos, cierra
la conexión.
Ordena al PIC la activación o desactivación de un determinado pin de algún puerto, valiéndose del
método “salida_usb2”. El puerto depende de la programación que tenga el PIC.
LISTA DE COMPONENTES
1 microcontrolador PIC 18F4550 (precio final: USD$ 10.50)
1 dipswitch de 8 interruptores (precio final: USD$ 0.40)
10 resistencias de 220Ω a ¼ W (precio final: USD$ 0.30)
10 diodos LED cualquier color (precio final: USD$ 1.20)
1 condensador cerámico de 47nF (precio final: USD$ 0.15)
1 conector USB hembra tipo A ó B* (precio final: USD$ 0.50)
*: Dependiendo del conector usado, se comprará el cable de conexión necesario
Fuente regulada de 5V, para alimentación del PIC.
10
CONCLUSIONES
Se pudo realizar la comunicaciones entre PC, pic con la librería dinámica JPicUSB.
El puerto USB es importante por su popularidad, y lo podemos utilizar en cualquier PC actual, sin
preocuparnos de que tan antigua sea, por la portabilidad de su aplicaión.
RECOMENDACIONES
Realizar el análisis para determinar que si es necesario que la aplicación que vamos a realizar
necesita una fuente de alimentación extra, o puede solventarse con la alimentación del puerto USB.
Recordar que no todos los elementos que se describen en algunos diagramas eléctricos, son todos
los necesarios para el circuito físico, por ejemplo (osciladores, fuentes, entre otros).
Estar seguros en el momento de alimentar el circuito, por que como sabemos los Pic tiene alta
probabilidad de quedar sin funcionamiento, por sobrecargas, y un solo pin mal conectado es basta
para terminar su vida útil.
APLICACIONES
La presente investigación, no es el fin sino el comienzo porque es por donde podemos explotar para
sacar el máximo de provecho a la combinación pics y Java, y podemos desarrollar aplicaciones
sencillas y desarrolladas como:
Realizar una red de computadoras, que para comunicarse con dispositivos portables lo hagan por
medio de USB.
Control de robot por medio de USB, con métodos de envió de señales, recepción de respuesta para
tomar decisiones de para manejar su desempeño.
Realizar una aplicación que pueda seguir procesos como, controlar el clima y almacenar los datos
en su memoria y al intercambiarlo con la PC y realizar gráficas de representación con JfreeChart o
Java Graphics.
11
12
Fig. 8 Diagrama de Grantt
MANUAL DE USUARIO
UsbLed1.0
Hardware
LEDS
Micro controlador
Ingreso de datos
Interface 1
Fig. 10 Interface 1
En esta ventana se puede escoger los led que se desee encender, con un solo click los leds se
encienden y con otro se apangan, no se tiene un orden para escogerlos, y no hay restricción para
apagarlos.
13
Fig. 11 Led encendidos de la Aplicación
Interface 2
Fig. 12 Interface 2
La denominada Entrada USB nos permite ingresar datos a traves del conjunto de interruptores, el
número que se debe ingresar es en binario
Msb (mas significativo)
Fig. 13 DeepSwitch
14
Como podemos ver ingresamos el número:
00001001b=9d
Interface 3
Fig. 15 Interface 3
En donde podemos observar cosas varias, como la versión del software o la temperatura ambiental
actual (opcional).
15
ANEXO 1
Manual de configuración del simulador de electrónica ISIS de Proteus para ser comandado por
JAVA a través del puerto USB, utilizando el PIC 18F4550 como interfase.
El presente manual permitirá al usuario la configuración del simulador de circuitos eléctricos y
electrónicos ISIS de Proteus, para ser controlado por JAVA a través del puerto USB. Para este
propósito, nos valdremos del microcontrolador de la casa Microchip 18F4550 para la interface, y
para facilitar aún más la inducción, se proporciona un circuito de prueba, así como los programas
necesarios para llegar a un buen término.
Configurando Netbeans.
Abra el programa Netbeans, y una vez abierto, abra el proyecto “FrameUSB”, buscando la
dirección donde pegó la carpeta previamente. Todavía no lo
compile. Luego siga los siguientes pasos:
16
17
4. Ahora, seleccione la opción Run. Presione el botón Browse, correspondiente a Working
Directory. Seleccione la carpeta “jpicusb 1.1.1” sin abrirla. Una vez que la haya encontrado,
selecciónela y haga clic en el botón OK.
18
5. Para comprobar que los anteriores pasos fueron realizados exitosamente, ábrase la carpeta
del proyecto, hasta hallar la clase “MiFrame.java”. La librería jPicUsb, importada al
principio, debe aparecer sin ningún subrayado de ningún color, ni alguna observación. Para
estar seguros incluso, se puede compilar el proyecto, haciendo clic derecho sobre la carpeta
del proyecto, y escogiendo la opción Clean and Build. Caso contrario, revísese los pasos
anteriores.
Fig. 22 Compilación
6. Ya sólo falta hacer correr el proyecto, pero esto lo haremos después de haber configurado el
simulador ISIS de Proteus.
19
7. Se ha observado que algunos computadores, a pesar de haber realizado correctamente los
anteriores pasos, simplemente no encuentran (o no parecen querer encontrar) al la librería
jPicUsb. Este problema se soluciona al instalar los Runtimes de Visual Studio 2008 en el
computador. (Este pack se incluye en el CD).
Es necesario recomendar que se debe tener cierta experiencia en el manejo de Proteus para la
elaboración de proyectos personalizados propios. No obstante, ya se incluye una simulación para
realizar una prueba rápida. Ábrase el archivo “ManejoUSB” que se encuentra dentro de la carpeta
“Investigador2”, tras los cual se abrirá también ISIS de Proteus. Luego realice los siguientes pasos:
1. Antes de simular el circuito, es necesario configurar los Drivers del USB que maneja
Proteus. Para ello, se debe ir a la carpeta donde se haya instalado Proteus, luego se abre la
carpeta “USB Drivers” y luego se hace clic en el archivo ejecutable “installer”. Aparecerá
un cuadro de diálogo, al cual se hará clic en el botón “Install” el cual comenzará la
instalación de los drivers. Este cuadro de diálogo se cerrará automáticamente, indicando
que la instalación fue un éxito.
20
Ubicación (para el caso del autor) del archivo ejecutable “installer”. Esta ubicación puede
variar.
5. Se habilita al usuario la búsqueda de la carpeta que contenga el instalador. Para ello, se debe
escoger la opción “Incluir esta ubicación en la búsqueda”, tras lo cual se habilita el botón
“Examinar”. Se deberá buscar la carpeta “Driver Microchip” que se halla dentro de la
carpeta “MCHPUSB Driver”, que se copió anteriormente. Una vez realizado esto, se hace
clic en siguiente.
6. Luego, se indicará a través de una barra de estado la instalación del dispositivo. Después
aparecerá un cuadro de diálogo con el botón “Finalizar”, al cual se debe dar clic. Tras esto,
la simulación en Proteus correrá normalmente. No obstante, es necesario detener la
simulación paradójicamente, para realizar una correcta simulación en conjunto con el
programa de JAVA.
23
Fig. 31 Aceptación de Driver
7. A veces se producen algunos contratiempos. Entre los más comunes, es que el PIC de la
simulación no encuentre el archivo .hex necesario para la simulación, o que lo encuentre,
pero el programa no funcione de cualquier forma. Esto se soluciona de manera sencilla, al
seguir los siguientes pasos.
a. Si el problema es únicamente de que el PIC de la simulación no halla la ruta del
archivo .hex, se debe hacer doble clic sobre el PIC, y se hace clic en el icono de una
carpeta que aparece en el cuadro de diálogo. Luego se deberá buscar el archivo
“Familia18F”, incluido dentro de la carpeta “Investigador2”, copiada
anteriormente. Después de haber hallado el archivo, se hace clic en “OK”.
24
Tras haber hecho doble clic en el PIC de la simulación
Dicho sea de paso, se recomienda observar la programación del PIC en este punto.
Todo el programa está comentado, lo que hace más fácil la comprensión del
mismo.
25
Fig. 34 Compilación del proyecto en C
26
Ahora ya está todo a punto para la simulación en conjunto. Desde Netbeans, por si acaso, se
compila nuevamente el proyecto “FrameUSB”, haciendo clic derecho en la carpeta del proyecto, y
haciebdo clic en la opción “Clean and Build”. Luego, haciendo clic derecho sobre la carpeta del
proyecto, se hace clic ahora sobre la opción “Run”. El frame del proyecto hace su aparición:
Fig. 36 Interface 1
27
Y finalmente, se hace clic en el puerto que se desee activar, claro, en la ventana de la aplicación de
JAVA. El puerto correspondiente se deberá activar en Proteus.
Y no sólo se puede comandar a Proteus desde JAVA. Es factible incluso lo inverso! Para verificar
esto, se selecciona un número (binario, claro está) a través del dipswitch en la simulación de
Proteus. Se trae a primer plano la aplicación JAVA. Se selecciona la pestaña “Entrada USB” de la
ventana de la aplicación, y se presiona el botón “Leer Puerto D” (Una vez que se haya ganado
experiencia, se puede leer cualquier puerto), y aparecerá el valor en decimal de la lectura en binario
del puerto D.
28
Fig. 1 Explicación de USB .................................................................................................................. 4
30