Anda di halaman 1dari 5

UNIVERSIDAD NACIONAL MAYOR DE

SAN MARCOS
Universidad del Perú, DECANA DE
AMÉRICA
FACULTAD DE INGENIERÍA
ELECTRÓNICA, ELÉCTRICA
Y TELECOMUNICACIONES

Curso : Programación Avanzada

Tema : Proyecto final

Profesor : Mg. Patricio Avila López

Alumnos : Avila Revilla Carlos Alonso

Javier Astete Licely Tatiana

Códigos : 15190101

15190148

Fecha de entrega: 26 de Octubre de 2018

2018
Informe Funcional

OBJETIVOS:

.1. Objetivos Funcional:

Desarrollar un brazo robótico el cual imprimirá sobre cualquier superficie y con


diferentes medios (lápiz, lapicero, plumón, etc) las direcciones que desarrollaremos en
el computador.

.2. Objetivos Técnicos:

Implementar un programa en JAVA que dirija un brazo robótico el cual a través de las
teclas direccionales o mediante un joystick, dirigir al brazo mediante un cable LPT u
otro tipo de java, para poder dibujar figuras a la vez controlar el brazo para agarrar o
no el medio de dibujo.

ALCANCES Y LIMITACIONES

 Alcances.
El presente proyecto se tendrá en cuenta los movimientos naturales en 360 grados.

El material de impresión puede ser cualquiera que se puede almacenar en un tubo con
descenso a presión.

 Limitaciones

El tiempo de respuesta del brazo va a ser independiente del programa.

El resultado será en tiempo real.

BENEFICIOS.

Para trabajos donde la intervención humana directa no es viable este brazo podrá
podrá evitar tal interacción pudiendo realizar la tarea.

Con una seria de modificaciones también el programa podría servir para manipular
objetos desde el computador.

Se podrá realizar acciones desde cualquier parte en el computador .


LIBRERIAS:

import java.awt.Graphics;

Java proporciona la clase Graphics, que permite dibujar elipses, cuadrados, líneas,
mostrar texto y también tiene muchos otros métodos de dibujo. Para cualquier
programador, es esencial el entendimiento de la clase Graphics, antes de adentrarse en
el dibujo en Java.
La clase Graphics proporciona el entorno de trabajo para cualquier operación gráfica
que se realice dentro del AWT.

import java.awt.Point;

Sirve para representar la localización en (x,y) del espacio de coordenada, especificado

import parport.ParallelPort;

Sirve para enviar datos a travez de un puerto paralelo

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

Todos los programas que requieran responder al clic del Mouse usarán la
interfaz ActionListener que nos obliga a agregar el método actionPerformed() a nuestra
clase (Las interfaces son clases especiales que es inútil explicar aquí y que casi siempre
exigen que se agreguen métodos específicos). Los clics capturados remitirán el flujo del
programa al método actionPerformed() que recibe como parámetro objetos de la
clase ActionEvent .
Para mostrar esto haremos una clase que sea un JFrame, que contenga un JButton y que
al recibir un clic mande un mensaje:
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

Para gestionar los sucesos procedentes del teclado que se producen en un componente.
Mediante addKeyListener se conecta el componente con un objeto de la clase que
maneja los sucesos originados en dicho componente.
La información acerca del suceso viene encapsulada en un objeto de la clase KeyEvent.

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

Recibe eventos de ventana. Los métodos en esta clase están vacíos. Esta clase existe
como conveniencia para crear objetos de escucha.

import java.util.Timer;
import java.util.TimerTask;
Los timers son una herramienta muy útil para lanzar una tarea cada cierto tiempo, por
ejemplo, si estamos conectados a un servidor, podemos enviar información de estado
para no desconectarnos, o lanzar una tarea a una hora determinada, o incluso puede
servir para crear una animación (ya que con el tiempo va variando aquello que
hayamos dibujado, o va cambiando el fotograma).

import java.awt.Container;
La clase Container es una clase abstracta derivada de Component, que representa a
cualquier componente que pueda contener otros componentes. Se trata, en esencia, de
añadir a la clase Component la funcionalidad de adición, sustracción, recuperación,
control y organización de otros Componentes.

CLASES:

class KEY_STATE:

Utilizamos esta clase ya que tenemos que derivar si la tecla esta apretada o no,

class MOTOR_CTRL:

Con esta clase controlamos el movimientos de los motores derecha izquierda también
de la activación.

class Switch_hoover

Con esta clase controlamos lo que se refiere a la refrigeración de la maquina con la tecla
de acceso rápido, F.
class Switch_alarm

Activa la alarma presente en el proyecto

class Switch_mp3player

Habilita la operación de reproductor de un sonido predeterminada

class PP_BASEADDR_BIT_POS

Con esta clase podemos habilitar los diferentes pines del puerto paralelo que
utilizaremos en el proyecto.

class MASK_CLEAR

En esta clase de derivamos los comandos a cada pin de habilitación.

class SEQ_LIGHT

En esta clase nos permite observar el estado de habilitación de cada función a travez de
una secuencia de leds