Академический Документы
Профессиональный Документы
Культура Документы
PROYECTO FINAL
OBJETIVO
Implementar los conocimientos obtenidos en clases atravesó del siguiente proyecto este constara de
arreglos, hilos, archivos y directorios, entre otros al igual que se implementara la utilización de arduino
el objetivo es unir los conocimientos aprendidos en clase para crear un juego funcional y óptimo.
INTRODUCCION
El juego propuesto consiste en que lo jueguen dos personas primero los jugadores tendrán que ingresar
sus nombres y escoger el color del carro que deseen para que el juego se abra , todos estos datos serán
guardados en el programa; el juego se trata de que tendrán que desviar obstáculos con el carro escogido
por medio de los jostin, cada jugador contara con tres vidas, es decir cada que choque con algún
obstáculo que se encuentra en la pista las vidas serán descontadas y de esa manera el jugador que pierda
sus 3 vidas primero perderá, si en un tiempo previsto ninguno de los jugares ha perdido entonces
quedaran empates; el resultado también será guardado.
El juego fue realizado con el lenguaje de programación java y arduino, los algoritmos ingresados son
conectados con el arduino para que de esa manera se pueda jugar.
HILOS
Resolución CS N° 076-04-2016-04-20
Computación Docente: Ing. Daniel Díaz MSc
Período Lectivo: Septiembre 2017
Programación Aplicada
Febrero 2018
Un hilo (Thread) es un proceso en ejecución dentro de un programa, la clase Thread es la que encapsula
todo el control necesario sobre los hilos de ejecución (threads). Hay que distinguir claramente un objeto
Thread de un hilo de ejecución o thread. Esta distinción resulta complicada, aunque se puede simplificar
si se considera al objeto Thread como el panel de control de un hilo de ejecución (thread). [CITATION
Agu \l 2058 ]
Métodos de Clase
Estos son los métodos estáticos que deben llamarse de manera directa en la clase Thread.
currentThread()
yield
sleep( long)
Métodos de Instancia
Aquí no están recogidos todos los métodos de la clase Thread, sino solamente los más interesantes,
porque los demás corresponden a áreas en donde el estándar de Java no está completo
start()
run()
stop()
suspend()
resume()
setPriority( int )
getPriority()
setName( String )
getName()
setName()
Sincronización
Los hilos se comunican generalmente a través de campos y los objetos que tienen esos campo
Es una forma de comunicación eficiente, pero puede plantear errores de interferencias entre hilo
La sincronización es la herramienta para evitar este tipo de problemas, definiendo órdenes
estrictos de ejecución
ARCHIVOS Y DIRECTORIOS
1. Organizar y administrar archivos y carpetas. Puede realizar las tareas básicas de archivos y carpetas
tales como crear, eliminar, copiar y mover archivos y carpetas, o tareas más avanzadas, como cambiar
Resolución CS N° 076-04-2016-04-20
Computación Docente: Ing. Daniel Díaz MSc
Período Lectivo: Septiembre 2017
Programación Aplicada
Febrero 2018
2. Buscar archivos y carpetas. Se puede afinar el enfoque de las búsquedas de archivos y carpetas
mediante criterios adicionales de búsqueda tales como la fecha, el tipo, el tamaño del archivo o la
distinción entre mayúsculas y minúsculas. También se puede ampliar el alcance de las búsquedas de
archivos si se utilizan caracteres comodín o se especifican expresiones regulares.
3. Proteger archivos y carpetas. Se pueden proteger los archivos y las carpetas mediante las
características de seguridad de Windows XP Profesional como las cuentas de usuario y de grupo, las
directivas de grupo, las carpetas compartidas y los permisos de impresoras, la auditoría y los derechos de
usuario. Si se tiene instalado el sistema de archivos NTFS se pueden establecer permisos de archivo y de
carpeta, y cifrar archivos y carpetas. [ CITATION ECU \l 2058 ]
File(String path)
File(String path, String name)
File(File dir, String name)
String getName()
String getPath()
String getAbsolutePath()
boolean exists()
boolean canWrite()
boolean canRead
boolean isFile()
boolean isDirectory()
boolean isAbsolute()
long lastModified()
long length()
boolean mkdir()
boolean mkdirs()
boolean renameTo(File dest);
boolean delete()
String[] list()
String[] list(FilenameFilter filter)
ARDUINO
Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno
de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares.
Por otro lado Arduino nos proporciona un software consistente en un entorno de desarrollo (IDE) que
Resolución CS N° 076-04-2016-04-20
Computación Docente: Ing. Daniel Díaz MSc
Período Lectivo: Septiembre 2017
Programación Aplicada
Febrero 2018
Arduino y Java son dos entes independientes. Arduino es una plataforma de hardware libre con su
propio lenguaje, mientras que Java es un lenguaje de programación de alto nivel. Java necesita para
su ejecución la Máquina Virtual de Java, la cual, hasta ahora no puede ser ejecutada desde Arduino.
Sin embargo esto no significa que no podamos crear programas en Java que le envíen instrucciones
a Arduino entregándonos el control de circuitos electrónicos desde una interfaz en la computadora.
Esta es la forma más sencilla de comunicación que existe entre Arduino y la computadora, ya que
aprovecha el puerto USB por medio de un convertidor USB-Serie.
Resulta que para poder comunicar nuestras aplicaciones en Java con Arduino debemos aprovechar
la comunicación serial, lo cual es perfectamente posible si se implementan las librerías adecuadas.
3. Para permitirle a Java establecer comunicación con el Puerto Serie se requiere instalar los
drivers de la librería RXTX
La librería RXTX es una compilación de código que le permite a los programadores en Java
establecer comunicación con el Puerto Serie. Alguna vez escribí un post que hace referencia a
los requisitos para comunicar Arduino con Java. jhjhgjghjgh
Resolución CS N° 076-04-2016-04-20
Computación Docente: Ing. Daniel Díaz MSc
Período Lectivo: Septiembre 2017
Programación Aplicada
Febrero 2018
Adicionalmente cuenta con 4 clases dedicadas a la gestión de gráficos en tiempo real, a través de la
utilización de las dependencias de JFreeCharts.
Versión 3.0.0
La nueva y mejorada version de la librería. Se ha agregado nuevos recursos que permiten almacenar
datos recibidos y exportarlos en hojas de cálculo de MS Excel o graficarlos en tiempo real con la ayuda
de las librerías POI y JFreeCharts. También se ha agregado ejemplos de uso de las principales
características de la librería.[ CITATION Ant \l 2058 ]
Resolución CS N° 076-04-2016-04-20
Computación Docente: Ing. Daniel Díaz MSc
Período Lectivo: Septiembre 2017
Programación Aplicada
Febrero 2018
Resolución CS N° 076-04-2016-04-20
Computación Docente: Ing. Daniel Díaz MSc
Período Lectivo: Septiembre 2017
Programación Aplicada
Febrero 2018
Juego
Arduino
CONCLUSIONES:
Resolución CS N° 076-04-2016-04-20
Computación Docente: Ing. Daniel Díaz MSc
Período Lectivo: Septiembre 2017
Programación Aplicada
Febrero 2018
El juego cumplió con todas las expectativas que necesitamos fluye con hilos y su control es
perfecto al conectarlo con el Arduino mediante dos análogos capaces de controlar a los dos
carros con dos mandos adaptados para el juego.
El microcontrolador de Arduino posee lo que se llama una interfaz de entrada, que es una
conexión en la que podemos conectar en la placa diferentes tipos de periféricos. La
información de estos periféricos que conectes se trasladará al microcontrolador.
RECOMENDACIONES:
Cuando colocamos los carros en la pista adherirlos al movimiento en hilos para que se puedan
mover libremente y no distorsionen el funcionamiento, al igual que los obstáculos para que
salgan al tiempo de que el carro pueda esquivarlos.
Cuando conectamos el juego con el Arduino tenemos que darle la sensibilidad necesaria a los
análogos para que el carro sea controlable por el usuario caso contrario se moverá muy rápido por
la pista y no se podrá esquivar los obstáculos.
Referencias
Aprendiendo Arduino. (s.f.). Obtenido de
https://aprendiendoarduino.wordpress.com/2016/09/25/que-es-arduino/
Resolución CS N° 076-04-2016-04-20