Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
TESIS PROFESIONAL
QUE PARA OBTENER EL TITULO DE:
INGENIERO EN ROBTICA INDUSTRIAL
PRESENTAN:
RUBN EL CASTRO LOPEZ
LUCIA JIMNEZ ORTEGA
MOISES RODRGUEZ PREZ
MEXICO, D. F;
2005
Objetivo
Este proyecto busca la contribucin a la Institucin aplicando los conocimientos en ella adquiridos
a lo largo de nuestra formacin profesional para beneficio de las prximas generaciones como
muestra de gratitud a nuestra alma mater.
El proyecto consiste en brindar seguridad tanto peatonal como vehicular, aplicable al personal
docente, de servicio y poblacin estudiantil que forma parte de la Escuela Superior de Ingeniera
Mecnica y Elctrica _ Unidad Profesional Azcapotzalco proporcionndoles mediante un control
de acceso seguridad a sus bienes y su persona dando as una muestra a la sociedad de la
capacidad de los estudiantes del Instituto Politcnico Nacional especialmente de los alumnos de la
carrera de Ingeniera en Robtica Industrial.
Justificacin
Debido a la falta de presupuesto para la contratacin de guardias de seguridad en nuestra
institucin y al mal uso que terceras personas le han dado a nuestras instalaciones, que han
repercutido indiscutiblemente de manera directa a la poblacin estudiantil y en general a cualquier
miembro integrante de esta h. Institucin, nos hemos visto en la necesidad de planear y actuar de
forma inmediata en el desarrollo de un sistema de control de acceso y seguridad de personas y
vehculos en nuestro plantel, capaz de trabajar de manera eficiente y a bajo costo.
Introduccin
Una de las grandes necesidades del ser humanos desde tiempos pasados ha sido la necesidad de
sentirse protegido, para este fin ha creado desde pequeos artefactos hasta imponentes
edificaciones para protegerse de los ataques de las culturas aledaas, como lo fue la gran muralla
China.
Actualmente el hombre ha encontrado en la tecnologa una herramienta capaz de ayudarle a
satisfacer sus necesidades de manera segura y a bajo precio ya sea para su persona y sus
bienes, como lo son las alarmas para automviles, las puertas elctricas de cocheras, mallas
electrificadas contra ladrones en casas, edificios, empresas, etc.
La automatizacin tambin ha contribuido en gran medida al incremento del tiempo libre y de los
salarios reales de la mayora de los trabajadores de los pases industrializados. Tambin ha
permitido incrementar la produccin y reducir los costes, poniendo automviles, refrigeradores,
televisiones, telfonos y otros productos al alcance de ms gente.
Sin embargo, no todos los resultados de la automatizacin han sido positivos. Algunos
observadores argumentan que la automatizacin ha llevado al exceso de produccin y al
derroche, que ha provocado la alineacin del trabajador y que ha generado desempleo. De todos
estos temas, el que mayor atencin ha recibido es la relacin entre la automatizacin y el paro.
Ciertos economistas defienden que la automatizacin ha tenido un efecto mnimo, o ninguno,
sobre el desempleo. Sostienen que los trabajadores son desplazados, y no cesados, y que por lo
general son contratados para otras tareas dentro de la misma empresa, o bien en el mismo trabajo
en otra empresa que todava no se ha automatizado.
Hay quienes sostienen que la automatizacin genera ms puestos de trabajo de los que elimina.
Sealan que aunque algunos trabajadores pueden quedar en el paro, la industria que produce la
maquinaria automatizada genera ms trabajos que los eliminados. Para sostener este argumento
suele citarse como ejemplo la industria informtica. Los ejecutivos de las empresas suelen
coincidir en que aunque las computadoras han sustituido a muchos trabajadores, el propio sector
ha generado ms empleos en fabricacin, venta y mantenimiento de ordenadores que los que ha
eliminado el dispositivo.
Por el otro lado, hay lderes sindicales y economistas que afirman que la automatizacin genera
paro y que, si no se controla, llevar a la creacin de un vasto ejrcito de desempleados.
Sostienen que el crecimiento de los puestos de trabajo generados por la administracin pblica y
en los sectores de servicio han absorbido a quienes han quedado desempleados como
consecuencia de la automatizacin, y que en cuanto dichos sectores se saturen o se reduzcan los
programas gubernamentales se conocer la autntica relacin entre la automatizacin y el
desempleo
Generalidades.
1.1 Control de acceso
Un sistema de control de presencia puede llegar a ser eficiente si se deriva la capacidad de
aportar nuevas funciones tales como, el registro y acceso de personal, que lo hagan ms prctico
y eficaz. Si esta nueva infraestructura automatiza procesos relacionados con la gestin de la
institucin y/o empresa, el resultado es un aumento inmediato de las capacidades de control de
recursos de la misma.
Definiremos control de acceso; a la manera de llevar un registro mediante dispositivos
elctricos y/o mecnicos de algo especifico (material, personal, etc.) en tiempo real e
histrico, que en funcin de la identificacin ya autentificada permite acceder a datos,
recursos, lugares, etc.
A partir de ese enfoque se ha creado una aplicacin de control de accesos completamente
integrable en el sistema de control de presencia, conformando un entorno nico que permite al
usuario dominar la administracin de personal en su totalidad.
Cuando las instalaciones necesitan un mejor control de las actividades de su gente se garantiza
que los sistemas de control de seguridad de acceso de entrada y salida son las mejores
soluciones.
5
Una amplia gama de torniquetes y de puertas electromecnicas integrados permite que los
clientes hagan una opcin ptima al equipar puntos de comprobacin. Este sistema es rentable y
confiable y el equipo es amistoso con el usuario las 24h del da, todo el ao. Combinado con los
sistemas de control de acceso, estos sistemas de control de entrada y salida de alta calidad
pueden proporcionar el nivel de la seguridad para resolver incluso los requisitos ms exigentes y
tener la seguridad de un control preciso y exacto.
Los sistemas de control de acceso de una sola puerta simple y los sistemas de control basados en
PC avanzados, sostenidos por tecnologas electrnicas sofisticadas las cuales funcionan con las
tarjetas de acceso de proximidad y etiquetas dominantes o magnticas realizan la gama completa
de las funciones del control de acceso y de supervisin de tiempo y horas de entrada.
La posibilidad de conexin de la PC es conveniente para crear una lista de las tarjetas de acceso y
proporcionarles las caractersticas, tales que permitan fijar los derechos de acceso individuales
para los empleados por tiempo, tiempos del da y niveles de acceso. Si se necesita manejar y
controlar el flujo de la gente en una entrada de la oficina o en un rea de la recepcin, una zona
industrial o dentro de las instalaciones de la empresa, los sistemas de control de acceso son una
de las mejores opciones.
Proporcionan soluciones que satisfacen las necesidades de seguridad, dando la oportunidad de
mantener un buen equilibrio entre el control de acceso y la libertad de movimiento. Se producen
dos tipos principales de sistemas de control de acceso para varios usos: independiente y de red.
As como diversas tareas eficientemente; prevencin del acceso desautorizado, del antepaso local
del rea, de justo a tiempo, adems, de supervisar y proteger activos e informacin del mando a
distancia de las puertas de la oficina, o del lugar en donde estn siendo empleadas.
Los productos de control de acceso ofrecen de manera sencilla, restriccin y acceso a lugares
crticos.
Los productos de acceso ofrecen diversas opciones; desde la conocida tarjeta magntica hasta
soluciones de tarjetas inteligentes y tecnologa biomtrica.
Adems de controlar el acceso a los sistemas, pueden ser utilizados para fotocredencializar,
localizacin de personas y objetos, puntualidad y asistencia e integrarse con otros sistemas como
los de informacin, nomina, alarma y evacuacin.
Seguridad.
Localizacin.
Tiempo y asistencia
Accesos crticos en reas peligrosas.
Maquinaria industrial.
Equipo de procesamiento de datos.
Equipo de comunicaciones.
Equipo mdico.
Control de procesos.
Acceso a archivos.
Son fabricadas en una base de PVC y/o Polyester, en la cual se encuentra una banda magntica,
sobre su superficie se puede imprimir toda la informacin requerida en ella, ya sea en relieve
(tarjeta simple) o fotos y logotipos a travs de una impresora trmica, utilizada especialmente para
esto.
Adems, stas pueden ser impresas en grandes cantidades con tecnologa offset o serigrafiadas,
para aplicaciones comerciales o bancarias.
La duracin de las tarjetas esta relacionada con el uso que la persona pueda darle. Debe tenerse
en cuenta las limitaciones propias de su tecnologa, como:
No doblar la tarjeta.
No dejarla expuesta a los rayos ultravioleta o solares,
No exponer a temperaturas por sobre los 35 C
No exponerla a elementos qumicos como resinas y solventes.
No aplastarla, ni troquelarla.
Los lectores son robustos y se adaptan a las distintas necesidades, varios modelos y colores para
escoger dependiendo de la ubicacin y el uso que se le dar.
Las bandas magnticas se clasifican por su grado de resistencia a los campos magnticos en
bandas de baja y alta resistencia (coercitividad).
LO-CO: Banda magntica de baja densidad, habitual en las tarjetas de uso bancario, requiere una
coercitividad de 300 Oersted. Muy apta para empresas provistas de lectores-grabadores.
HI-CO: Banda magntica de alta densidad (desde 2540 hasta 4000 Oersted) de gran resistencia a
campos magnticos, y una vez grabada es prcticamente imposible su decodificacin.
Coercitividad
La coercitividad es la fuerza electromagntica requerida para magnetizar o codificar la banda. Los
"Oersteds" son las unidades con las cuales se mide la "coercitividad". En la industria son usadas
tarjetas de baja (300 oersteds). y alta (3.600-6000 oersteds), "coercitividad".
9
Las tarjetas de alta coercitividad requieren una fuerza magntica ms fuerte para codificarlas y
tambin para borrarlas. Estas tambin son usadas en instalaciones que por alguna causa la
identificacin podra someterse a la presencia de un campo magntico, lo cual podra borrarla.
Debido a que estas tarjetas necesitan un campo magntico muy fuerte para ser borradas, existe
menos probabilidad a la prdida de datos.
Al considerar las capacidades de codificacin de sus tarjetas, es necesario identificar el tipo de
lectores a usar en la aplicacin, para as asegurar que la tarjeta sea compatible con el lector.
Segn lo mencionado anteriormente, ANSI e ISO requieren de especificaciones para codificar las
tarjetas magnticas. Estas especificaciones identifican los objetos tales como: localizacin en las
pistas, separados de campo y validacin de caracteres de datos. Estas especificaciones han sido
establecidas para asegurar que la informacin pueda ser encontrada en la banda. Si la
informacin no es encontrada en la ubicacin correcta, el lector de tarjetas considerar la tarjeta
"invlida".
1.2.2.1
Si se desea acceder a algn registro se debe primero pasar por los primeros registros hasta llegar
al deseado. Debido a que se debe acceder secuencialmente; es muy difcil leer y escribir en una
misma cinta.
1.2.3 Lectoras de proximidad.
A diferencia del terminal de banda magntica, existe un contacto que hace que a la larga se
desgaste la tarjeta y el lector, con el de proximidad no existe ese contacto, alargando la vida de la
tarjeta y de la terminal.
10
Usos
Estas tarjetas con circuito integrado, pueden contar con aplicaciones financieras, para ser
utilizadas como sistemas de pago y/o como tarjetas que contienen informacin, para accesos o
intercambios de informacin. La complejidad del chip vara de acuerdo con la aplicacin o
aplicaciones, para lo cual una tarjeta en particular est diseada.
Existen diferentes tipos de chip, que van desde simples sistemas de memoria, hasta sofisticados
sistemas que contienen un microprocesador.
11
Las tarjetas que contienen microprocesadores pueden ser utilizadas para aplicaciones que
requieren altos niveles de seguridad, mltiples aplicaciones en la misma tarjeta y tambin para
aplicaciones de productos emergentes como "Monederos Electrnicos" o tarjetas prepagadas.
Las Tarjetas Chip sin microprocesador, traen una cantidad determinada de dinero "cargada" y no
son recargables, es decir, una vez utilizada, esta es desechada, como las tarjetas de telfono.
Funcionamiento.
El cuadrado dorado que se encuentra en la tarjeta es el contacto con el Chip. Este cuenta con 8
diferentes puntos de contacto. La forma y distribucin de estos puntos de contacto, vara de
acuerdo al fabricante, pero de todas formas conservan las mismas funciones. VCC es la fuente de
poder del chip. RST es el Reset. CLK (Clock) es el reloj. Los dos puntos RFU (Reserved for Future
Use) son puntos reservados para un uso futuro. GND (ground) es la "tierra" del Chip. VPP es el
punto donde se encuentra la memoria EEPROM. Por ltimo, I/O es el Input Output del Chip.
Generalmente, el chip se encuentra ubicado debajo de los contactos, y est conectado a estos a
travs de alambres a los diferentes puntos de contacto. El chip de memoria contendr solamente
memoria, pero el que cuenta con microprocesador, contar con Random Acces Memory (RAM),
Read Only Memory (ROM) y memoria no voltil.
12
Las Tarjetas Inteligentes Sin Contacto, tienen un Chip con las mismas caractersticas de las que
son de Contacto, pero este se encuentra conectado a una antena y se encuentra en la parte
interior de la tarjeta.
Es determinante saber el uso y las aplicaciones que tendr la tarjeta para de esta manera poder
personalizarla y de ello depender el tipo de tarjeta que se seleccionara.
Anteriormente se vio que el recuadro dorado era el contacto del Chip con la parte exterior de la
tarjeta. Existen Tarjetas Chip Sin Contacto, que como su nombre lo indica, no requieren contacto
fsico con los lectores para su funcionamiento, el Chip en este caso es interno y no se ve a simple
vista. Esto hace que vare la forma de personalizacin y lectura entre estos dos tipos de tarjeta.
La tarjetas Chip de Contacto, se personalizan introduciendo la tarjeta a un equipo especial, que
graba y/o lee la informacin que se quiere grabar u obtener de la tarjeta. Este equipo esta
conectado a su vez a un computador o terminal, que contiene un programa diseado para poder
realizar estos procesos.
Una vez insertada la tarjeta en el lector, el "contacto" del chip, hace contacto con los conectores
elctricos, que transmiten los datos "en doble va", del lector al chip y viceversa.
El microprocesador de una tarjeta (bien sea de contacto o sin contacto) funciona como un disquete
de computador, donde se puede almacenar una cantidad determinada de informacin, bajo unos
formatos establecidos. Adicionalmente, cada archivo tiene su propio nombre y ubicacin,
dependiendo de su aplicacin.
1.2.5 Lectoras biomtricas.
La identificacin por la biometra se apoya sobre los criterios morfolgicos propios a cada
individuo; (geometra de la mano, huella digital, reconocimiento de voz, exploracin retinal.
Definicin.
No se debe de confundir nunca con la biometra, ya que esta ltima, es una tcnica que usan los
bilogos estadsticamente. Las tecnologas de identificacin biomtricas no son nuevas pero en
cuanto a sofisticacin tecnolgica se habla de un campo muy amplio para explorar.
13
centro del mismo y luego vuelve al mismo lado del dedo. Los crculos son aquellos que se forman
en el centro del dedo. Finalmente, un patrn tipo arco se detecta cuando las lneas comienzan de
un lado del dedo para pasar por el centro y finalizar en el otro lado.
Funcionamiento
La tecnologa de captura digital de las huellas dactilares esta basada en dos mtodos: ptico y
capacitivo. El mtodo ptico requiere que el usuario apoye su dedo sobre un vidrio donde en ese
punto el dispositivo proyecta una luz. La imagen es luego capturada por un dispositivo de carga
acoplada (CCD). Los mtodos pticos han sido usados a gran escala y tienen existencia desde la
dcada pasada. Han sido probados pero no siempre han sido confiables debido a condiciones
ambientales.
Por otro lado, el mtodo capacitivo estar disponible para las masas, haciendo que los dispositivos
de captura sean ms compactos, baratos y confiables. Los sistemas capacitivos analizan el dedo
mediante la deteccin de campos elctricos alrededor del dedo usando un chip sensor y un
conjunto de circuitos.
15
Existen muchas ventajas para el uso del reconocimiento de voz, alguna de ellas son:
Considerada un tecnologa biomtrica 'natural'
Confiabilidad
Flexibilidad
Ahorro de tiempo en la informacin de entrada
Tipos
Hay cinco formas especficas de tecnologas de identificacin de voz que estn en desarrollo:
1. Speaker Dependent
Este tipo de tecnologa comprende el 'entrenamiento' del sistema para el reconocimiento de
patrones en el habla de un individuo. Los sistemas que utilizan esta tecnologa soportan entre
30.000 y 120.000 palabras.
2. Speaker Independent
Este tipo de identificacin puede ser usado por cualquiera sin necesidad de entrenamiento previo.
El inconveniente es que el vocabulario es menor y tiene ndices ms altos de error.
3. Discrete Speech Input
Consiste en que la persona que habla hace pequeas pausas, de alrededor de 1/10 de segundo,
entre cada palabra. Esto posibilita al sistema el reconocimiento de cuando una palabra empieza y
cuando finaliza.
4. Continuous Speech Input
Los usuarios pueden hablar en forma continua pero el sistema de identificacin puede reconocer
una cantidad limitada de palabras y frases. Sirve solamente para el reconocimiento de palabras
predeterminadas.
5. Natural Speech Input
Este es el sistema deseable, el cual reconoce el habla natural, pero esta todava en desarrollo.
16
17
Identificador retinal.
La utilizacin de este tipo de control esta dedicada a los lugares seguros en la empresa o la
comprobacin de que los operarios no se marcan unos a otros. La utilizacin de la doble
tecnologa huella digital y tarjeta de proximidad permite utilizar nicamente la identificacin por
tarjeta para los otros accesos.
Sus reducidas dimensiones y peso facilitan su ubicacin en cualquier espacio. El tamao de su
tnel de inspeccin permite cubrir las necesidades en materia de seguridad todo tipo de personas.
18
No se requiere de gran conocimiento tcnico para entenderlos, los cdigos de barras son solo una
forma diferente de codificar nmeros y letras usando una combinacin de barras y espacios en
diferentes medidas. Es otra forma de escritura, ya que reemplazan el tecleo de datos para
recolectar informacin.
En las empresas, el uso correcto de los cdigos de barras reduce la ineficiencia y mejora la
productividad de la compaa hacia un crecimiento.
Los cdigos de barras son una forma fcil, rpida y precisa de codificar informacin.
Beneficios del Cdigo de Barras
El cdigo de barras es el mejor sistema de coleccin de datos mediante identificacin automtica,
y presenta muchos beneficios, entre otros.
Virtualmente no hay retrasos desde que se lee la informacin hasta que puede ser usada
Se mejora la exactitud de los datos, hay una mayor precisin de la informacin.
Se capturan los datos rpidamente
Se mejora el control de la entradas y salidas
Eficiencia, debido a la rapidez de la captura de datos.
Aplicaciones
Las aplicaciones del cdigo de barras cubren prcticamente cualquier tipo de actividad humana,
tanto en industria, comercio, instituciones educativas, instituciones mdicas, gobierno, etc., es
decir, cualquier negocio se puede beneficiar con la tecnologa de captura de datos por cdigo de
barras, tanto el que fabrica, como el que mueve, como el que comercializa.
Entre las aplicaciones que tiene podemos mencionar:
Tipos de Simbologas
Podra decirse que los cdigos de barras vienen en muchas formas o presentaciones. Muchos nos
son familiares porque los hemos visto en las tiendas, en los negocios, pero existen algunos otros
que son estndares en varias industrias. La industria de la salud, manufacturas, almacenes, etc.
tienen terminologas nicas para su industria y que no son intercambiables.
La existencia de varios tipos de cdigos de barras, se debe a que las simbologas estn diseadas
para resolver problemas especficos. De acuerdo al tipo de necesidad de identificacin interna del
negocio, de acuerdo con los requisitos que se deben cumplir para poder comerciar segn las
normas del mercado, se debe optar por el sistema de codificacin mas adecuado
Es decir, existen diferentes simbologas para las diferentes aplicaciones, y cada una de ellas tiene
caractersticas propias.
La seleccin de la simbologa depender del tipo de aplicacin donde va a emplearse el cdigo de
barras. El tipo de caracter, numrico o alfanumrico, la longitud de los caracteres, el espacio que
debe ocupar el cdigo o la seguridad, son algunos de los factores que determinarn la simbologa
a emplear.
A) Las principales caractersticas que definen a una simbologa de cdigo de barras son las
siguientes:
1.3.1
Numricas o alfanumricas
De longitud fija o de longitud variable
Discretas o continuas
Nmero de anchos de elementos
Autoverificacin.
Quiet Zone (es el rea blanca al principio y al final de un smbolo del cdigo de barras)
Lectores de cdigo de barras.
Las barras negras son las encargadas de absorber la luz y por el contrario, los espacios en blanco
son los que la reflejan de regreso al scanner.
El escner transforma las fluctuaciones de luz en impulsos elctricos los cuales copian las barras y
el modelo de espacio en el cdigo de barras; y al mismo tiempo, un descodificador se encarga de
generar una seal de tipo digital que es nica de las barras, para de esta manera cambiar los
impulsos elctricos en un cdigo binario por medio de algoritmos matemticos y as, transmitir el
mensaje ya decodificado a una terminal manual, PC, o sistema centralizado de computacin tal
como si la informacin hubiera sido tecleada.
El decodificador puede estar integrado al escner o ser externo al mismo. (Fig. 2)
(Fig. 2)
En el caso de los lpices pticos sta seal es de baja frecuencia, pues es generada por el barrido
de las barras y espacios que hace el operador al deslizar el lpiz sobre el smbolo de cdigo de
barras. En el caso del lser, la seal es similar a la generada por el lpiz, slo que a una
frecuencia mucho mayor. Esta ltima seal es conocida como HHLC (Hand held laser compatible).
Por ello, existe una variedad de lectores de cdigos de barras; entre los que podemos citar a los
siguientes.
1.3.2 Tipos de lectores.
1.3.2.1 Lpiz ptico.
Es un lector de pluma econmico fabricado para satisfacer necesidades de bajo volumen de
lectura; el diseo avanzado de su ptica y electrnica transforman la informacin de un cdigo de
barras en una seal digital de alta calidad, con lo que pueden leer cdigos sobre color, borrosos y
con bajo contraste de forma rpida y acertada. La punta pulida del lpiz reduce el dao en las
etiquetas y fue pensada tambin para que fuera sencillo su reemplazo en caso de sufrir algn
dao.
Son diseados pensando en la comodidad del usuario para que pueda operarlo como si fuera una
pluma normal; simplemente se desliza el lpiz a lo largo del cdigo de barras en cualquier
direccin. Algunos modelos emiten un sep, informando al operador que se ha obtenido una
21
buena lectura. Ideal para utilizar en terminales porttiles para inventarios pequeos, o para
verificar que un cdigo de barras se lea.
El decodificador interno lee y discrimina las simbologas ms populares, minimizando errores.
Son modelos sin decodificar, con salida TTL. Tienen interface RS232 y tambin tiene integrado el
decodificador. Existen otros modelos que proporcionan una interfase al teclado (AT o PS/2)
tambin con decodificador integrado.
Debe ser deslizado haciendo contacto a lo ancho del cdigo. Como se menciona anteriormente,
enva una seal digital pura de las barras y espacios a una frecuencia igual a la velocidad con que
se desliza el lpiz.
Ventajas
Economa.
Desventajas
Lentitud, requiere que el usuario tenga prctica, tiene una baja tasa de lectura en la primera
pasada y el xito de su lectura depende de la calidad de impresin del cdigo.
Densidad de lectura de barra fija.
1.3.2.2
Lser de pistola
Su velocidad, bajo consumo en corriente y excelente alcance, hacen de este tipo de lectores ideal
para una gran variedad de aplicaciones. Adems, el decodificador permite la edicin de datos para
acondicionarlos justo antes de enviarlos a la computadora receptora. Esta caracterstica es
sumamente importante pues puede ahorrar mucho tiempo y dinero al evitar hacer cambios en el
software que interacta con el lector.
22
Realizan un barrido mediante una luz lser que genera una seal similar a la del lpiz ptico, pero
a una mayor frecuencia. Esta seal es conocida como HHLC (Hand Held Laser Compatible).
La versin del lector con decodificador soporta interface a teclado PC XT/AT, PS/2, Macintosh
(ADB) y ms de 16 terminales. Emulacion de Lpiz (wand emulation) y comunicacin serial RS232
tambin son soportados. Gracias a su diseo modular, es muy sencillo para el usuario reemplazar
el cable cuando ste se dae o para cambiar la interfase.
En la mayora de los modelos, un men con cdigos de barras proporciona una extensa lista de
opciones para configurar. Adems, se cuenta con una gua rpida para configurar los parmetros
ms comunes. Una vez que esta configurado, los parmetros se pueden copiar a otras unidades
utilizando cdigos personalizados. Esto es muy til sobre todo en grandes instalaciones. Es el
Lector ideal para utilizarse en almacenes, lneas de produccin, punto de venta, y aplicaciones
industriales ligeras.
Ventajas
Desventajas
Relativamente caro (aunque existen modelos de $5450 M.N.), puede presentar problemas
de durabilidad debido a sus partes mviles (espejos giratorios), e inconvenientes al leer con
demasiada luz ambiental.
Precios: $5000 - $15000 M.N.
23
1.3.2.3
Son lectores de cdigo de barras que usa un elemento CCD (charged coupled device) para
brindar un alto desempeo, gran confiabilidad. Sus atributos y precio lo hacen ideal para una
variedad de ambientes, incluyendo puntos de venta, aplicaciones industriales ligeras y soluciones
para hospitales o laboratorios.
Mediante un arreglo de fotodiodos toma una 'foto' del smbolo de cdigo de barras y la traduce a
una seal, que puede ser similar a la enviada por el lser (HHLC) o a la del lpiz ptico
El diseo multi-interfaz permite conexin va teclado, USB, RS232 y emulacin de lpiz ptico.
Tambin soporta 16 tipos de terminales via teclado. Todo esto a travs de un simple cambio de
cable. Esta caracterstica ahorra prdidas de tiempo y dinero causadas por cables daados.
As mismo, este tipo de lectores lee y discrimina las simbologas ms populares, incluso, permite
la modificacin y edicin de la informacin capturada antes de que se enve a la computadora; as
el lector se ajusta a la aplicacin, evitando costosas modificaciones al software. La instalacin es
sencilla y puede configurarse mediante el programa Scanner Configuration Manager, o con la
lectura de cdigos en el manual del usuario. Con ambos mtodos es posible copiar la
configuracin a otros lectores, ahorrando tiempo.
Estos modelos son muy verstiles en cuanto a su capacidad de lectura, ya que encontramos
modelos de corto, medio y largo alcance, que van desde los 0 cm para los de corto alcance hasta
los 35 cm. para los de largo alcance.
Ventajas
Es rpido, econmico, muy durable por no tener partes mviles, puede no necesitar
decodificador de teclado, tiene un alto FRR.
Su uso se ajusta a las manos de cualquier operador y su diseo resiste mltiples cadas de
1.5 m a 1.8 m sobre superficie de concreto.
Desventajas
Ventajas
Todas las ventajas del lser de pistola ms una tasa de lectura a la primer pasada
prcticamente 100%.
Desventajas
Es caro (aqu no hay modelos econmicos), el operador requiere que los artculos
etiquetados no sean muy voluminosos pues el scanner se monta en posicin fija.
Precios: $12,000 - $27,000 M.N.
25
1.3.3
Configuracin de lectores.
Tabla 2
Existe una variedad de este cdigo que tan slo emplea ocho caracteres, de donde toma su
nombre como EAN 8, su estructura es similar a los cdigos que a continuacin se presentan en la
(tabla 3).
27
Tabla 3
Tabla 4
28
29
1.3.5.4 Code 39
Esta simbologa, (tambin llamada Cdigo 3 de 9) es el cdigo de barras de uso ms comn para
aplicaciones regulares. Es popular debido a que puede contener texto y nmeros ( A - Z, 0 - 9, +, -,
., y), puede ser ledo por casi cualquier lector de cdigo de barras en su propia configuracin,
adems es uno de los ms viejos entre los cdigos de barras modernos. El Code 39 es un cdigo
de barras de ancho variable y puede tolerar cualquier nmero de caracteres que el lector pueda
barrer. El Code 39 se encuentra a menudo en especificaciones militares y de gobierno. Estos
cdigos de barras son de auto revisin y no estn propensos a errores de sustitucin.
1.3.5.5
Intercalado 2 de 5
1.3.5.6
Coda8 bar
Los cdigos de barras codabar pueden incluir caracteres numricos, caracteres de seis
puntuaciones (-$:/.+) y espacios. Hay tambin 4 caracteres especiales de inicio/alto, los cuales son
A, B, C, y D. El Codabar es til para codificar smbolos de pesos y de matemticas. Estos cdigos
de barras son ligeramente ms largos que los de intercalado 2 a 5. El Coda bar requiere
caracteres
para
iniciar
y
parar.
30
1.3.5.8
2D (Dos Dimensiones)
Una simbologa para cdigo de barras 2D permite una vasta cantidad de datos en un simple
cdigo de barras ya que almacena datos y/o imgenes en dos dimensiones. Una demostracin
comn de la tecnologa es un simple cdigo de barras no mayor que un UPC estndar que
contiene el domicilio completo de una persona. Algunas simbologas de cdigos de barras 2D
incluyen PDF 417, DataMatrix Code, y MaxiCode.
Ahora bien, en ocasiones no podemos tener los accesorios o materiales necesarios para crear una
base de datos, por lo que nos es necesario y de gran utilidad las terminales, las cuales son
porttiles y muy tiles, pero que en nuestro caso no necesitaremos, puesto que nosotros nos
ayudaremos de una computadora y teclear directamente los datos y crear la base de datos de
todo nuestro personal, pero mencionaremos a groso modo de lo que se tratan.
32
Cuenta de pasos a travs del torniquete - una solucin eficaz, ambas para realizar
estadsticas de visitantes.
Acceso para grupos de visitantes (el torniquete est abierto para el paso de N visitantes,
despus del paso del visitante N, el torniquete se bloqueara - particularmente beneficiosos
cuando se arreglan las visitas de grupo.
Una opcin mas es en ambos sentidos para la entrada en un cuarto; puede existir un cierto
cupo para el mismo y si se detecta que el nmero e entradas supera la capacidad se
bloquea para el ingreso y deja libremente la salida..
Para prevenir tentativas del acceso desautorizado a travs del torniquete, el mismo se
equipa con reles para la deteccin de intrusos y una conexin a sirenas.
Tipos.
Existen varias versiones y opciones para su uso en interiores.
Versin de lujo:
Brazos de plata en la barrera
Doble brazos de la gota del contra pnico del
Acero inoxidable.
Versin bsica.
Versin de textura ligera
De acero inoxidable y doble empalme
34
Los torniquetes resistentes realzados de trpode tipo caja aseguran el encierro seguro del paso y lo
alistan para los lectores de tarjetas del o cualquier otro dispositivo. Funcionando con moneda.
Forman callejones sin la instalacin de las barreras adicionales de la gua cuando varios torniquetes
se alinean. Son los similares a los encontrados en las estaciones del metro
Caractersticas.
Para las alarmas contra el salto o el arrastre por debajo del torniquete se equipan con sensores de
presin que accionan la alarma de sonido (que funciona cuando se presiona la cubierta superior del
torniquete). Sus usos ms frecuentes son en aeropuertos, ferrocarriles y estaciones y terminales del
metro, instalaciones industriales y de seguridad, estadios, complejos hospitalarios, etc. Los
torniquetes de trpode se pueden proveer de brazos de gota contra-pnico (para las instalaciones de
35
interior solamente). Los brazos de gota contra-pnico permiten fijarlo libre en casos de emergencia
sin ninguna llave o herramienta especial. Bajo condiciones normales funcionan como los brazos
estndares de barrera.
Para el uso de interior versin: carcasa de lujo: cubierta de plata antigua contra el polvo:
brazos inoxidables. Otros colores estn disponibles segn especificaciones del cliente. La
poca de la cita de la fabricacin y del precio se especifica individualmente.
Para el uso al aire libre se cuenta con cubierta y brazos en acero inoxidable.
Funcionamiento.
El diseo del torniquete permite su operacin en modo de acceso bifsico (rotacin de dos-ciclos)
cuando el torniquete se funciona autnomamente. En este modo de acceso el paso a travs del
torniquete se efecta en dos fases: la entrada al rea del paso entre las dos alas de la barrera se
efecta despus de la primera abertura de los tapones, y el rotor se bloquea en se; la salida fuera
del rea del paso entre las dos alas de la barrera se efecta despus de la segunda abertura de los
tapones (la segunda fase).
El diseo incluye un dispositivo, que previene la rotacin reversiva del rotor que se ha movido una
vez desde la posicin inicial. Esto evita la posibilidad de acceso a personas no autorizadas.
Los modos de funcionamiento se configuran desde el panel de mando a distancia. Estos modos son:
un solo paso en una direccin y libre en sentido contrario, libre en ambos sentidos y un solo paso y
ambos sentidos.
37
Caractersticas.
El torniquete viene con una configuracin del rotor a 120. El engranaje electromecnico est situado
en el poste del rotor del torniquete. Los modos de funcionamiento se fijan desde el panel de mando
a distancia: paso solo en una direccin, paso libre en una direccin, paso solo bidireccional y paso
libre bidireccional.
Aplicaciones.
Oficinas
Bancos
Especificaciones tecnicas.
Voltaje 220V-50hz
Torniquete con entrada de voltaje CD de 24-27V
Cantidad de personal entrante por minuto 25personas/min
Dimensiones del sistema completo 1143 x 1380 x1430mm
Rango de temperatura e trabajo 1-40 grado.
38
Operacin.
Una vez que se autoriza el acceso, mediante el uso de un lector de cdigo de barras, banda
magntica, proximidad, biomtrico, forma manual por medio de un botn o cualquier otro tipo
de autorizacin de acceso, el torniquete se libera, permitiendo una rotacin de 120 grados, y
vuelve a trabarse, permitiendo el acceso solamente a una persona.
La operacin del torniquete puede ser "fail-lock" (queda trabado durante apagones) o "failsafe" (queda libre durante apagones)
Construccin.
Especificaciones.
40
Las barreras automticas son un recurso muy importante para garantizar la seguridad y el control de
trfico en empresas, tiendas, recintos de exposicin, clubes, aeropuertos, almacenes, hospitales,
estacionamientos, etc.
Ellas pueden ser rectas o articuladas. La barrera recta posee un largo de lanza de hasta 6 metros y
la barrera articulada de hasta 5 metros. El modelo articulado es el indicado para locales que tengan
lmite de altura, las lanzas son producidas en aluminio y el gabinete en placa de acero galvanizado
con pintura a polvo (poliester), lo que garantiza gran resistencia a la accin del tiempo.
1.5.1 Barreras de control vehicular.
Existen varias soluciones para resolver cualquier necesidad para el control vehicular en lneas de
ingreso y egreso.
Se cuentan con barreras para diferentes usos y aplicaciones:
Ventajas
-
Desventajas
-
41
Los sistemas estn basados 100% en software, utilizando cmaras digitales de alta resolucin para
la eficiencia de la captura de imgenes, de la cual una computadora realiza la extraccin de los
nmeros y letras de la placa, sin ningn tipo de intervencin del operador. Este proceso es 100%
automatizado.
1.5.2.2 Control por tarjetas de proximidad o chip inteligente.
Se cuenta con una amplia variedad de sistemas que permiten controlar el flujo vehicular por medio
de tarjetas de proximidad, transmisores activos o pasivos que se pegan en vehculos, etc.
Estos equipos pueden ser para aplicaciones de uso solitario o stand alone (para una sola puerta) sin
necesidad de una computadora, o el control general de la planta, conjunto residencial, edificio,
estacionamiento, etc.
42
Los sistemas que cuentan con sistemas basados en PC, le permiten tener un registro de quien entra,
sale, modificar todos los parmetros de usuario, fotografa, asignar horarios, rutas o lneas de
ingreso, egreso, por das festivos, etc. Todo con el control total y seguridad que brindan los ms
modernos sistemas de control de accesos disponibles hoy en da.
Los sistemas brindan diferentes rangos de deteccin, que van desde los 3 cm hasta 20 m.
Encontrando sistema que requieren que el usuario presente una o tarjeta al lector, y sistemas que
brindan la comodidad de ser 100% "manos libres" donde el transmisor estara dentro del vehculo.
1.5.2.3 Control por transmisores con registro y sin registro.
Son sistemas de activacin y control por medio de transmisores de radiofrecuencia. Esta opcion es
apta para aplicaciones de uso sencillo, para pocos usuarios. Cada transmisor cuenta con un numero
de identificacin nica, el cual puede ser dado de baja fcilmente sin tener que reprogramar todos los
transmisores.
El sistema puede brindar la opcin de control por medio de horarios, das, rutas o puertas de ingreso
o egreso, registro de todas las transacciones en una base de datos con todos los datos personales,
fichas descriptivas, fotografa, etc.
43
Para aplicaciones mas sencillas, existen los transmisores STAND ALONE, los cuales no dejan
registro de ingreso o egreso, no pueden ser controlados por horarios, das, etc. son la opcin para
aplicaciones mucho muy econmicas y practicas, para pocos usuarios y sin control.
44
1.5.2.6
La tecnologa RFID se ha estado usando en el mundo para automatizar el acceso de los vehculos a
estacionamientos, colonias privadas, clubes y para el control de trfico y de rutas de flotillas.
Un sistema RFID puede ser colocado para monitorear cualquier entrada o salida de estacionamiento.
La tecnologa RFID no requiere de contacto y le da al vehculo acceso sin que el conductor se tenga
que parar a insertar una tarjeta o presionar un botn.
El microchip puede estar dentro de una tarjeta o colocado en el vehculo cuando se entra al
estacionamiento o zona restringida. Cada vez que pasa un vehculo, es detectado el microchip por el
lector el cual manda una seal que abre la barrera o pluma para darle el acceso libre de entrada o
salida al vehculo.
45
Como se puede observar, existe una extensa variedad de equipos que podemos utilizar para aplicar
en cuanto a control de acceso se refiere, debemos de considerar que cada uno tiene sus
aplicaciones muy propias, aunque podemos hacer uso de todas y cada una de ellas, por cuestiones
de espacio y recursos, debemos de saber seleccionar la indicada para el tipo de trabajo que
requerimos que se realice.
46
Aritmtica de punteros
No existen referencias
Registros (struct)
Definicin de tipos (typedef)
Necesidad de liberar memoria (free)
47
Orientado a objetos
Java implementa la tecnologa bsica de C++ con algunas mejoras y elimina algunas cosas para
mantener el objetivo de la simplicidad del lenguaje. Java trabaja con sus datos como objetos y con
interfaces a esos objetos. Soporta las tres caractersticas propias del paradigma de la orientacin
a objetos: encapsulacin, herencia y polimorfismo. Las plantillas de objetos son llamadas, como en
C++, clases y sus copias, instancias. Estas instancias, como en C++, necesitan ser construidas y
destruidas en espacios de memoria.
Java incorpora funcionalidades inexistentes en C++ como por ejemplo, la resolucin dinmica de
mtodos. Esta caracterstica deriva del lenguaje Objective C, propietario del sistema operativo
Next. En C++ se suele trabajar con libreras dinmicas (DLLs) que obligan a recompilar la
aplicacin cuando se retocan las funciones que se encuentran en su interior. Este inconveniente
es resuelto por Java mediante una interfaz especfica llamada RTTI (RunTime Type Identification)
que define la interaccin entre objetos excluyendo variables de instancias o implementacin de
mtodos. Las clases en Java tienen una representacin en el runtime que permite a los
programadores interrogar por el tipo de clase y enlazar dinmicamente la clase con el resultado de
la bsqueda.
Robusto
Java realiza verificaciones en busca de problemas tanto en tiempo de compilacin como en tiempo
de ejecucin. La comprobacin de tipos en Java ayuda a detectar errores, lo antes posible, en el
ciclo de desarrollo. Java obliga a la declaracin explcita de mtodos, reduciendo as las
posibilidades de error. Maneja la memoria para eliminar las preocupaciones por parte del
programador de la liberacin o corrupcin de memoria.
Tambin implementa los arrays autnticos, en vez de listas enlazadas de punteros, con
comprobacin de lmites, para evitar la posibilidad de sobreescribir o corromper memoria resultado
de punteros que sealan a zonas equivocadas. Estas caractersticas reducen drsticamente el
tiempo de desarrollo de aplicaciones en Java.
Adems, para asegurar el funcionamiento de la aplicacin, realiza una verificacin de los bytecodes, que son el resultado de la compilacin de un programa Java. Es un cdigo de mquina
virtual que es interpretado por el intrprete Java. No es el cdigo mquina directamente entendible
por el hardware, pero ya ha pasado todas las fases del compilador: anlisis de instrucciones,
orden de operadores, etc., y ya tiene generada la pila de ejecucin de rdenes.
48
El cdigo fuente Java se "compila" a un cdigo de bytes de alto nivel independiente de la mquina.
Este cdigo (byte-codes) est diseado para ejecutarse en una mquina hipottica que es
implementada por un sistema run-time, que s es dependiente de la mquina.
Seguro
La seguridad en Java tiene dos facetas. En el lenguaje, caractersticas como los punteros o el
casting implcito que hacen los compiladores de C y C++ se eliminan para prevenir el acceso ilegal
a la memoria. Cuando se usa Java para crear un navegador, se combinan las caractersticas del
lenguaje con protecciones de sentido comn aplicadas al propio navegador.
Las aplicaciones de Java resultan extremadamente seguras, ya que no acceden a zonas delicadas
de memoria o de sistema, con lo cual evitan la interaccin de ciertos virus. Java no posee una
semntica especfica para modificar la pila de programa, la memoria libre o utilizar objetos y
mtodos de un programa sin los privilegios del kernel del sistema operativo. Adems, para evitar
modificaciones por parte de los crackers de la red, implementa un mtodo ultraseguro de
autentificacin por clave pblica
Ventajas
No se debe volver a escribir el cdigo si se quiere ejecutar el programa en otra mquina. Un
solo cdigo funciona para todos los browsers compatibles con Java o donde se tenga una
Mquina Virtual de Java (Mac's, PC's, Sun's, etc).
Java es un lenguaje de programacin orientado a objetos, y tiene todos los beneficios que
ofrece esta metodologa de programacin.
Un browser compatible con Java deber ejecutar cualquier programa hecho en Java, esto
ahorra a los usuarios tener que estar insertando "plug-ins" y dems programas que a veces
quitan tiempo y espacio en disco.
Java es un lenguaje y por lo tanto puede hacer todas las cosas que puede hacer un lenguaje
de programacin: Clculos matemticos, procesadores de palabras, bases de datos,
aplicaciones grficas, animaciones, sonido, hojas de clculo, etc.
Aunque tambin se podra considerar como desventaja la velocidad, ya que los programas hechos
en este lenguaje de programacin no tienden a ser muy rpidos.
49
50
Para ello tendremos que apoyarnos en los lectores de cdigos de barras, elementos
indispensables para leer y transmitir la informacin obtenida al sistema de base de datos
reconociendo as al individuo.
IMPLEMENTACIN.
Una vez que seleccionamos la manera de controlar cdigo de barras y seleccionado el tipo Code
3 of 9 as como el tipo de lector que usaremos, el de ranura, debido a su exactitud y a que la se
efecta de manera mas segura debido a que no existe el error de pasar mal las tarjetas, se explica
a continuacin la manera de llevarlo a cabo.
Es imperativo que todo el personal que tiene acceso al plantel en nuestro caso en particular,
llmese alumno, profesor, personal administrativo, personal de intendencia y en caso especial, el
alumnado del centro de idiomas, tenga un cdigo personalizado; sabemos que la mayora del
alumnado cuenta con un numero de boleta que lo identifica como alumno nico dentro del instituto
en base a este numero est creado un cdigo de barras que de igual manera es nico, ese cdigo
51
contiene en su totalidad y autenticidad ese mismo nmero, basndonos en este hecho, lo que
desarrollaremos ser el programa en que se creen dichos cdigos, por lo que el alumnado y
personal que aun no cuenta con el, pueda tener su propio cdigo, este programa estar diseado
especficamente para crear los cdigos y al mismo tiempo se creara la imagen.
Una vez que ya se encuentra la imagen sta podr ser dirigida al tipo de archivo que nosotros
deseemos, por lo que tambin se podrn disear las credenciales tal y como las conocemos hasta
este momento, se podrn mandar a imprimir y todo por lo que en este sentido, todos los que de
alguna manera pertenecen al plantel podrn acceder en base a esto; aunque esto ya no nos
corresponde.
Estos cdigos, se quedaran registrados junto con la informacin que corresponde a cada uno de
ellos (nombre, direccin, etc.; datos personales de cada alumno) en una base de datos por lo que
se podr llevar un registro y si se desea un despliegue de todos los movimientos que realice dicha
credencial, con ello sabremos si el alumno estuvo dentro del plantel, cuantas veces entro y salio
es otra manera de verificar la asistencia.
La base de datos estar diseada de tal manera que siempre exista una correspondencia de
entrada por salida, puesto que se pretende que gente extraa al plantel tenga el acceso
restringido y que en un gran porcentaje se cumplan las especificaciones para las cuales ser
diseada.
2.2 Desarrollo de la Programacin del Control de Acceso.
La programacin en java es orientada a objetos empleando ciertos conceptos como son herencia,
polimorfismo, abstraccin y reutilizacin de cdigo.
La programacin del sistema emplea clases las cuales con creadas de manera individual para ser
invocadas por un programa hijo que ejecuta todas las caractersticas que le heredan los dems
programas.
/*
* VentanaEntrarDatos.java
*
* Created on septiembre de 2005, 11:53 AM
*/
package controacceso;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
/**
*
* @author Ortega
*/
public class VentanaEntrarDatos extends javax.swing.JFrame {
UIManager.LookAndFeelInfo opc[];
/** Creates new form VentanaEntrarDatos */
public VentanaEntrarDatos(VentanaEntrarDatosGral padre) {
if(padre!=null){
padre.dispose();
52
}
opc=UIManager.getInstalledLookAndFeels();
cambiar(2)
initComponents();
this.setSize(415, 320);
this.setLocation(400,300);
}
private void cambiar(int valor)
{
try{
UIManager.setLookAndFeel(opc[valor].getClassName());
SwingUtilities.updateComponentTreeUI(this);
}
catch(Exception e){
e.printStackTrace();
}
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
private void initComponents() {//GEN-BEGIN:initComponents
jPanel1 = new javax.swing.JPanel();
jlTitulo = new javax.swing.JLabel();
jlInstruccion = new javax.swing.JLabel();
jbAluCB = new javax.swing.JButton();
jbAluSB = new javax.swing.JButton();
jbEmpleado = new javax.swing.JButton();
jcbAE = new javax.swing.JCheckBox();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Nuevo Usuario");
setBackground(new java.awt.Color(0, 204, 255));
setResizable(false);
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.setBackground(new java.awt.Color(0, 204, 255));
jlTitulo.setFont(new java.awt.Font("Tahoma", 0, 24));
jlTitulo.setText("Tipo de Usuario");
jPanel1.add(jlTitulo, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 30, -1, -1));
jlInstruccion.setFont(new java.awt.Font("Tahoma", 0, 14));
jlInstruccion.setText("Seleccione el tipo de usuario que quiere dear de alta:");
jPanel1.add(jlInstruccion, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 130, -1, -1));
jbAluCB.setText("Alumno con boleta");
jbAluCB.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbAluCBActionPerformed(evt);
}
});
jPanel1.add(jbAluCB, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 170, -1, -1));
jbAluSB.setText("Alumno sin boleta");
jbAluSB.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbAluSBActionPerformed(evt);
}
});
jPanel1.add(jbAluSB, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 210, -1, -1));
jbEmpleado.setText("Empleado");
jbEmpleado.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbEmpleadoActionPerformed(evt);
}
});
53
En el JPanel se distribuyen los componentes como son los JLabel que son las etiquetas, el
CheckBox y los tres JBotton que nuestra cada uno de ellos una opcin a elegir en el men de a
Pantalla de Inicio. Todos los componentes a su vez esta contenidos en un Canvas con las
caractersticas de tamao, color y Look and Feel.
El evento java.awt.event.ActionEvent evt se emplea para detectar cuando un botn fue presionado
y te enva la opcin seleccionada cuando se oprimi el botn.
Cada componete tiene propiedad de tamao, color, tipo de letra, su Look & Feel que es poner
atractivo al usuario el sistema.
/*
* VentanaEntrarDatosGral.java
*
* Created on septiembre de 2005, 02:19 PM
*/
package controacceso;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Calendar;
import java.util.Vector;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import com.java4less.rbarcode.barCodeEncoder;
/**
*
* @author Ortega
*/
public class VentanaEntrarDatosGral extends javax.swing.JFrame {
UIManager.LookAndFeelInfo opc[];
Vector datos=null;
int opcion=0;
boolean AE;
/** Creates new form VentanaEntrarDatosGral */
public VentanaEntrarDatosGral(VentanaEntrarDatosPersonas padre, VentanaEntrarDatosPersonasExt padreext, Vector datos,
int opcion, boolean AE) {
if(padre!=null){
padre.dispose();
}
if(padreext!=null){
padreext.dispose();
}
this.datos=datos;
this.opcion=opcion;
this.AE=AE;
opc=UIManager.getInstalledLookAndFeels();
cambiar(2);
initComponents();
this.setSize(420,380);
this.setLocation(370,300);
}
private void cambiar(int valor)
{
try{
UIManager.setLookAndFeel(opc[valor].getClassName());
SwingUtilities.updateComponentTreeUI(this);
}
catch(Exception e){
e.printStackTrace();
}
55
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
private void initComponents() {//GEN-BEGIN:initComponents
jdMensaje = new javax.swing.JDialog();
jPanel2 = new javax.swing.JPanel();
jlTitulo1 = new javax.swing.JLabel();
jbNo = new javax.swing.JButton();
jbSi = new javax.swing.JButton();
jPanel1 = new javax.swing.JPanel();
jlTitulo = new javax.swing.JLabel();
jlCalle = new javax.swing.JLabel();
jlNumExt = new javax.swing.JLabel();
jlNumInt = new javax.swing.JLabel();
jlColonia = new javax.swing.JLabel();
jlCP = new javax.swing.JLabel();
jlCiudad = new javax.swing.JLabel();
jlDeleg = new javax.swing.JLabel();
jtCalle = new javax.swing.JTextField();
jtNumExt = new javax.swing.JTextField();
jtNumInt = new javax.swing.JTextField();
jtColonia = new javax.swing.JTextField();
jtCP = new javax.swing.JTextField();
jtCiudad = new javax.swing.JTextField();
jtDeleg = new javax.swing.JTextField();
jbAceptar = new javax.swing.JButton();
jbCancelar = new javax.swing.JButton();
jdMensaje.setTitle("Nuevo Usuario");
jdMensaje.getAccessibleContext().setAccessibleParent(this);
jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel2.setBackground(new java.awt.Color(0, 204, 255));
jlTitulo1.setFont(new java.awt.Font("Tahoma", 0, 14));
jlTitulo1.setText("\u00bfDesea ingresar un nuevo usuario?");
jPanel2.add(jlTitulo1, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 30, -1, -1));
jbNo.setText("NO");
jbNo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbNoActionPerformed(evt);
}
});
jPanel2.add(jbNo, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 70, -1, -1));
jbSi.setText("SI");
jbSi.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbSiActionPerformed(evt);
}
});
jPanel2.add(jbSi, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 70, -1, -1));
jdMensaje.getContentPane().add(jPanel2, java.awt.BorderLayout.CENTER);
jPanel2.getAccessibleContext().setAccessibleParent(null);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Nuevo Usuario");
setResizable(false);
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.setBackground(new java.awt.Color(0, 204, 255));
jlTitulo.setFont(new java.awt.Font("Tahoma", 0, 24));
jlTitulo.setText("Datos Generales del Usuario");
jPanel1.add(jlTitulo, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 30, -1, -1));
jlCalle.setFont(new java.awt.Font("Tahoma", 1, 14));
56
jlCalle.setText("Calle:");
jPanel1.add(jlCalle, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 100, 50, -1));
jlNumExt.setFont(new java.awt.Font("Tahoma", 1, 14));
jlNumExt.setText("Num Ext:");
jPanel1.add(jlNumExt, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 130, 70, -1));
jlNumInt.setFont(new java.awt.Font("Tahoma", 1, 14));
jlNumInt.setText("Num Int:");
jPanel1.add(jlNumInt, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 130, 70, -1));
jlColonia.setFont(new java.awt.Font("Tahoma", 1, 14));
jlColonia.setText("Colonia:");
jPanel1.add(jlColonia, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 160, 60, -1));
jlCP.setFont(new java.awt.Font("Tahoma", 1, 14));
jlCP.setText("CP:");
jPanel1.add(jlCP, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 220, 30, -1));
jlCiudad.setFont(new java.awt.Font("Tahoma", 1, 14));
jlCiudad.setText("Ciudad:");
jPanel1.add(jlCiudad, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 220, 60, -1));
jlDeleg.setFont(new java.awt.Font("Tahoma", 1, 14));
jlDeleg.setText("Delegacion:");
jPanel1.add(jlDeleg, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 190, 80, -1));
jPanel1.add(jtCalle, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 100, 240, -1));
jPanel1.add(jtNumExt, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 130, 70, -1));
jPanel1.add(jtNumInt, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 130, 70, -1));
jPanel1.add(jtColonia, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 160, 220, -1));
jPanel1.add(jtCP, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 220, 80, -1));
jPanel1.add(jtCiudad, new org.netbeans.lib.awtextra.AbsoluteConstraints(250, 220, 110, -1));
jPanel1.add(jtDeleg, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 190, 200, -1));
jbAceptar.setMnemonic('A');
jbAceptar.setText("ACEPTAR");
jbAceptar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbAceptarActionPerformed(evt);
}
});
jPanel1.add(jbAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 280, -1, -1));
jbCancelar.setMnemonic('C');
jbCancelar.setText("CANCELAR");
jbCancelar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbCancelarActionPerformed(evt);
}
});
jPanel1.add(jbCancelar, new org.netbeans.lib.awtextra.AbsoluteConstraints(240, 280, -1, -1));
getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
pack();
}//GEN-END:initComponents
private void jbNoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbNoActionPerformed
// TODO add your handling code here:
jdMensaje.dispose();
System.exit(0);
}//GEN-LAST:event_jbNoActionPerformed
private void jbSiActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbSiActionPerformed
// TODO add your handling code here:
jdMensaje.dispose();
new VentanaEntrarDatos(this).setVisible(true);
}//GEN-LAST:event_jbSiActionPerformed
private void jbAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbAceptarActionPerformed
// TODO add your handling code here:
IngresarDatos();
jdMensaje.setSize(265,150);
jdMensaje.setLocation(450,400);
jdMensaje.setVisible(true);
this.dispose();
57
}//GEN-LAST:event_jbAceptarActionPerformed
private void jbCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbCancelarActionPerformed
// TODO add your handling code here:
jtCalle.setText("");
jtNumExt.setText("");
jtNumInt.setText("");
jtColonia.setText("");
jtCP.setText("");
jtCiudad.setText("");
jtDeleg.setText("");
}//GEN-LAST:event_jbCancelarActionPerformed
private void IngresarDatos(){
Connection c=null;
String nombre_p=null;
int num_reg=0;
try{
Class.forName("com.mysql.jdbc.Driver");
c= DriverManager.getConnection("jdbc:mysql://localhost/controacceso","root","");
Statement consultas= c.createStatement();
String AccesoEstac=null;
if(AE){
AccesoEstac="S";
}else{
AccesoEstac="N";
}
Calendar fecha=Calendar.getInstance();
if(opcion==0){
consultas.executeUpdate("INSERT INTO registro (num_registro, estado, fec_ent, hora_ent, fec_sal, hora_sal, estac)
VALUES ('"+datos.elementAt(0)+"', 'D', '"+fecha.get(fecha.YEAR)+"/"+(fecha.get(fecha.MONTH)+1)+"/"+fecha.get(fecha.DATE)+"',
'"+fecha.get(fecha.HOUR)+":"+fecha.get(fecha.MINUTE)+":"+fecha.get(fecha.SECOND)+"', NULL, NULL, '"+AccesoEstac+"')");
consultas.executeUpdate("INSERT INTO presonas (num_registro, nombre, seg_nombre, apeido_p, apeido_m) VALUES
('"+datos.elementAt(0)+"', '"+datos.elementAt(1)+"', '"+datos.elementAt(2)+"', '"+datos.elementAt(3)+"', '"+datos.elementAt(4)+"')");
nombre_p=datos.elementAt(1)+"_"+datos.elementAt(3);
num_reg=Integer.parseInt((String)(datos.elementAt(0)));
}
if(opcion==1){
ResultSet rsRegistro=consultas.executeQuery("SELECT MAX(num_registro) FROM registro WHERE num_registro>9999
and num_registro<100000");
if(rsRegistro.next()){
num_reg=rsRegistro.getInt("MAX(s_cons_pedim)");
num_reg++;
consultas.executeUpdate("INSERT INTO registro (num_registro, estado, fec_ent, hora_ent, fec_sal,
hora_sal, estac) VALUES ('"+num_reg+"', 'D',
'"+fecha.get(fecha.YEAR)+"/"+(fecha.get(fecha.MONTH)+1)+"/"+fecha.get(fecha.DATE)+"',
'"+fecha.get(fecha.HOUR)+":"+fecha.get(fecha.MINUTE)+":"+fecha.get(fecha.SECOND)+"', NULL, NULL, '"+AccesoEstac+"')");
consultas.executeUpdate("INSERT INTO presonas (num_registro, nombre, seg_nombre, apeido_p, apeido_m)
VALUES ('"+num_reg+"', '"+datos.elementAt(0)+"', '"+datos.elementAt(1)+"', '"+datos.elementAt(2)+"', '"+datos.elementAt(3)+"')");
nombre_p=datos.elementAt(0)+"_"+datos.elementAt(2);
}
}
if(opcion==2){
ResultSet rsRegistro=consultas.executeQuery("SELECT MAX(num_registro) FROM registro WHERE num_registro>99
and num_registro<1000");
if(rsRegistro.next()){
num_reg=rsRegistro.getInt("MAX(s_cons_pedim)");
num_reg++;
consultas.executeUpdate("INSERT INTO registro (num_registro, estado, fec_ent, hora_ent, fec_sal, hora_sal, estac)
VALUES ('"+num_reg+"', 'D', '"+fecha.get(fecha.YEAR)+"/"+(fecha.get(fecha.MONTH)+1)+"/"+fecha.get(fecha.DATE)+"',
'"+fecha.get(fecha.HOUR)+":"+fecha.get(fecha.MINUTE)+":"+fecha.get(fecha.SECOND)+"', NULL, NULL, '"+AccesoEstac+"')");
consultas.executeUpdate("INSERT INTO presonas (num_registro, nombre, seg_nombre, apeido_p, apeido_m)
VALUES ('"+num_reg+"', '"+datos.elementAt(0)+"', '"+datos.elementAt(1)+"', '"+datos.elementAt(2)+"', '"+datos.elementAt(3)+"')");
nombre_p=datos.elementAt(0)+"_"+datos.elementAt(2);
58
}
}
consultas.executeUpdate("INSERT INTO dat_gral (num_registro, calle, num, num_int, colonia, del_mun, cp, ciudad)
VALUES ('1', '"+jtCalle.getText()+"', '"+jtNumExt.getText()+"', '"+jtNumInt.getText()+"', '"+jtColonia.getText()+"',
'"+jtDeleg.getText()+"', '"+jtCP.getText()+"', '"+jtCiudad.getText()+"')");
c.close();
}catch(Exception e){
e.printStackTrace();
}
new barCodeEncoder(Integer.toString(num_reg), nombre_p);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new VentanaEntrarDatosGral(null,null, null, 0, false).setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JButton jbAceptar;
private javax.swing.JButton jbCancelar;
private javax.swing.JButton jbNo;
private javax.swing.JButton jbSi;
private javax.swing.JDialog jdMensaje;
private javax.swing.JLabel jlCP;
private javax.swing.JLabel jlCalle;
private javax.swing.JLabel jlCiudad;
private javax.swing.JLabel jlColonia;
private javax.swing.JLabel jlDeleg;
private javax.swing.JLabel jlNumExt;
private javax.swing.JLabel jlNumInt;
private javax.swing.JLabel jlTitulo;
private javax.swing.JLabel jlTitulo1;
private javax.swing.JTextField jtCP;
private javax.swing.JTextField jtCalle;
private javax.swing.JTextField jtCiudad;
private javax.swing.JTextField jtColonia;
private javax.swing.JTextField jtDeleg;
private javax.swing.JTextField jtNumExt;
private javax.swing.JTextField jtNumInt;
// End of variables declaration//GEN-END:variables
}
59
En esta pantalla el usuario ingresa todos sus datos que son almacenados en la base de datos
como un registro con atributos para que se le asignara un cdigo de barras para ser identificado
va electrnica.
Bsicamente sigue con la misma estructura que el programa anterior todos los componentes esta
dentro de un canvas que a su vez esta en un JPanel1 y JPanel2, donde estn depositados y
distribuidos los componentes como los JLabel que contienen las leyendas de cada JTextArea
donde se insertan los datos para enviarse a la base de datos.
Se muestra que tenemos dos opciones una cancelar y otra Aceptar, esto es por si los datos estn
mal le damos la opcin cancelar para que no se guarden los datos en la base de datos, la opcin
aceptar es que los datos ingresados son correctos.
En el programa se emplea unas conexiones a las base de datos que son sentencias para
establecer dicha comunicacin entre el sistema y la base de datos, se ven que si en caso de fallar
el intento de conectarse a la base de datos y poder guardar el registro ingresado, te enva un
mensaje de error.
Valida todos los campos con la informacin a guardar en la base de datos, aceptando valores
nulos. Una restriccin es que no permite que la base de datos rebase el numero de registros
permitidos en la base de datos, en cada opcin como la que se muestra a continuacin:
if(opcion==0){
consultas.executeUpdate("INSERT INTO registro (num_registro, estado, fec_ent, hora_ent, fec_sal, hora_sal, estac)
VALUES ('"+datos.elementAt(0)+"', 'D', '"+fecha.get(fecha.YEAR)+"/"+(fecha.get(fecha.MONTH)+1)+"/"+fecha.get(fecha.DATE)+"',
'"+fecha.get(fecha.HOUR)+":"+fecha.get(fecha.MINUTE)+":"+fecha.get(fecha.SECOND)+"', NULL, NULL, '"+AccesoEstac+"')");
consultas.executeUpdate("INSERT INTO presonas (num_registro, nombre, seg_nombre, apeido_p, apeido_m) VALUES
('"+datos.elementAt(0)+"', '"+datos.elementAt(1)+"', '"+datos.elementAt(2)+"', '"+datos.elementAt(3)+"', '"+datos.elementAt(4)+"')");
nombre_p=datos.elementAt(1)+"_"+datos.elementAt(3);
num_reg=Integer.parseInt((String)(datos.elementAt(0)));
}
Realiza la generacin del Cdigo de barras para cada usuario. Obtiene caracteres del campo nombre, numero de registro, segundo
nombre y apellido paterno; pegando a la cadena de caracteres para formar el nmero de cdigo de barras.
/*
* VentanaEntrarDatosPersonas.java
*
* Created on septiembre de 2005, 01:25 PM
*/
package controacceso;
import java.util.Vector;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
/**
*
* @author Ortega
*/
public class VentanaEntrarDatosPersonas extends javax.swing.JFrame {
UIManager.LookAndFeelInfo opc[];
boolean AE=false;
/** Creates new form VentanaEntrarDatosPersonas */
public VentanaEntrarDatosPersonas(VentanaEntrarDatos padre, boolean AE) {
if(padre!=null){
60
padre.dispose();
}
this.AE=AE;
opc=UIManager.getInstalledLookAndFeels();
cambiar(2);
initComponents();
this.setSize(420,380);
this.setLocation(370,300);
}
private void cambiar(int valor)
{
try{
UIManager.setLookAndFeel(opc[valor].getClassName());
SwingUtilities.updateComponentTreeUI(this);
}
catch(Exception e){
e.printStackTrace();
}
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
private void initComponents() {//GEN-BEGIN:initComponents
jPanel1 = new javax.swing.JPanel();
jlTitulo = new javax.swing.JLabel();
jlBoleta = new javax.swing.JLabel();
jlNombre = new javax.swing.JLabel();
jlApeP = new javax.swing.JLabel();
jlSegNom = new javax.swing.JLabel();
jlApeM = new javax.swing.JLabel();
jtBoleta = new javax.swing.JTextField();
jtNombre = new javax.swing.JTextField();
jtSegNom = new javax.swing.JTextField();
jtApeP = new javax.swing.JTextField();
jtApeM = new javax.swing.JTextField();
jbAceptar = new javax.swing.JButton();
jbCancelar = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Nuevo Usuario");
setResizable(false);
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.setBackground(new java.awt.Color(0, 204, 255));
jlTitulo.setFont(new java.awt.Font("Tahoma", 0, 24));
jlTitulo.setText("Datos del Usuario");
jPanel1.add(jlTitulo, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 30, -1, -1));
jlBoleta.setFont(new java.awt.Font("Tahoma", 1, 14));
jlBoleta.setText("Boleta:");
jPanel1.add(jlBoleta, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 100, 50, -1));
jlNombre.setFont(new java.awt.Font("Tahoma", 1, 14));
jlNombre.setText("Nombre:");
jPanel1.add(jlNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 130, 70, -1));
jlApeP.setFont(new java.awt.Font("Tahoma", 1, 14));
jlApeP.setText("Apeido Paterno:");
jPanel1.add(jlApeP, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 190, 120, -1));
jlSegNom.setFont(new java.awt.Font("Tahoma", 1, 14));
jlSegNom.setText("Segundo Nombre:");
jPanel1.add(jlSegNom, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 160, 130, -1));
jlApeM.setFont(new java.awt.Font("Tahoma", 1, 14));
jlApeM.setText("Apeido Materno:");
jPanel1.add(jlApeM, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 220, 120, -1));
jPanel1.add(jtBoleta, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 100, 210, -1));
61
62
Esta pantalla permite la captura de datos de cada usuario con el numero de boleta (cdigo de
barras) ya generado.
Se emplea la reutilizacin de cdigo empleando los conceptos antes vistos, se utiliza un JPanel
que contiene diversos componentes como son el JLabel, JTexArea,JButton. Cada uno de ellos
tiene sus caractersticas para ser presentados en la pantalla.
En cada plantilla vemos que estan las etiquetas que nos indica que informacin debe ser
capturada por cada caja de texto (TextArea), teniendo las opciones de cancelar o de Aceptar.
/*
* VentanaEntrarDatosPersonasExt.java
*
* Created on septiembre de 2005, 01:56 PM
*/
package controacceso;
import java.util.Vector;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
/**
*
* @author Ortega
*/
public class VentanaEntrarDatosPersonasExt extends javax.swing.JFrame {
UIManager.LookAndFeelInfo opc[];
int opcion=0;
boolean AE=false;
/** Creates new form VentanaEntrarDatosPersonasExt */
public VentanaEntrarDatosPersonasExt(VentanaEntrarDatos padre, int opcion, boolean AE) {
if(padre!=null){
padre.dispose();
}
this.opcion=opcion;
this.AE=AE;
opc=UIManager.getInstalledLookAndFeels();
cambiar(2);
initComponents();
63
this.setSize(420,380);
this.setLocation(370,300);
}
private void cambiar(int valor)
{
try{
UIManager.setLookAndFeel(opc[valor].getClassName());
SwingUtilities.updateComponentTreeUI(this);
}
catch(Exception e){
e.printStackTrace();
}
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
private void initComponents() {//GEN-BEGIN:initComponents
jPanel1 = new javax.swing.JPanel();
jlTitulo = new javax.swing.JLabel();
jtNombre = new javax.swing.JTextField();
jlNombre = new javax.swing.JLabel();
jlSegNom = new javax.swing.JLabel();
jtSegNom = new javax.swing.JTextField();
jlApeP = new javax.swing.JLabel();
jtApeP = new javax.swing.JTextField();
jlApeM = new javax.swing.JLabel();
jtApeM = new javax.swing.JTextField();
jbAceptar = new javax.swing.JButton();
jbCancelar = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Usuario Nuevo");
setResizable(false);
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.setBackground(new java.awt.Color(0, 204, 255));
jlTitulo.setFont(new java.awt.Font("Tahoma", 0, 24));
jlTitulo.setText("Datos del Usuario");
jPanel1.add(jlTitulo, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 30, -1, -1));
jPanel1.add(jtNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 80, 200, -1));
jlNombre.setFont(new java.awt.Font("Tahoma", 1, 14));
jlNombre.setText("Nombre:");
jPanel1.add(jlNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 80, 70, -1));
jlSegNom.setFont(new java.awt.Font("Tahoma", 1, 14));
jlSegNom.setText("Segundo Nombre:");
jPanel1.add(jlSegNom, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 110, 130, -1));
jPanel1.add(jtSegNom, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 110, 130, -1));
jlApeP.setFont(new java.awt.Font("Tahoma", 1, 14));
jlApeP.setText("Apeido Paterno:");
jPanel1.add(jlApeP, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 140, 120, -1));
jPanel1.add(jtApeP, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 140, 150, -1));
jlApeM.setFont(new java.awt.Font("Tahoma", 1, 14));
jlApeM.setText("Apeido Materno:");
jPanel1.add(jlApeM, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 170, 120, -1));
jPanel1.add(jtApeM, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 170, 150, -1));
jbAceptar.setMnemonic('A');
jbAceptar.setText("ACEPTAR");
jbAceptar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbAceptarActionPerformed(evt);
}
});
64
65
Esta pantalla permite la captura de datos de cada usuario sin el numero de boleta (cdigo de
barras).
Se emplea la reutilizacin de cdigo empleando los conceptos antes vistos, se utiliza un JPanel
que contiene diversos componentes como son el JLabel, JTexArea,JButton. Cada uno de ellos
tiene sus caractersticas para ser presentados en la pantalla.
Vamos que estn las etiquetas que nos indica que informacin debe ser capturada por cada caja
de texto (TextArea), teniendo las opciones de cancelar o de Aceptar.
En este caso no se emplea el campo Numero de Boleta por que se tiene contemplado que la pudo
perder pero esta registrado en la base de datos, y no recuerda el numero de boleta.
/*
* ControEntrada.java
*
* Created on 11 de septiembre de 2005, 04:15 PM
*/
//Definicion del paquete de clases
package controacceso;
//Definicion de classes a ocupar
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.TooManyListenersException;
/**
*
* @author Lucia Jimenez
*/
//Clase principal
public class Control implements Runnable,SerialPortEventListener {
//Variables Globales
static CommPortIdentifier idPuerto;
static Enumeration listaPuertos;
static SerialPort puertoSerie;
static OutputStream salida;
InputStream entrada;
Thread tLectura;
/** Creates a new instance of ControEntrada */
//Constructor de la clase
public Control() {
EntradaDatos();
}
66
67
case SerialPortEvent.CTS:
case SerialPortEvent.DSR:
case SerialPortEvent.RI:
case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
break;
// Cuando haya datos disponibles se leen
case SerialPortEvent.DATA_AVAILABLE:
//Lee el buffer de entrada
byte[] bufferLectura = new byte[20];
try {
while( entrada.available() > 0 ) {
int nBytes = entrada.read( bufferLectura );
}
//Conexin a la base de datos
/**********************************************************************************************************/
try{
Class.forName("com.mysql.jdbc.Driver"); //Este es el JDBC que se ocupa para la coneccion
c= DriverManager.getConnection("jdbc:mysql://localhost/controacceso","root",""); //Definicion de la base de datos
//localhost = Base de datos en la misma maquina
//198.204.10.1 = IP de la base cuando no esa en la misma maquina
Statement consultas= c.createStatement();
//Consulta de la base haber si existe el usuario
ResultSet rsRegistro=consultas.executeQuery("SELECT estado FROM registro WHERE num_registro='"+new
String(bufferLectura)+"'");
if(rsRegistro.next()){
//Manda a llamar el metodo para hacer mover el motor
EjecutaMando();
}
c.close();
}catch(Exception e){
e.printStackTrace();
}
/**********************************************************************************************************/
} catch( IOException e ) {}
break;
}
}
//Metodo para mandar seales a los motores
private void EjecutaMando(){
listaPuertos = CommPortIdentifier.getPortIdentifiers();
String mensaje = "Palabra de Mando";
//Identificacion del puerto de entrada
while( listaPuertos.hasMoreElements() ) {
idPuerto = (CommPortIdentifier)listaPuertos.nextElement();
if( idPuerto.getPortType() == CommPortIdentifier.PORT_SERIAL ) {
//
if( idPuerto.getName().equals("/dev/term/a") ) {
if( idPuerto.getName().equals("COM1") ) {
// Si el puerto no est en uso, se intenta abrir
try {
puertoSerie = ( SerialPort )idPuerto.open("AplEscritura",2000);
} catch( PortInUseException e ) {}
// Se obtiene un canal de salida
try {
salida = puertoSerie.getOutputStream();
} catch( IOException e ) {}
// Se fijan los parmetros de comunicacin del puerto
try {
puertoSerie.setSerialPortParams( 9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
68
SerialPort.PARITY_NONE );
} catch( UnsupportedCommOperationException e ) {}
// Se enva el mensaje
try {
salida.write( mensaje.getBytes() );
} catch( IOException e ) {}
}
}
}
}
public static void main( String[] args ) {
// Lista de los puertos disponibles en la mquina. Se carga en el
// mimo momento en que se inicia la JVM de Java
listaPuertos = CommPortIdentifier.getPortIdentifiers();
while( listaPuertos.hasMoreElements() ) {
idPuerto = (CommPortIdentifier)listaPuertos.nextElement();
if( idPuerto.getPortType() == CommPortIdentifier.PORT_SERIAL ) {
if( idPuerto.getName().equals("COMX") ) {
// Lector del puerto, se quedar esperando a que llegue algo
// al puerto
ControlEntrada lector = new ControEntrada();
}
}
}
}
}
Este es el programa principal que establece la mecnica oculta de interactuar el sistema con el
cdigo de barras (Numero de boleta) para activar los torniquetes y abrir la pluma del
estacionamiento.
Para esto se necesita saber que puerto serial tiene las seales elctricas que deben ser
monitoreadas para ver el proceso de la informacin sea el adecuado a nuestros requerimientos y
el adecuado funcionamiento.
Como se muestra a continuacin.
case SerialPortEvent.BI:
case SerialPortEvent.OE:
case SerialPortEvent.FE:
case SerialPortEvent.PE:
case SerialPortEvent.CD:
case SerialPortEvent.CTS:
case SerialPortEvent.DSR:
case SerialPortEvent.RI:
case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
Estos son algunos eventos que se pueden monitorear del puerto serial al establecer la
comunicacin y el proceso de la informacin.
Despus se establece la comunicacin de puerto serial con una velocidad de 9600 Baudios por
segundo en el tiempo de transmisin por el medio, Un bit de datos de (bits que en total forman un
69
byte, el bit de stop para indicar cuando se termina la transmisin de la palabra (cdigo de barras).
Y un bit de paridad para verificar que los datos son transmitidos de manera adecuada.
A continuacin se muestra parte del codigo de la configuracin del puerto al establecer la
comunicacin.
puertoSerie.setSerialPortParams( 9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE );
En esta parte de cdigo se valida que el numero de barras sea un cdigo valido en la base de
datos, para ello tiene que acceder a la base de datos y debe validar dicha informacin del cdigo
de barras que sea el registros almacenado en la base de datos.
As se activa el mecanismo de abrir el torniquete y pueda acceder el usuario.
try{
Class.forName("com.mysql.jdbc.Driver"); //Este es el JDBC que se ocupa para la coneccion
c= DriverManager.getConnection("jdbc:mysql://localhost/controacceso","root",""); //Definicion de la base de datos
//localhost = Base de datos en la misma maquina
//198.204.10.1 = IP de la base cuando no esa en la misma maquina
Statement consultas= c.createStatement();
//Consulta de la base haber si existe el usuario
ResultSet rsRegistro=consultas.executeQuery("SELECT estado FROM registro WHERE num_registro='"+new
String(bufferLectura)+"'");
if(rsRegistro.next()){
//Manda a llamar el metodo para hacer mover el motor
EjecutaMando();
}
c.close();
}catch(Exception e){
e.printStackTrace();
}
Una parte fundamenta del programa es que se ejecuta en tiempo real que es en milesimas de
segundos, que apenas son perceptibles al ser humano.
Cada Credencial genera un hilo de ejecucin en java; en otras palabras se da un lapso de tiempo
y su sesin de ejecucin para realizar la validacin de la informacin y activar el mecanismo de los
torniquetes.
Si en ese tiempo el usuario es distrado o se termino su tiempo de ejecucin tiene que volver a
pasar su credencial.
En este programa principal que ejecuta la monitorizacin de los puertos seriales de las lectoras
configurados conforme a la estructura fsica. Una vez activado genera todo lo descrito antes por
cada puerto que registre un cdigo de barras y procesa la informacin.
public static void main( String[] args ) {
// Lista de los puertos disponibles en la mquina. Se carga en el
// mimo momento en que se inicia la JVM de Java
listaPuertos = CommPortIdentifier.getPortIdentifiers();
while( listaPuertos.hasMoreElements() ) {
70
idPuerto = (CommPortIdentifier)listaPuertos.nextElement();
if( idPuerto.getPortType() == CommPortIdentifier.PORT_SERIAL ) {
if( idPuerto.getName().equals("COMX") ) {
// Lector del puerto, se quedar esperando a que llegue algo
// al puerto
ControlEntrada lector = new ControEntrada();
}
personas
num_registro: char(10)
nombre: char(20)
seg_nombre: char(20)
apeado_p: char(20)
dat_gral
num_registro: char(10)
calle: char(30)
num: char(10)
num_int: char(10)
colonia: char(30)
del_mun: char(30)
cp: char(5)
estado
num_registro: char(10)
estado: char(1)
fec_ent:
estadodate
hora_ent: time
fec_sal: date
hora_sal: time
estac: char(1)
71
Registro de datos.
La primera etapa del proyecto, la cual consta de crear el cdigo, recopilando los datos personales
de cada alumno o personal que labore dentro del plantel, se separaran en tres categoras;
alumnado (considerando a los del centro de idiomas), docentes y trabajadores; cada uno de ellos
tendr su propia plantilla, en la cual se debern ir llenando ciertos campos, que al final de ese
proceso lo que generara, ser un cdigo personalizado a partir de los datos proporcionados.
Una vez que dichas plantillas fueron dadas de alta, el programa se encargara de ir generando la
base de datos y a la par, crear el cdigo de barras, as como la imagen; la cual podr ser
insertada en cualquier otro tipo de documento o archivo para llevar un control de la gente que
ingresa al plantel.
El cdigo de barras almacenar la informacin que podr ser leda por dispositivos pticos
(scaners o lectora de cdigo de barras), los cuales tienen la funcin de convertir la informacin a
una seal digital para que la computadora pueda ejecutar el programa.
La PC tendr la funcin de comparar los datos que recibe de la lectora, con los que se encuentran
dentro de la base de datos, esto generara una instruccin que deber de controlar el acceso a
dicho plantel.
Los datos sern recibidos y enviados por medio del RS-232 (puerto serial) el cual tendr la funcin
de mandar la instruccin a la etapa de control del acceso.
La etapa de control consiste en el almacenamiento, conversin de las seales y el control de
potencia para poder manipular las seales digitales que controlaran a nuestro elemento mecnico.
Dentro de la primera etapa de control, se manejar el almacenamiento de datos en la memoria
que en este caso ser el MAX-232 que servir como buffer para la proteccin de las seales; la
72
ltima fase del control, consistir en la proteccin de la etapa digital por medio de transistores;
estos tendrn la funcin de proporcionar la cantidad necesaria de corriente para el circuito.
El sentido de giro del motor, consistir en un arreglo de dos transistores que estarn alimentados
por una fuente bipolar; para este control del motor, solo se requerirn pulsos o seales digitales
( 0 y 1) que sern capaces de dar el giro del motor y que estar limitado por un swicht de limite, el
cual tendr la funcin de detener el motor a 90, despus de cierto tiempo, el motor (pluma)
regresara a su posicin inicial con un sensor fotoelctrico el cual tendr la funcin de interrumpir el
flujo de la corriente cuando un objeto este parado bajo la pluma.
En el caso de los torniquetes, el elemento final que controlara el acceso ser una cerradura
magntica que al momento de desenergizarse, desactivara el campo magntico y permitir la
liberacin de la puerta.
Con respecto al circuito se analizo la manera mas fcil y sencilla de poder controlar esta etapa, ya
que hay diversas formas de llevar a cabo la etapa del control. La primera opcin que se tomo en
cuenta fue por medio de un plc, pero la desventaja que se tuvo con este , fue que el lenguaje de
programacin no era reconocible por el plc, ya que la diversos tipos de plc, manejan visual Basic
para compilar datos y puedan ejecutar las instrucciones, ya que el lenguaje de programacin es
por medio de la tecnologa java.
Otra manera para llevar a cabo el control era por medio de un microcontrolador, pero la desventaja
que se analizo es que estaba muy sobrado para las operaciones que se iban a realizar, ya que
nuestro proyecto no va a ejecutar una rutina de trabajo, ya que la funcin principal de un
microcontrolador es ejecutar una serie de rutinas que este almacenadas en una memoria para
llevarlas acabo.
Por lo que la mejor opcin que se vio fue controlarlo de una manera que no registrara una rutina ,
por lo que se trabajo con una serie de dispositivos digitales para mandar una instruccin que fuera
capaz de controlar el motor y la cerradura magntica. Por lo que se puede decir que nuestro
proyecto tiene una comunicacin de lazo abierto, ya que depende de una seal externa para
ejecutar una operacin.
El circuito digital que se muestra a continuacin especifica de manera mas clara, la conexin de
los dispositivos electrnicos.
73
74
75
En
este
captulo
se
encontrarn los clculos
mecnicos,
elctricos,
electrnicos,
dibujos
y
esquemas necesarios para
la
implementacin
del
sistema
de
acceso
y
seguridad a ESIME UPA,
sus clculos, indispensables
para su desarrollo.
76
Calculando el momento
P = 1.2(2.15) = 2.58Kg
x
M = P = 2.58(1.075) = 2.7735 Kg m
2
M = 2773.5 Kg mm
Para la seleccin del moto reductor se hace la conversin a lb*in por tanto:
1cm 1in 2.2lb
= 240.22lb in
2773.5 Kgmm
De acuerdo al fabricante se seleccion el motor bison serie 300 ,12 v , modelo 011-348-3200 con
un torque de 310lb-in , 8.3 rpm , 1/6 hp. (Ver apndice)
La pluma se tendr que levantar 90 en 2seg.
rad = 180
rad = 90 en 2 seg
2
90 = 1.5707rad
77
1.5707 rad
2seg
= 0.7853 rad
seg
2n
60
60
n=
= 7.49rpm
2
De acuerdo a las tablas de fabricante se selecciono un motor de 0.35 C.P (Ver apndice)
Mt n
716200
2773.5(7.49 )
N CONS =
716200
N = 0.029C.P
N CONS =
N SUM =
N CON
T = Eficiencia
T = 1 2
T = (0.98)(0.98)(0.96) 4 a rodamientos
78
1. PAREJA
T = 0.8157
T = 81.57%
N SUM =
Z ID =
0.029
= 0.0355 CP
0.8157
1
2
1 2
1
1 + 1 + + 2 sen 2
= 20
= 20 del primer par
Sustituyendo valores
ZID =
Z ID
1
2
20
1 2
1
1 + 1 + + 2 sen 2
20
20
= 16.73 17 Dientes
Ze
Zp
Ze = Z p
79
716200 N SUM
np
n p = 900
rev
Sustituyendo
716200(0.0355)
900
M t = 28.29Kg mm
Mt =
1.054(28.29 )
3
16mC cos15
1.92
3
mc
Resistencia a la fatiga
'
Rf =
R f Cr Cv Cs Cc
Donde
Ru
Kf
'
R f = 0.5 Ru
'
R f = 0.5(65) = 32.5 Kg / mm 2
32.5(0.85)(0.85)(0.897 )(1)
1 .5
R f = 14.041Kg / mm 2
Rf =
v
Rf
m
F .S Rc
F .S = 1.75
Dimetro primitivo
D = Zmc = 320(1.035) = 331.2
Addendum
a = mn a = 1
Deddendum
d=
7
7
mn = (1) = 1.166
6
6
1.92
1.92
3
3
1
mc
mc
=
14.041 1.75 49
1.92
0.039
= 0.5714
3
3
mc
14.041mc
0.1
0.1367
0.039
= 0.5714
3
3
mc
mc
1
(0.1367 + 0.039) = 0.5714
3
mc
0.1757
0.5714
0.1757
mc = 3
= 0.8348
0.5714
3
mc =
mn = mc cos
mn = 0.8349 cos15 = 0.8065
De tablas mn = 1
81
7
7
mn = (1) = 1.166
6
6
Dimetro interior
Di = D 2d
L = mn 7 + 2 V + 1
V =
Dn p
60
(45)(328.86)
V =
= 0.7748
60
L = mn (7 + 2 0.77485 + 1) = 9.6644mm
PION
Dimetro primitivo
D p = Zmc = 16(1.035) = 16.56mm
82
Dimetro interior
Di = D 2d = 16.56 2(1.166) = 14.228mm
Distancia entre ejes
D1 + D2 331.2 + 14.228
=
= 172.714mm
2
2
L = L cos = 9.4527 cos15 = 9.13MM
I=
2. PAREJA
T 240
=
= 12
1
20
2 =
Z ID =
1
2
2
2
1 + 1 + 1 + 2 1 sen 2
2
2
( )
Z ID
21
12
=
= 16.49 17 dientes
2
1 + 1 + (1 12 ) + 2(1 12 ) sen 2 20
Ze
Zp
1.054M t
3
Z p mc cos
Despejando
716200 N SUM
Mtp =
np
900
= 45
20
716200(0.0355)
Mt =
= 565.002 Kgmm
45
1.054(565.002) 38.53
=
=
3
3
mc
16mc cos15
np =
83
Resistencia a la fatiga
'
Rf =
R f Cr Cv Cs Cc
Kf
Donde
Ru
'
R f = 0.5 Ru
R f = 0.5(65) = 32.5 Kg / mm 2
32.5(0.85)(0.85)(0.897 )(1)
1.5
R f = 14.041Kg / mm 2
Rf =
v
Rf
1 m
F .S Rc
F .S = 1.75
v
Rf
1 m
F .S Rc
38.53
38.53 3
3
1
mc
mc
=
14.041
1.75
49
38.53
1
38.53
=
3
1.75 49mc 3
14.041mc
2.74 0.7863
+
= 0.5714
3
3
mc
mc
1
(3.52) = 0.5714
3
mc
84
3.52
= 1.83
0.5714
mn = mc cos15 = 1.76
mc = 3
mn
= 2.5881
cos15
mn
2.5
ma =
=
= 9.6592
sen sen15
mc =
Dimetro primitivo
D = Zmc = 192(2.5881) = 496.896mm
Addendum
a = mn = 2.5
Deddendum
7
7
d = mn = (2.5) = 2.916
6
6
Dimetro interior
Di = D 2d = 496.89 2(2.916) = 491.058
Largo del diente
L = mn (7 + V + 1)
V =
Dn p
(.49689)(3.75)
60
Sustituyendo
60
= 0.0975
L = 2.5(7 + 0.0975 + 1)
L = 22.736mm
PION
Dimetro primitivo
D = Zmc = 16(2.588) = 41.40
Dimetro interior
Di = D 2d = 41.40 2(2.91) = 35.56mm
D + D2 496.93 + 41.40
I= 1
=
= 269.165mm
2
2
L1 = L cos
L1 = 22.7368 cos15 = 21.962mm
85
Mt =
716200 N SUM
narbol
716200 (0.0355)
= 565.002 Kgmm
45
2 M t 2(565.002 )
Ft B =
=
= 3.39 Kg
DB
333.2
Mt =
2 M t 2(565.002)
=
= 24.35Kg
DC
46.4
86
477.71
= 6.36 Kg
75
= 8.86(19) + 1.23(60) 75 R A
0 = 168.34 + 73.8 75 R A
94.54 = 75 R A
R A = 1.26 Kg
Diagrama de momentos del plano vertical.
= 3.39(15) + 24.35(56) + 75 RD
0 = 50.85 + 1363.6 + 75 RD
1414.45 = 75 RD
RD = 18.85 Kg
87
= 3.39(60) 24.35(19) 75 R A
0 = 203.4 462.65 75 R A
666.05 = 75 R A
R A = 8.88 Kg
Diagrama de momentos del plano horizontal.
88
D3 =
5.1
S per
(K
M f ) + (K t M t )
2
D3 =
SEGUNDO ARBOL
89
= 8.86(20) + 52 RC
0 = 177.2 + 52 RC
RC = 3.40 Kg
= R A + 3.40 8.86
R A = 5.46 Kg
Diagrama de momentos del plano vertical.
= 24.35(20) + 52 RC
0 = 487 + 52 RC
RC = 9.36 Kg
= R A + 9.36 24.35
R A = 14.98Kg
90
M t2 arbol =
D3 =
5.1
S per
716200(0.0355)
= 3394.53Kg / mm
7.49
(K
M f
) + (K
2
Mt )
91
d2y
= 1.26 x 1.23( x 15) + 8.86( x 56)
dx 2
dy
1.26 x 2 1.23( x 15) 2 8.86( x 56) 2
EI
=
+
+A
dx
2
2
2
1.26 x 3 1.23( x 15) 3 8.86( x 56) 3
EIy =
+
+ Ax + B
6
6
6
EI
Calculando constantes.
Para
x=0
y=0
B=0
Para x = 75
y=0
92
+
+ 75 A
6
6
6
0 = 88593.75 44280 + 10128.45 + 75 A
54442.2 = 75 A
A = 725.89
0=
dy
=0
dx
2
1.26 x 2 1.23( x 15)
8.86( x 56) 2
0=
+
+ 725.89
2
2
2
1.26 x 2 1.23( x 2 30 x + 225) 8.86( x 2 112 x + 3136)
0=
+
+ 725.89
2
2
2
0 = 0.63x 2 0.615( x 2 30 x + 225) + 4.43( x 2 112 x + 3136) + 725.89
MAX
0=
x 2 = 42.16
x = 42.16mm
Deformacion
1.26 x 3 1.23( x 15) 3 8.86( x 56) 3
+
+ 725.89 x
6
6
6
1.26(42.16) 3 1.23(27.16) 3 8.86(13.84) 3
EIy =
+
+ 725.89(42.16)
6
6
6
EIy = 15736.96 4107.17 + 30603.52
EIy = 10759.39
Donde E = 2.1E 4
EIy =
I=
d 4
(11) 4
= 718.69
64
10759.39
y=
= 7.12 10 4
(2.1E 4)(718.69)
ADM = 0.16 / mm
64
93
prod = 0.16(75) = 12 m
PROD < ADM
Viga horizontal.
d2y
= 8.88 x + 3.39( x 15) + 24.35( x 56)
dx 2
8.88 x 2 3.39( x 15) 2 24.35( x 56) 2
dy
=
+
+
+A
EI
2
2
2
dx
8.88 x 3 3.39( x 15) 3 24.35( x 56) 3
+
+
+ Ax + B
EIy =
6
6
6
Para x = 0
EI
y=0
B=0
Para
x = 75
y=0
0=
474498.89 = 75 A
A = 6326.65
Punto mximo de deformacin.
dy
=0
dx
2
8.88 x 2 3.39( x 15)
24.35( x 56) 2
0=
+
+
+ 6326.65
2
2
2
8.88 x 2 3.39( x 2 30 x + 225) 24.35( x 2 112 x + 3136)
0=
+
+
+ 6326.65
2
2
2
MAX
94
EIy =
EIy = 164365.29
Donde E = 2.1E 4
d 4 (11) 4
I=
=
= 718.68
64
64
164365.29
y=
= 0.010
(2.1E 4)(718.68)
ADM = 0.16 / mm
Como
ADM
:
<
PROD
95
SEGUNDO ARBOL
Viga vertical.
d2y
= 5.46 x + 8.86( x 20)
dx 2
5.46 x 2 8.86( x 20) 2
dy
=
+
+A
EI
2
2
dx
5.46 x 3 8.86( x 20) 3
+
+ Ax + B
EIy =
6
6
Para x = 0
y=0
B=0
Para x = 52
y=0
EI
96
0=
x 2 = 19.81
x = 19.81mm
Deformacion
5.46 x 3 8.86( x 20) 3
+
+ 1060.87 x
6
6
5.46519.81) 3 8.86(0.19) 3
EIy =
+
+ 1060.87(19.81)
6
6
EIy = 7074.48 + 21015.89
EIy = 13941.35
EIy =
Donde E = 2.1E 4
I=
d 4
= 1885.74
64
13941.35
= 3.52 E 4
y=
(2.1E 4)(1885.74)
ADM = 0.16 / mm
64
(14) 4
Viga horizontal.
d2y
= 14.98 x + 24.35( x 20)
dx 2
14.98 x 2 24.35( x 20) 2
dy
EI
=
+
+A
2
2
dx
14.98 x 3 24.35( x 20) 3
EIy =
+
+ Ax + B
6
6
Para x = 0
y=0
EI
B=0
97
Para
x = 52
y=0
218067.83 = 52 A
A = 4193.6
dy
=0
dx
2
14.98 x 2 24.35( x 20 )
0=
+
+ 4193.6
2
2
14.98 x 2 24.35( x 2 40 x + 400)
0=
+
+ 4193.6
2
2
0 = 7.49 x 2 + 12.175( x 2 40 x + 400) + 4193.6
MAX
0=
x 2 = 24.27
x = 24.27mm
Deformacion
14.98 x 3 24.35( x 20) 3
+
+ 4193.61x
6
6
14.98(24.29) 3 24.35(4.29) 3
EIy =
+
+ 4193.61(24.29)
6
6
EIy = 35780.22 + 320.41 + 11989.78
EIy = 23469
EIy =
Donde E = 2.1E 4
I=
d 4
(14) 4
= 1885.74
64
23469
y=
= 5.92 E 4
(2.1E 4)(1885.74)
64
98
ADM = 0.16 / mm
ADM = 0.16(52) = 8.32 E 3 mm
Grfica de deformacion.
l = 25mm
d = 15mm
J =
d 4
(13)4
32
G = 8400
PROD =
32
= 2803.96mm 4
Mt l
1064.75(25)
=
= 1.13E 3rad
GJ
8400(2803.96)
Donde..
1
ADM = mm = 4.36 E 6 rad mm
4
ADM = 1.09 E 4
Mt l
GJ
despejando
Mt l
565.002(25)
J=
=
= 14.38.45
ADM G 8400(1.13E 4 )
ADM =
1438.45 =
d =4
d 4
32
32(1438.45)
= 11.002 12mm
99
Dimetros finales.
rbol secundario.
d 4
(14)4
32
G = 8400
PROD =
32
= 3771.48mm 4
Mt l
3394.53(15)
=
= 1.6 E 3 rad
8400(3771.48)
GJ
Donde..
ADM =
1
= 4.36 E 6 rad
mm
4 mm
ADM = 6.54 E 5
Mt l
GJ
despejando
ADM =
J=
Mt l
3394.53(15)
=
= 926.85
ADM G 8400(6.54 E 5 )
926.85 =
d =4
d 4
32
32(926.85)
= 9.85 10mm
Como este dimetro es menor que el de torsin, dejamos los dimetros anteriores porque ese es
el mnimo que requieren para soportar el trabajo a realizar.
100
Dimetros finales.
101
Mt = 2.563 _ N * m
FT = q * l = ( 2.09) * (0.5)
FT = 20.5 _ N
Calculo por flexin.
E = 29 x106 psi
= 3780 psi
l = 19.7 _ in
Deformacin mxima.
l
19.7
=
= 0.0246 _ in
800 800
Deformacin producida.
=
=
3780
= 0.0001303
29 x106
= * l = (0.0001303) * (19.7) =
= 0.002567 __ in
102
PROD =
J=
M *l
( 22.675) * (19.7 )
446.6975
=
=
= 0.0005003 _ rad
G * J (9094400)(0.098175) 892842.72
* d4
32
= 0.098175 _ in 4
103
Datos
E= 29x109Pa
L= 2m
= 150MPa
d =0.1016m
di =0.0762m
d 2 di 2
A= A1 A2=
4
4
A=
(0.1016)2
(0.0762)2
4
A= 3.547x10-3 m2
I=
r 4
ri 4
=
4
4
I = 3.2710 x10 6
(0.05)4
4
(0.038)4
4
I
3.27 x106
=
A
3.547 x10 3
K = 0.3036
K=
CC =
2 2 E
2 2 (29 E 9)
150 E 6
CC = 61.77
l
2
=
= 6.587
K 0.3036
Si CC
l
columna int ermedia
K
3
l l
3
5
5 3(6.587)
6.5873
K
K
FS . = + 3 = +
3 8CC
3 8(61.77) 8(61.77)3
8CC
FS . = 1.7
104
ADM
( l )2
1 K 2
2CC
=
=
FS
= 87.73MPa
6.587 2
150 E 6
1
2
2(61.77)
1.7
ADM
P = ADM A = 87.73E 6 3.54 E 3
P = 310.56kN
Calculando la fuerza al piso.
105
M = 0
M = 126.54(2) + 164.02(1) = 417.1N m
0.22lb 39.37in
417 N m
= 3612.66lb in
1N 1m
AT =
T =
FT
T
FT
(126.55) * 4
506.4
=
=
2
2
AT * (d e d i ) * ((0.0762) 2 (0.0701) 2 )
T = 180549.97 _
N
= 180.6 _ KPa
m2
PMAX = 310.56kN
Seleccin de los baleros
*Se asigno el balero axila de bolas de simple efecto BA7 SKF con una carga limite de 2.51 KN.
El otro balero radial de bolas de una hilera 61800 SKF con una carga limite de 1.38 KN (ver
apndice)
106
Clculos elctricos.
Calculo del amplificador LM741
R
V0 = 1 + F V1
R1
Despejando......
RF
R1 =
V0
1
V1
R1 =
10 K
= 7.14 K
12V
5V
VBE = 0.7V
Donde..
VBE = 0.7(12)
VBE = 8.4V
I E = IC + I B
Sustituyendo..
1.7 = I C + 5 x10 4 A
Despejando
I C = 1.7 5 x10 4
I C = 1.69 A
IC
IE
1.69
= 0.99
1.7
=1
107
VCC VBE
IB
IB =
IC
hFE
IB =
5.51
= 0.1377 A
40
RB =
12 0.7
= 82.06
0.1377
108
109
Para poder llevar a cabo un proyecto, y saber o determinar si ser viable o no y as poder sacarlo
al mercado y ser competentes dentro de este, es necesario tener en consideracin varios
aspectos de mercado, as como tambin, considerar los aspectos de ingeniera, costos y todo lo
que en este se debe de involucrar. Y es en este capitulo en el que determinaremos si nuestro
proyecto puede ser costeable o no y al mismo tiempo redituable al sector o sectores al que va ir
dirigido.
Etapas del ciclo de un proyecto.
Los estudios de un proyecto se llevan a acabo en una asociacin de etapas, en cada una de las
cuales se reduce el grado de riesgo o incertidumbre. Cada etapa debe presentar ciertos elementos
para profundizar en las subsiguientes; se distinguen las siguientes etapas:
Idea inicial
Propuesta del proyecto
Prefactibilidad
Factibilidad
Evaluacin y financiamiento
Ingeniera y construccin
Puesta enmarca
Operacin
El paso de una etapa a otra se efecta como resultado de una toma de decisin, cada etapa
representa inversiones. Luego, la profundidad y extensin de cada etapa no debe de ir mas all de
lo necesario para optar la decisin de continuar o detener el anlisis del proyecto. La primera
decisin ocurre cuando un empresario desea saber si una de sus ideas puede ser aceptada o
puede materializarse en un proyecto; se contrata a un proyectista para que estructure la idea
original, para ser analizada, completada y sistematizada pero de manera superficial, dando por
resultado un perfil preeliminar.
Estos tipos de perfiles tambin pueden ser realizados por entidades para interesar a posibles
empresarios a continuar con el anlisis del proyecto. con el resultado de este ultimo perfil, el
empresario toma una segunda decisin: suspender el estudio o continuar adelante con la
prefactibilidad; de igual manera la decisin se deber tomar al finalizar la etapa de prefactibilidad y
factibilidad.
Una vez hecha la etapa de ingeniera y construccin, las alternativas de decisin ser el comenzar
la operacin de manera inmediata, pero no la alternativa de suspender.
ESTUDIO DE MERCADO
El anlisis que se efecta en esta etapa requiere de mayor profundidad que en las anteriores, ser
necesario obtener la mayor cantidad de estadsticas relativas al producto investigado, as como las
de los servicios complementarios; para de esta manera poder determinar el comportamiento de la
oferta y la demanda del producto en mencin.
110
En la mayora de los proyectos, la tcnica de produccin esta determinada por el diseo del
proyecto y en consecuencia, los requisitos de cantidad y tipo de mano de obra estarn
determinados entre otras cosas por el diseo de la planta, el tipo de tecnologa utilizada o la
maquinaria instalada. Si las condiciones anteriores persisten es de esperar que los aumentos
futuros en los salarios no implicaran disminucin en la cantidad de mano de obra; por lo que en
dichos proyectos se deben aumentar adecuadamente los rubros por concepto de salario, para
reflejar el alza en los salarios reales y asi tener en consideracin los aumentos salariales, pero
tambin las innovaciones que sean aplicables al proyecto en cuestin y tengan un ahorro de
mano de obra.
COSTO DE PRODUCCION.
Materias primas
Mano de obra directa
Gastos indirectos de fabricacin.
Materias primas. Son todos aquellos elementos fsicos que son imprescindibles consumir durante
el proceso de elaboracin de un producto de sus accesorios y todo lo que este conlleve; esto con
la condicin de que el consumo del insumo guarde relacin proporcional con la cantidad de
unidades producidas.
Mano de obra directa. Es el calor del trabajo realizado por los operarios que contribuyen al
proceso productivo.
Gastos indirectos. Son todos los costos en que se necesita incurrir un centro para el logro de los
fines; costos que, salvo casos de excepcin son de asignacin indirecta por lo tanto precisa de
base de distribucin.
ESQUEMA DE COSTOS.
Costo primo = materiales + mano de obra
Costo de conversin = mano de obra +costos indirectos de fabricacin
Costo de produccin = materiales + mano de obra + costos indirectos de fabricacin
Para el estudio econmico de un proyecto y saber cual sera su precio de venta al pblico, es
necesario conocer los gastos y los costos que implican en su fabricacin. Para ello comenzaremos
con la definicin de costo y gasto:
111
COSTO : Valorizacin monetaria de la suma de recursos y esfuerzos que han de invertirse para la
produccin de un bien o de un servicio. El precio y gastos que tienen una cosa, sin considerar
ninguna ganancia.
Elementos del costo:
Materia prima: son las principales sustancias usadas en la produccin que son
transformadas en artculos terminados con la adicin de mano de obra y gastos indirectos
de fabricacin.
Materiales directos: Son todos los identificables en la produccin de un producto terminado,
ejemplo: en nuestro caso, un tubo para armar los torniquetes o puertas giratorias.
Materiales indirectos: Son todos los materiales que no son identificables en la produccin
de un producto.
Mano de obra: Esfuerzo fsico y mental gastado por parte del personal para la elaboracin
de un producto.
Costo primo: Est integrado por materia prima y mano de obra DIRECTA.
Costos directos: Son aquellos que se pueden identificar o cuantificar plenamente con los
productos terminados o en un rea especfica.
Los costos indirectos de fabricacin: Son todos los costos diferentes de los materiales directos y la
mano de obra directa que se incurren para producir un producto.
No son identificables o cuantificables con los productos terminados o en un rea especfica de
produccin.
Ejemplos: Mano de obra indirecta, materiales indirectos, calefaccin, luz, arrendamiento,
depreciacin, impuestos.
GASTO : Es toda aquella erogacin que llevan a cabo los entes econmicos para adquirir los
medios necesarios en la realizacin de sus actividades de produccin de bienes o servicios, ya
sean pblicos o privados.
Diferencia entre costo y gasto.
Costo se define como los beneficios sacrificados para obtener bienes y servicios. Un gasto lo
define como un costo que ha producido un beneficio y que ya no es vigente.
Tanto el costo como el gasto son erogaciones, el costo se destinar a la produccin y el gasto a
la distribucin, administracin y financiamiento.
Costos de produccin: Son los que generan en el proceso de transformar las materias primas en
productos terminados.
Costos variables: son aquellos que tienden a fluctuar en proporcin al volumen total de la
produccin, de venta de artculos o la prestacin de un servicio, se incurren a la actividad de la
empresa.
112
Costos fijos: Son aquellos que en su magnitud permanecen constantes independientemente de las
fluctuaciones en los volmenes de produccin.
Semi-variables: Son aquellos que tienen una raz fija y otra variable.
Costo fijo comprometido: Surge al tener una estructura organizacional bsica, es decir, al contar
con propiedad, planta y equipo, personal asalariado, se tiene el compromiso de cubrir con las
erogaciones que conlleva el tenerlos.
Gastos de distribucin: Son todos aquellos gastos que incurren para hacer llegar el producto al
consumidor desde nuestros almacenes.
Gastos financieros: Son los que se originan por la obtencin de recursos ajenos que la empresa
necesita para crecimiento.
Gastos de administracin: Son los que se originan por el control de las operaciones
administrativas por ejemplo: ventas, contabilidad, publicidad.
OFERTA Y DEMANDA.
Oferta y demanda: El sistema de economa de mercado, para desarrollar sus funciones,
descansa en el libre juego de la oferta y la demanda. Se debe de suponer que los planes de cada
comprador y cada vendedor son totalmente independientes de los de cualquier comprador o
vendedor. De esta forma se asegura que cada uno de los planes de los compradores o
vendedores depender de las propiedades objetivas del mercado y no de conjeturas sobre
posibles comportamientos de los dems. Con estas caractersticas se tendr un mercado perfecto,
en el sentido de que habr un nmero muy grande de compradores y vendedores, de forma que
cada uno realizara transacciones que sern pequeas en relacin con el volumen total de las
transacciones.
Competencia perfecta: Un mercado es perfectamente competitivo cuando existen muchos
vendedores pequeos en relacin con el mercado, el producto es homogneo, los compradores
estn bien informados, existe libre entrada y salida de empresas y decisiones independientes,
tanto de los oferentes como de los demandantes.
Competencia imperfecta: Una empresa es de competencia imperfecta cuando las empresas
oferentes influyen individualmente en el precio del producto de la industria. Las empresas
concurrentes no actan como precio-aceptantes, sino como precio-oferentes, puesto que, de
alguna forma, imponen los precios que rigen en el mercado. Recurdese que la caracterstica
fundamental de la competencia perfecta es que, debido a la diversidad de empresas participantes,
ninguna tiene capacidad para incidir sobre los precios, de forma que actan como precioaceptantes.
Determinacin del precio: El precio de un bien es su relacin de cambio por dinero, esto es, el
nmero de unidades monetarias que se necesitan obtener a cambio una unidad del bien.
113
Los compradores y los vendedores se ponen de acuerdo sobre el precio de un bien de forma que
se producir el intercambio de cantidades determinadas de ese bien por una cantidad de dinero
tambin determinada.
El precio de un bien es su relacin de cambio por dinero, esto es, el nmero de unidades
monetarias que se necesitan obtener a cambio una unidad del bien.
Fijando precios para todos los bienes, el mercado permita la coordinacin de compradores y
vendedores y, por tanto, asegura la viabilidad de un sistema capitalista de mercado.
114
DEMANDA
Hay una serie de factores determinantes de las cantidades que los consumidores desean adquirir
de cada bien por unidad de tiempo, tales como las preferencia, la renta o ingresos en ese perodo,
los precios de los dems bienes y, sobre todo, el precio del propio bien en cuestin.
Cuando se habla de demanda, se refiere uno a la cantidad de bienes o servicios que se solicitan o
se desean en un determinado mercado de una economa a un precio especfico.
La demanda que una persona, una familia, una empresa o un consumidor en general tiene de un
determinado producto o servicio puede estar influenciada por un gran nmero de factores que
determinarn la cantidad de producto solicitado o demandado o, incluso, si ste tiene demanda o
no.
A la relacin inversa existente entre el precio un bien y la cantidad de demandada, en el sentido
de que al aumentar el precio disminuye la cantidad demandada, y lo contrario ocurre cuando se
reduce el precio, de le suele denominar en economa la ley de la demanda.
LA OFERTA
115
PART.
DESCRIPCIN
1
Tubo de acero al alto carbn 4" tramo de 6m
2
Tubo de acero al alto carbn de 1/2" tramo de 6m
Material electrnico
resistencias electricas
amplificadores operacionales
3
capacitores
transistores
diodos
CANT.
2
3
UNIDS.
pza.
pza.
$
$
C.U
598.00
280.00
C.T
$ 1,196.00
$ 840.00
pza.
500.00
500.00
Sensores fotoelctricos
pza.
450.00
$ 1,350.00
Fuente
pza.
200.00
$ 1,200.00
10
pza.
$ 1,200.00
$12,000.00
Motoreductor 0113483200
pza.
$ 2,500.00
$ 7,500.00
Cerraduras electromagnticas
pza.
$ 1,100.00
$ 2,200.00
Ordenador
pza.
$15,000.00
$15,000.00
10
Licencia Barcodegenerator
pza.
$ 8,500.00
$ 8,500.00
11
pza.
400.00
800.00
12
pza.
150.00
300.00
13
pza.
170.00
340.00
$51,726.00
De acuerdo ala balance que se realizo al precio de materiales se dedujo que para la mano de obra
se cobrara de acuerdo a la ley; las consideraciones que se tomaron en cuenta para la mano de
obra son el tiempo invertido y el trabajo de ingeniera realizado, por lo que del costo total del
material se tom el 70% para la mano de obra ,as que de esta manera, se determina que el
proyecto tendr un precio de $ 90,520.20
116
CONCLUSIONES.
Finalmente, de acuerdo al anlisis de costos que se desarroll, se concluye que este proyecto es
redituable, por los beneficios ya mencionados y la poca inversin que se requiere para su
desarrollo.
117
BIBLIOGRAFA
www.national.com
www.rutherfordcontrol.com
www.scheider.com
www.bisongear.com
Mecanica de materiales
Riley
Morris
Sturges
Limusa wiley
Resistencia de materiales
Diaz aguilar jorge
Limusa sa de cv
118