129679 UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA / PROYECTO DE INGENIERIA ELECTRONICA t k&i,U4 DE LECTURA POR REFLEXION FASE I1 JÁLURINO: JOSEALBERTOCARRlLLO ROJAS) ASESOR: ADRIANO DE LUCA PENACHIA TRIMESTRE :91-O I CONTENIDO ....................................................................................... 4 1NTRODUCClON ............................................................................. 5 RESUMEN DETECCION DE IMAGENES ............................................................ MODO DE DETECCION Y ................................................................... 6 ................................................. 7 JUSTIFlCACION DEL PROYEflO DESCRIPClONDEL PROYECTO SISTEMA MECANICO 5 ................................................... 8 ......................................................................... 8 SlSTEMA ELECTRONIC0 .................................................................. 9 SISTEMA DE PROGRAMAS ..............................................................13 FUNCIONAMIENTO DEL SISTEMA RESULTADOS .............................................. 14 .......................................................................... ......*1 6 .................................................... 16 EFICIENCIA DEL SETE '/I.*\ MECANICO ..................................... 16 EFICIENCIA DEL SISTEMA DE LECTURA ................................. 17 SENSlBILIDAD DEL DETECTOR EFICIENCIA DEL SISTEMA DE IMPRESION .............................. 17 ................................ EFICIENCIA DEL SISTEMA DE MENUS ...................................... CAPACIDAD DEL SISTEMA DE BARRIDO 3 lJ. EMPLOS 18 18 .............................................................................................. 19 OBSERVACIONES .......................................................................... 2 20 RESUMEN En esta scgunda fast dcl proyccto ~~amadcr 'sistema de k&tura por refiexih", se diseñu y construye un sistema para deteccicin de imrigenes de alta rcaolucion, es ~ J I Isistema yuc pcrmitc la digitalizacidn cn aka rcsoiuci6n de una imagen impresa, pan1 ser almacenada en iÍi memoria del mismo sistcrna quc &más cucnta con un sistcma dG imprcsirín, cl cual pucdc trabajar con distintos tipos de puntas para imprimir y aprovecha el mismo sistema meciinico empleado en Is detecci6n por bnrrido de imagen. El sistcrna prctcndt scr un ejcrnpio do un mods dc rclaiizar la digitaIizxi6n d c imagenes impresas mediante dispositivos 6pticos baratos y de muy baja rcsolucicín, ayudado por un sistema mcc5nic.o yuc hcilita cl barrido dc la imagen y que adem& integrado al mismo sistema permite aimscenar en in mcmoria una irnagcrn pcqudh para pset~riormcntcreproducirla mcdiante cl sistema de impresidn de plumilín. El nuevo sistcmri mejora lbs camcter&Axis del sistema de ifeteccidn impíemerrtado en la primera fase, aumentando la rcscrluci8n d d sistcrna me&nico, aumsnhndo la rcsoiuc.ii5n del sistema dc rieter.cibn, implementando un sekctor de rrivei umbral para ia deteccit5n de distinta intcneidadcs de gris, c impismsnhndo un nucvo programa dc interfast3 para usuarios. En rcsumcn el sigtcma es una m5quina ix~pazde itucer detocci6n d~ imdgenes, guardar imfigeftesdigitolizwdss en sil propiti memoria, imprimir los &tos guardados en SU rnemoriii, y funcicsitrir wmo gra€ic.ador de lineas y dibujos (plot tcr). IN TRODU C CION Los sistemas de detecciin de imjígenes existen desde hace: varios años, y con el tiempo se han ido mejorando aumentando la resolución y rapidez en Iu detección. Los aparatos que realizan detección dc irnagenes van desde fotocopiadoras hasta los pequeños scanners dom6stkos que existen hoy en día, que se conectan a una microcomputadora, la cual recibe las imágenes digitalizadas. E l propósito en este proyecto no es sustituir este tipo de aparatos, sino mostrar un modo en que se puede realizar la digitalización de imágenes dejando íos datos dentro del mismo sistema a disposición del usuario, utilizando dispositivos baratos y de baja resolución y un sistema mecánico que permite hacer el barrido de irnigenes ient;imtnte pero con eficiencia, y que además con un programa adecuado puede usarse para detección de pianos para posteriormente dibujarlos en su modo de plotter reproduciendolosa diferenteescala. DETECCION DE IMAGENES Existen dispositivos que permiten realizar la detección de imagenes impresas o la detección de presencia de un material por medio de captación de luz,ya sea directa o reflejada. Algunos dispositivosconsisten en una matriz de photodetectores, como los de la familia 10500 que se usan para máquinas fotocopiadoras o para monitoreo en blanco y negro para subsistemas de scanning, o para el posicionamientode sistemas industriales. Este dispositivo tiene una área activa de 1.7Smm2 o puede usarse por cuadrantes para alta agudeza del sensor de 0.66rnm2por cuadrante, el dispositivo completo tiene 8mm de diámetro y tiene un fotodiodo y amplificador operacional. La longitud de onda pico de detecci6n es a 850 nm pero pueden usarse iiltros para cambiarla. Otro tipo de disopositivos de mayor resoluci6n se utilizan para los sitemas de scanning, los cuales detectan irnagenes por reflexión, por ejemplo, existe un dispositivo yiie capta 8 puntos por m m y dB valores de blanco y negro ademas de 3 tonos medios de gris, como fuente de luz utiliza un diodo emisor de luz amarillo-verde. MODO DE DETECCION Cuando se hace la lectura sobre un material opaco, obviamente se dificultaría mucho hacer la lectura atrnveznndo e1material con algún tipo de luz. En este caso una opción viabie y poco costosa cs realizar la lectura por refiexión de luz, ya que si estamos hablando de la lectura de figuras o puntos en blanco y negro, podemos detectar la presencia de tales figuras por la cantidad de luz reflejada por el papel pintado de negro en contraste con el papel blanco o de un color muy claro. En caso de renlizir la detección utilizando un emisory un detector de luzinfrarroja, la situación es parecida ya que las imágenes negras u obscuras absorben la luz infrarroja con mayor facilidad que las imagencsclaras. E n el caso que nos ocupa se decidió hacer la lectura para imagenes en blanco y negro, sobre papel opaco, y tornando en cuenta cuatro posibles niveles umbral para la detección de diferentes intensidades de gris. Por programa se decide que nivel umbral va a utilizarse. Este Último punto permite hacer una discriminación muy sencilla, y3 que sdo se permiten valores bintirios de lectura, negro y blanco, o 1y O, pero ocaciona que para un nivel umbral alto las intensidades bajas de negro detectado serán desechadas y serBn leídas como blanco, con lo cual se producen errores, y para un nivel umbral bajo las intensidades altas, medianas y ba,ias de gris serán tornadas como negro produciendose errores, por Io cual puede leerse varias veces una imagen con diferente sensibilidad para l a captacian dc las diferentes intensidadesde gris. También podría implemcntarse un programa que realice In deteccihn seleccionando sucesivamente tres niveles iimhinles para un sólo punto y guardar la información en dos bits por punto, lo cual permitiría detectar una imagen con tres niveles de gris adem& del bhnuo. Pueden producirse errores en varias situaciones a1 usar este sistema binario de lectura o detección, por ejemplo, cuando la tints usada en la impresión no sea lo suficientemente oscura en una zona de la imagen o en toda ella, o cuando el detector quede enfocando un área que contiene una porción negra y otra blanca y ci detector detecte un nivel bajo de negro, lo cual puede ocurrir con líneas más delgadas que el arta de enfoque del detector, o cuando el detector no se posiciona exactamente sobre el punto negro. Para realizar la lectura sobre un área dc ciem extensión se requiere de mover el o los detectores sobre toda el área, esta es otra razdn para llevar a cabo el proyecto de lectura de imagenes, ya que se c.uent:t con un aparato construido como proyecto de la materia de sistemas iligitnies 3 y que tiene ya 6 el mecanismo para hacer movimientos sobre una hoja cic papcl, como se describe en el capítulo de descripción del proyecto. JUSTlFlCAClON DEL PROYECTO La justifimción para esta fase del proyecto, son las necesidades que surgieron en la realización de lo fase anterior del sistema de detección de imágenes, donde se encontró que para que el sistema fuera de alguna utilidad práctica, era necesario demostrarque se puede lograr con un sistema detector de este tipo la digitaiización de irnigenes a una resolución respetable y una sensibilidad de detección alta y manipulable, es decir, que su Euncionamiento sea comparable a l de otros sistemas de detección de imágenes, aunque existen sistemas de rcsoiuci4n mucho mayor y de muy alta velocidad de operacien. Se trata de un proyecto de diseño y realizacicín, donde se involucran áreas de desarrollo que corresponden al perfil académico y profesional de un ingeniero en electrónica, ya que se involucran conocimientos y habilidades adquiridas dentro de la carrera de ingeniería electrónica y se trabaja en campos estrechamente ligados con ia labor del ingeniero, como electrónica de sistemas digitnles, sistemas de control, in terfases de mediana potencia, dispositivos optoelectrónicos, sistemas meciinicos sencillos, circuitos controladoresdemotores, etc. Se trata de un proyecto sencillo en cuanto a diseño, ya que basicamente se encuentra construido la mayor parte del aparato, y son pocos los circuitos, aparatos, programasy adaptaciones que se requieren para llcvar a cabo el proyecto, pero, se trata también de un proyecto sumamente difícil en cuanto a realizacicjn, ya que involucra muchas dificultades tecnicas, sobre todo de tipo mecanicas, c 2, disponibilidad de componentes y de construcción de algunas partes, tareas todas ellas que de no llevarse a cabo con la suficiente precisión, simplemente sería imposible cumplir con los objetivos del proyecto. 7 . . " , . .- DESCRIPCIQN DEL PROYECTO E.1 sistema comp?cto puede describimc como tres subaistcrna8, tl sistema mecrinico, el si:;tettin electrcjnicú y eldc.trico y el sistema de progra mas. GISTEMA MECANICB El sistema mednico permite la reslizaci6n de movimientos en dos sobre un cjc mucvc el carro dc 1a plumilla y cl dctcctor, cn forma transversal ai papel y ~ U C V Ccl papel ,so,brc ci útitu cje. adcmds ticnc dos posiciones para la p!umilia de ímpresibn. En fa figurn í se muestra un dibujo dcl sistema mccánicu cornplcrn, +s. EI sistema del carro de la plumilla y el detector est& formado pot un cjc constituido por dos varillas prtralclas dc accm dc media pulpida dc dihrnetro y de SO cm de 1Cirgíí sobre las cuaies corren dos buges (dispositivos embalades) que sostienen et c3rrca de 13 plumilla y el detector, et cud esta contruido con aluminio, el detector se enc.uentm atornillado al carro y permite ajustar su altura por medio del tornillo, mienttw que In plumilla se cncoentra su,jcta al clcctrr'irnan qiic la rnanc,jrt y estc cst5 pegado al carro, la plumilla es desmontable para hcilitrtr su crrmhio. El carro se desliza suavemntc wbrc las varillas de acero y esta sujzto a una banda de; t& cthufacta muy blanda y flexible, lu cual llega a una polea en cada extremo. Una dc cstas poleas csttr su,icta dircchmcntc al motor de pasos y la otr3 gira librcmmtc. El sistema de avance del pnpel consiste en dos rodillos de 4Scm de largo, el rodillo inferior da media pulgada dt Jihctro cn sus gomas y cl rodillo superior o pisapitpel de un cuarto de puigada de diiímetro en sus gomas. Las gomas Jcl rodillo supcrior 3c i.tc.argan cn las del inferior. El rodillo inferior gira gracias a que tiene una pequefirt polen de media pulgada de ditimetro Gn uno de SUB extremos d o n d ~una pGqueiia banda dc hule lo une a l a polea del otro motor de prism. El posiciónúdúr de lfi piurnilia es una pieza de plbsricó que permite quc; GI clcctroimun muova la pfumiih hacia abajo, mientras que un rcsortc 1u sube cus~ldoel electmiman la libera. SISTEMA ELECTRONIC0 El sistema eletrónico y eléctrico consiste en el kit del 8W1, los puertos de entrada y salida, el circuito de control de motores y electroiman,.los motores y et eiectroiman, el circuito de lectura, el detector, los sensores y las fuentes de alimentación. En la figura 2 se muestra un diagrama del sistema electrónico cornpI eto. El kit del 8031es un sistema basado en el microcontrolador 8031, que tiene una memoria EPROM de 4 Kbytes y una memoria RAM de 8 Kbytes, tiene un controlador de displays y teclado, En In figura 3 se muestra un diagrama del kit del 8031. PUERTOS Los puertos del sistema son 4. Para el circuito control de motores y electroiman se utiliza el puerto uno del kit del 8031 como puerto de salida directamente. Para la entrada del regitro de lectura se utiliza un puerto de entrarla con i:1 direcci6n 3ofNW, e1 registro de lectura es un registro de entrada serial y salida paraiela y sc encarga de guardar un byte leido por 21 ciixuito de lectura, la seña1de carga del registro de iectum viene del puerto uno a través d<:un buffer de tres estados que es habilitado por el comando L Z C ~puerto G ~ de comandos. Para la salida de comandos de lectura y escritura se utiliza un puerto de salida en la direccihn 3OOií-I, utilizandose un registro de 4 bits. Y para la entrada del registro de sensores de 4 kits se utiliza un puerto de entrada en la dirección 3QOOH. En la figura 4 se muestra un diagrama del sistema de puertos de entrada y salida. - El circuito de control de motores y electroiman recibe los datos de entrada del puerto 1 del sistema. Se trata de dos registros de corrimiento bidireccionaies que dán la secuencia de salida para manejar a través de transistores de potencia dos motores de pasos. El circuito funciona de la siguiente manera, el registro de corrimiento se inicializa mediante el comando IN, recibe u ~ entrada a de reloj CLK, y una entrada de dirección DIR, además recibe un comando habilitador de direccicjn EN para evitar que se altere e1 registro cuando se hacen cambios de dircccidn, y recibe una Ultima entrada de apagado OFF, para dejar despolarizado el motor y que pueda ser movido libremente, ya que a'l estar polarizado el motor, se mantiene en su posición gastando corriente, impidiendo ciue pueda ser Y movido manualmente. Para el motor 1 que mueve e! c a m se tienen todos estos comandos y para el motor 2 se tienen estos mismos excepto tos comandos EN y OFF. E n la figura 5 se muestra un diagrama del circuito wnt.roladordz:motorcs. El electroiman es manejado por un transistor, que recibe la sefial a través de un optoacoplador para evitar interfcrencias al sistema por el electroiman. La sefial quc recibe es común p a p el registro lector y el electroim-lgero pasa a trav6s de un buffer de 3 estados habilitado por el comando &c,que proviene del puerto de comandos. Se utilizaron dos motores de pasos iguales, unipolares de 24V con tierra común, de 0.8 A por fase. De 200 pasos por revolución O 'l.8'por paso. El electroiman utilimdo es de 12Vy O.$& El circuito de lectura recibe la señal del phototransistor detectory es amplificada por dos transistores, uno alimentado con 17Vy el de salida con 517, la salida de este arreglo va a las entradas de 4 comparadores los cuales tienen diferentes niveles umbral. Las salidas de los comparadores van a un mu1tiplexor de cuatro entradas, cuyas entradas de seleccidn vienen dcl puerto de comandos, con las cuales se selecciona por programa el nivel de sensibilidad requerido. La salida del multiplexor va a la entrada sedal del registro de lectura. En la figura 6 se muestra un diagrama de1 circuito de lectura. DETECTOR Para la detcccicín se utilizaron un diodo emisor de infrarrojo y un phototransistor, como H observa en la figura 7, el espectro de la mdiaci6n infrarroja del diodo s t encuentra entre 0.8 y lnm. En esta misma figura se observa el espectro de detección del phototransistor, el cual es mucho mhs amplio que el del diodo, j-abarca desde la luz visible hasta más alla de la regiíin infrarroja, alcanzando su maxima sensibilidad muy cerca del maximo de intensidad de radiacirjn del diodo emisor de infrarrojo. L a razón por la que no se utili26 luz visible para la Jeteccion por reflexión es que en ese c a w habria una mayor probabilidad de interferencia 10 por ia luz arnhicntal y adcrniis s c rcqucrirh dc un siispsi tioo Gspccialrncntc sensible para luz visible, y el phototransistor aunque es sensible íi la luz visitle, la es mucho menos que n la radiacih infmrrojti, lo yue disminuye 1u probabilidad dc intcrfcrcncia por 13 luzvisibln Todavía cxistc cl problcrna dc; I U inte..rf&ncin por luz srtific-id,y" que como (I~SWYB en la mismil figura 7, cl espcc.tro dc cnisi6n dc una limpam incandcswntc sic Tungsteno CK muy parecido 01 espectro de detecci6n del phototransistor. Por fortuna se prob6 quc sc ncccsita una intcnsidad alta y una rcflcxi6n muy cspl;i;ial para que la luzartific.iai p u a ~ aucacionar una interferencia significativa con e1sistema de detecc.idn,debido p?incipaher?teB que los dispositivos estdn protegidos por cl cstuchc dc protccc.iony cnfcrguic. El diodo emisor de infrnrrojoy el phototransistorutiliznúos son un par acoplado, c.ataiopdo wrno OPB703A, muy parecidos cn caractcristicas al d i d o TIL32 y al phototransistor TIL78. Ambos dispositivos ~stdn enc.apsulsdos cn un material piastigo transprtntz con forma de icntc convexa, sin casquillo medtico, y son de dimensiones iguales, :;us dimensiones son 53mm de longitud del encapsulodo, y 3mm da ditimetro. E.stos dispositivos se csc.ogioronen base a pruebas dc stnsibilidnd que s t realiziron con el circuito de lectura que se utili26 para ei sistema, mostrado en íu figura 6, cn estas pruebas fueron de 10s que mostraron mayor sensibilidad, y dentro Je las de mayor sensibilidad, fueron los fn6s p~quefios.Lu figura 8 muestra u ~ rgráfica t 1ogarltmic.aiic sensibilidad en mA w n t m distanc.iz?en pulgadasde nmhú:: dispositivos colocados frente a frente (proporcionada por los tatibrican tesj. ~ e b emencionarse que estos dísposiiivos son recometxirtiios para USI?L'SO c . ~ r n dctec.torcs ~ de pítiizncia dc c.inta o rcrmin;ic.í6n dc papd, pero se ha probado en el presente proyecto que pueden ser utilizados para medir niveles dc rcfisxión dc mdiacibn infrarro,ia. En las figuras 9 y 10 se obsewan Ins patrones de rndiacidñ y deteccihn dcl diodo y d d plrototransistor rzapcctivamcnt.c, s.c observa que c1 p a t r h dc: radiaciún del diodo es m6s angosto que efdel phomrrnnsistor, sin embargo los patrones de mdinci6n de ambos dispositivos son demasiado amplios para los propsitos dr est:: proy~ctc,por lo que cs nrccsario lirnikries $uhaz para quc detecten la rndiacih reflejada en una superficie rectbngular de 0.2mm por lado, Esta carwtmístka ncccsaria para ohtcncr ilna alta resolución hase necesario que íos dispositivos se encuentren muy cercanos entre si+ya que el Arca dc rcfkxien cs muy pcquoila, y por io tanto la cantidad de; radialcicín emitida y recibida p r e l phototransistor tiímbidn 10es, adem6s se requiere de mucha presicih en 1ú posicicin de l o s dispositivos para Lograr la m6xima sensibilidad y un ,711g~locasi pcrfGcto de rcfkxirSn. Los dispositivos sc enfocaron por medio de un estuche de material pidsticio cuyo diagrama se muestra r=n la iigura 11. En esta figura se observa que los dispositivos e s t h i_-lcieiitados ert un h g u l o be aproxirnadamentz 7S*y sus hrices st? encuentran a una distancia dc aproximadamente 2mm, la radiación es guiada por dos tubos de hule negro con un diirnetro interior de O,Smm que se unen en un so10 orificio limitado P la forma rectangular de 0.35mm por lado, que aunque es más grande que la resolucih requerida, no causa problemas porque la mayor sensibilidad se encuentra en el centro del orificio. El estuche que sc muestra en la figura est3 formado por dos piezas de resina epÓsica que se unen con un tornillo corto, ambas piezas mantienen los dispositivos SU lugar, permitiendo que sean remplazados en caso necesario. El estuche sirve pam evitar la entrada de luz hacia el phototransistory también para evitar el paso de radiacisn entre ambos dispositivos en forma directa, además evita la salida de l a radiación del diodo que pudiera ser reflejada de alguna manera e interferircon el detector. Las piezas del estuche dc protecci6n esdn pintadas de negro mate por ambos lados, ya que la =sino ~ p r j x i ~utilizada a permite el paso de l a radiaciírn infrarrcija,y no así In pintura negra. El diodo emisor de infrarrojo esta polarizado con una fuente de 17V a tr:iv&s de una resistencia de 1K y el phototransistor esta polarizado con la misma fuentede 17Vy su salida, es decir, su emisor va al circuito de lectura. Se utilizaron dos sensores de posiiciOn pal2 evitar el c8óyue del carro de la plumilla y el detector contra los estremos del eje sobrc el cual corre. Se trata de dos interruptores que son activados por el carro al llegar a un extremo de su ejc, ai cerrarse la señal s t va a 017 y es enviada a1registro de sensores del puerto de la direwi6n 30(MH. Se utilizó una fuente dc aIimentsci=i6nregulada de SV y 2A para el kit del 8031 el circuito controlador de motores y el circuito de lectura. Una fuente 119regulada de 24V y 3A pars ¡w motores. Una fuente no Egulada de 17Vy1A para el electroirnan y el dctecrw. 12 i SISTEMA DE PROGMMAS Como graficadortiene un programa de aplicaci6n que permite realizar dibujos. por ahora s6lo acepta líneas de cualquier inciinacisn y recthgulos orientados con los ejes del aparato. Para utilizarlo se requiere de grabar las coordenadas de las figuras a realizarse junto con la clave de la figura. Las coordenadas están en una escala especial que utiliza dos bytes para cada coordenada en X o en Y , es decir cuatro bytes para las coordenadas de un punto. La manera de dar Is coordenada es de OOH 8 FFH en el primer byte y de OOH a 03H en el segundo byte, de manera que el máximo alcance por medio de este sistema es de loo0 puntos en cada eje. El aparato tiene una resoiuci6n de 50 puntos por cm o 127puntos por pulgada en e1eje x o en el eje y, lo cual permite ubicar 2500 puntos dentro de una cm cuadrado, o 16000puntos dentro de una pulgada cuadrada. La capacidad de ia memoria est5 limitada a 8Kbytes, lo que permite grabar muchos dibujos, ya que: una fínea utiliza 9 bytes, af igual que un rectángulo, por lo que caben un poco m5s de 8mfiguras de este tipo. Se trata de un programa que realiza la lectura secuencial de un Lrea rectangular determinada por el usuario, mientras que Ia información detectúúa es guardada en memoria en forma secuencia), a partir de la dirección 1020H. El programa requiere que previamente se hayan metido las coordenadas del area a leer en cierta dirección dc memoria, lo cual se hace por medio del programa principal, por medio del editor de horhntal y vertical. Deben escribirse en memoria a partir de IO dirección 1021H las coordenadasxy y de la esquina inferior iquierda seguidas de las coordenadas de la esquina superior derecha. L'd lectura se realiza de línea en línea a una velocidad máxima de 300 puntos por segundo, la velocidad puede variarse modificando el valor en la diretci6n 07f 1dc rntrnoria interna, lo cual se hace por medio del programa principal, a tratria de1 editor de velocidad, la información de cada punto es guard:td:i en un hit, como O si se trata de un blanco y como I si se trata úe un negro, Je acuerdo ai nivel umbral en el que se este trabajando, 21 cual es S G ~ C C C ~ O I Wpor ~ O medio del editor de sensibilidad dci programa principal. 13 Este programa rediza In escritura de in intormnción leída por el programa anterior o que sc dcpositt en In rnemsrh a partir de la direcci6n 1031I-3, Icycndo ia rncrnoria cn forma accucncial y cscribicndo tn GI mismo orden en que se k v d a cabo 13 lectura. ei progr;ma principal se iniciaíimn ias registyús se posicidna automaticam<;ntcci carroisc pcrmite posicicrnar t;l carro y c1papel por mcdio del teclado, y muestra un sistema de menús por medio del cual se. permite sclcccionar ci pmgrama, c;ditar Iris cc'ordtnadss, y Gditar 13s opcioncs dc velocidad Jcl carro. scnaibilidad dcl sistema. y las unidades en las cualcs se dardn Iris coordenadas. En la figura 12se-muestra un esquema del sistema de mcnú,dd programa principal. En i . velocidad ~ del carro puede ir de 1 a F (por dehutt 4). Lasensibiliúd del sistcma pucdc ir dc U a 3 (por dcfault ccro), para los cuatro nivdca umbral plxihies. Cas unid:ides en que si: cidn Ias coordenadas pueden ser puntos, cen tirnctros pulgada^ Loa editores de cocmknadas htxizmtcika y vcrticalcs funcionan Jc acucido u l a p unidades scicscionadas[por dcfrtult puntos). barrid de un aw rectdngular determinada por el usuario, con una r e s o h i h de 5 puntos por mm, o 127 puntos por pulgada Iincal o 16000 puntos por pulgada cuadrada, y la misma resolucidn para la escritura en ambos ejes, La informacicin aimriccnads cn forma dt; bit por punto permite alrnaconrir 16000 puntos en un integrado sic memoria RAM do SKbytc, lo que equivníe R cerca una pulgada cuadrada por chip de memoria. En el presenté sistema con una memoria dc 8Kbytc sc ticnc una capacidad de @O00 puntos o un area de 3 pülg~d~cls cuadmdas. El programa Jc cacritura pcrmiic imprimir con ei ;uiati;ma de plumilla la informa&5ti de! &realeida y aimacenaita en memoria, di: Is. misma Eorm en que fu6 leida la imagen. si se desea imprimir I.? imagen en una poskión diferente a Ir? posicion en que fue l e k h no deben alterarse las coordenadas de! área, ya que debera tenerse e1 cuidado de especificar ccxmienadas de un área igual en dimensiones ya que de Io contrario se perder6 la congruencia en la imagen impresa, para el c.aso de querer imprimir en otro sitio diferente simplemente inicialicese la posici6n del carro en e1 lugar requerida a l momento en que ei programa principai pone el letrero POS OC!, y en el que el motor del carro est4 listo para ser movido por medio del teclado. La resolución del sistema de escritura es baja si se utiliza un plumón ya que los puntos marcados con plumon son mayores que el area de 0Smm por lado y depende del tiempo de retardo especificado para el programa. De esta manera las imagenes impresas mediante este sistema dejan mucho que desear debido a la poca fineza de las plumillas empleadas. Si se utiliza iapiz para imprimir, las imagenes serán muy claras según la suavidad del iapiz, por lo que no es muy recomendable además de que el lapiz se gasta rapidamente. Si se utiliza pluma atómica debe seleccionarse una velocidad de 8 retardos ya que a mayor velocidad la tinta no fluye hacia la punta y no pinta * correctamentela pluma. El sistema de lectura y escritura por barrido se llama a través del programa principal, el cual permite colocar el carro y el papel en el lugar requerido como esquina superior izquierda por mzdh del teclado. Posteriormentepresenta un sistema de menus para editar las coordenadas en >I y en y, la velocidad, las unidades en que se d a r h las coordenadas y Is sensibilidad o nivel umbral y correr los programas lector y pintor. Para entender el uso de los menus vease la figura 52. El funcionamiento de ambos programas lector y pintor es identico, et carro y el papel se moverán hacia la posicicin’ marcda como la esquina inferior izquierda del area a barrer y comenzara ahi la secuencia de barrido línea por línea a una velocidad que depended del valor especificado en el editor de velocidad (por default 4). Las coordenadas deberán especificarse previamente a la corrida de los programas por medio de los editores de horizontal y vertical. La inforrnacicjn leida se almacenará a partir de la direccijn 1031H y de ahí mismo será tomaúa para la impresión. Se recomienda el uso de velocidades no menores ni mayores a 011, que equivale a un cuarto de la velocidad máxima del sistema, para obtener mejores impresiones y velocidades no menores a 04 para obtener mejores lecturas. RESULTADUS SENSIBILIDADDEL DETECTOR Ls sensibilidad en I;i reflexidn obtenida a In salida del c.irc.uito de lectura (figura 6,) mcdiantt; el cnfoquc yuc proporciona c1 cstuchc cs prnc.tic.amsnteIri misma que pura el estuche de mayor nberturn del sistema de mcnor resoluciOn de in fase antcrior y se muatra len la grtifica dc I+? figura 13, Jon& se observa la sencibiliilad medida en volts Contra la ciistencia del estuche al papel blanco medids en milimetras. La distancia optima 06 O.Pmm, dc acmxds ft loa rcsultadm úhtcnidos en las mediciones y que se observsií en 13 figura .U, finy que tomar en cuenta yuc u esta diatanc.ia hay quc agregar la distancia u la que sc encuentran 10s dispositivos dentro del estuche de detecci6n si se desea obtener in úistnncin total del papel a los dispositivos. El sistema de deteccidn es sensible n dreas negras de 0.Wrnm'y puede J ~ t c c t a riincas ncgras dc un ancl~omenor a 0,2mm. y lineas bianc.as de msncrres a t),2Srnm dc anc.11~~ entonces QS mas iensihlc al n c g m que al blítnc~~ e: decir de un airea ile 0.35mm" totales que puede detectar, un 20430 ' aproximadarnwitc dcbc ser ncgro para quc 10 tome corno un punto ncgro, pera sciío en el enso de encontrarse el area negra cerca del centro de la zona dc dctcc:ciOn.Igiiairnciite pucds 4 c t e c . t puntoñ ~ blaiauos Jt rmmos dc un 50% de la zma de deteccidn siempre y c.uando se encuentre ei iirea blanco cerca dcl Ccntro dc dicha zona, Para lograr detcct3r las imágenes w n idnu ru;i;olul=ii;n de 02mm ch: necesariocolocar el detectar en forma ptecisfi,y de esto se encarp el sistema mcc.inico. La rcmluci6n del sistema mechico GP prccisamcntc dc 0.2mm cn ambos ejes y de acuerdo B Ins pruebas realizadas no se cometen errores de pdicionamicnto, esto gracias a la tccnsi6n a la quc se cnc.utntrn la banda que mueve el carro del detector, q ~ es e lo suficientemente f'texible,y ligera pura no ser unn carga pnm el motor. EFICIENCIA DEL SISTEMA DE LECTURA la resoiucidn del sistema de lectura, se log6 hncerla'de O.Srnrn, es decir 5 pintos por mm, lo que nos d.? un total de 16000 puntos por pulgada cuadrada. Con esta resolución se logra captar letras de hasta 2Smm de altura. En cuanto D El único modo posible de verificar fa eficiencia del sistema en la detección de imageneses imprimiéndolas. Poresto los resultados se muestran con la imagen reproduciúa por el programa pintor. El error producido en la detección de imagenes es pequeño para lineas de mas de O.Smm de ancho, Para puntos o lineas menores pueden producirse errores debido no a la falta de dekeccicjn sino a que pueden no coincidir exactamente con el centro de deteccih, por ejemplo, una linea de 0.3mm de ancho, cs decir, de una vez y medio ~l ancho límite de rzsolucion, puede ser detectada como del ancho de un punto o de dos puntos, dependiendo de la posición que tome el dctector con respecto a la linea. Entonces los errores son más nororios para figuras de lineas más finas. EFICIENCIA DEL SISTEMA DE IMPRESION El propbsito del sistema de impresicín de imagenes es mostrar las imagcncs detectadas. Es importante que este sistema sea eficiente ya que aunque no se usará para propósitos elegantes si mostrará la eficiencia del sistema detector, dando una idea de la capacidad Je detectar imágenes. Para el sistema de impresión de imggenes se utilizaron dos tipos de punta, con Iapiz, con la cud se obtienen irnligenes precisas, de acuerdo a la punta de1 íapiz, pero con muy poco contraste, ademhs de que el lapiz se va desgastando rapidamtnte con el uso, Con pluma atómica se obtienen imagenes can mucho contraste y muy precisas, pero con la desventaja de que a alta velocidad la tinta no fluye con la suficiente rapidez y quedan zonas sin tinta, por io cual debe imprimirse a 13 mitad de la velocidad estandar de impresión. El sistema de impresión con pium6n aunque tiene la misma resolución en movimientos que el sistema de lectura, no !lega a in misma resofuci6n de fa imagen impresa pot lo inadccuado dc las plumillas utilizadas para imprimir, ya que adcmiis de ser circular el punto que marcan, las plumillas se van 17 I _.-- achatando haciendose cada vcz mis grueso el punto que producen a l golpear el papel. El punto que producen las pluniil1::s puede ser muy grueso y depende del tiempo que perninnece ki pluniilla sobre el papel, y en caso de que este tiempo sea demasiado prolongado puede obtenerse una mancha muy grande que crece mientras !a plumilla esre en el papel. Por esto aunque los plumones son adecuados para utilizar el graficador, o sea, cuando se dibujan lineas, no deben utilizacx para imprimir imágenes compuestas por puntos. CAPACIDAD DEL SISTEMA DE BARRIDO Como sc dijo anteriormente un punto se detecta cada 0.2rnm en ambos ejes, Pueden ser leídas 127 áreas de 0.04rnrn2 (0.2mm por lado) por pulgada lineal o 16000puntos por pulgada cuadrada. La lectura y escritura se realizan en forma secuencia1 renglón por rengl6n de abajo hacia arriba, correspondiendo cada punto a un bit y almaccnhdose en memoria en forma sccuenciai, a partir de 13 direccidn 1031H. En un KBytz de memoria puede almacenarse SO00 puntos lo que equivale a cerca de media pulgda cuadrada. En este sistema con una memoria de SKbytes pueden almacenarse hasta 64 mil puntos, o aproximadamente 4 pulgadascuadradas de imagen en blanco y negro. EFIClENCiA DEL SISTEMA i3E MENUS El programa de interfase para usuarios a base de menUn para iri selecci6n de programas y edici6n de datos dc entrada, es un medio necesario en este aparato, donde los dispositiws de entrada y salida son limitados, ya que no se cuenta con la ayuda de una computadora personal para manejarlo. Unicamente se tiene un pequeño teclado de 24 botones y un display de 8 digitos, los cuales resultan suficientes si se utiiiza un sistema de menús, donde el usuario es guiado con pequeños mensajes hacia lo que quiere. Claro que un sistema de menús implica que para manejarlo, debt conocerse la estructura de los menús y el movimiento a travSs de él por medio de las teclas, ya que seria muy dificil dar mensajes amplios en ei display para instruir ai usuario. 18 EJEMPLOS En Ins figuras 14 y 15 se muestran ejemplos de imñgenes que fueron Icidasv postsríormcnts irnprcm por medio de1sistema dc pluma, cn la figura I S pucdcn vcrsc Bosquejos dc; Iris imagencs dctcctadas al imprimirso utilizando distintos tipos de punta (lapizy pluma). OBSERVACIONES De acuerdo a los objetivos de esta fase del proyecto, se lograron resultados en la dtteccion de im6genes de una resolución aceptable y con una precisión confiable en general. ... DIFICULTADES T ECNlCAS En esta segunda fase úel sistema detector de imagcnes se utilizaron los mismos dispositivos de deteccidn. Ya que se había observado que estos mismos permitirlan trabajar a mayor resolucion y con varios niveles de sensibilidad. El estuche de enfoque que se construyo fue b:isado en un diseno practicamente igual a l de1sistema anterior, con un orificio de menor tamaiio. Por lo que con la experiencia de ins pruebas anteriores se agilizó mucho la construcci6n del nuevo dispositivo detector. Conseguir que el phototransistor detecte l a radiaci6n del diodo reflejada en el papel blanco, fué sumamente dificil, ya que el área de papel en la cual se refleja la radiacion infrarroja es muy pequeña y la cantidad de la rarliacicin que llega al phototransistor depende precisamen te del area, de manera que estamos trabajando con dispositivos muy limitados para emitir la rndiacion y para captarla, por lo que la cantidad de radiaciiin involucrada en l a rcfiexih es muy pequeña. Siendo esta la situáci6n se busco nuevamente hazer un estuche que mantuviera enfocados en el Sngulo correcto a los dispositivos, a l a menor distancia posible, para obtener menores perdidas de radiation y que eliminará la posibilidad de interferencia por radiaciones externas. . Las dificultades mecdnicas que se encontraron con el funcionamiento dci aparato previamente construido fueron superadas gracias R los cambios hechos en bandas y poleas, y trataron de aminorarse las deficiencias para obtener menores errores. De manera que se obtuvieron muy raros errores debidos a imprecisiones mecánicas. 20 EFlClENClA DEL SISTEMA Para un scnnner?la resoiuci6n es apenas huenn, pero precisamente en este punto f u i donde 6c dcdico miis tiempo, ya quc lodi diqmsitjvos disponibles cii cl rnc:rc.aih no 591-1adecuados para cstc tipo dc sistemas, son muy grandes y por IO tanto de baja resolueihn, mientras que un scanner comercial o una fotocopiadora utilizan dispositivos con mntriccrs o arrcgloa dc detectores que pueden detectar imageries con,mayor resolucidn que la obtenida con nucstio dispositivo y a muc.ha mayor velocidad. L;rvelocidrrd dcl sistema es su punta m6s dkbil ya que esta es bastante baja, sobre todo porque se realiza la detec.ci0n con in sdo dispositivo detecror y por l a falta de veIoc,idaddo los mntorcs. En wanto a las defiicienc.ias meciinicus, estas son debidas a la falta de hciramicntas dc pr.icisit5n, pero sí os posible contrtiir s4: comprar las piczm mec.hicas necesarias j 7 con ifi ptzecisidn requerida yarn un sistenin de este tipo, nunquc sc rcquierc dc ticrnpo y dincro para lograr una m5yuina c.on cnmcteristicus similares 9 li:s comerciales. En cuanto a la capacidrid de memoria, esta c g muy limitada y no convicric utilizar rncrnúi-h U k i estiticw, ya yuc se: rcyukrcdc un chip de Y Kbytes por cada pulgada eundrds de imagen digitalizúiiri si se utiliza un bit por punto de imag~n. hkjcmr la v ~ l ~ c i d a ddel ointcrnrr utilizando rncit~rcs rripidm y circuitos de cotttrol para motores de pasos de nirn velocidad como los de irn prcsoras o plotwrs comercialcs. Otra opcidn scria conseguir dispositivos de deteccidn como awegios de detectoras para hacer la deteccidn de m6s puntos u iri wz, lo cual aminomrin el tiempo de detecc.i.irínde una imagen. QUE UTILIDAD TIENE ESTE PROYECTO Este proyecta muesira una manera cn la yuc put& rtalizarse: la iligitdizacicinde irnagenes impresasclc una manera uti tanto primitiva, por ser Icnta, pero que pucdc scr una fmma muy barata, precisa y vcrsatiI de ctigirnliznr imnsenes impresas. . .. . ... " . < . . . -__ .... .. . . .-.-. ,. El sistema de JttecciSn ~ U C considerarse ~ C como un lector cascro controlado en e1 mismo aparato y que puede almacenar las imrrgener barridas en el mismo sistema y además imprimirlas, aunque de una mantra muy primitiva. Además de que puede funcionar corno un plotter, para dibujar planosy diagramas a base de I ineas. L a capacidad de memoria puede ser aumentada a GQKbytes con memoria RAM dinámica, o de otra manera puede establecersecomunicación serial con una PC,a donde se enviara la imagen digitalizada. Este sistema puede convertirse en un sistema de fectum de imágenes para investigación y desarrollo en procesamientode imageries. Otra opci6n es la de convertirlo en un pantógrafo donde está integrado un sistema que puede ayudar a1 usuario en la lectura de un plano, ya que puede efectuar el seguimiento de iineas por medio del detector con un programa adecuado y luego procesar la información en cuanto a escala y posteriormentegraficarlo a manera de plot.ter,todo cn el mismo sistema. 22 CONCLUSIONES En el desarrollo del proyecto se cumplieron los objetivos propuestos, como se mencionó cn un principio la parte de mayor peso en este trabajo f u i la realización, ya que implicaba resolver multiples dificultades técnicas para irnpíernentarlo, que surgieron en la implementation de la fase anterior del proyecto, de una forma que fuera posible mostrar que un sistema de este tipo, COR dispositivos cic detección muy sencillos, puede ser eficiente y útil en la detección de imágenescon una resolución aceptable. Se logró implementar un sistema de detewión de alta resolución, mostrandose los resultados mediante el sistema de irnpresióri. Se evitaron los errores por impresiciones mecanicas que se habían encontrado en la fase anterior del proyecto, tanto en la deteccion como en la impresih, con Io cual se permitió una mejor npreciacih de la eficiencia del sistema detector. Se implemento el control de sensibilidad de cuatro niveles para diferentes intensidades de gris. Se implcmentaron íos sensores para evitar el choque del carro del detectory plumilla, en los extremos del aparato. Se implemento un nuevo programa de interfase por medio de menús, con el que un usuario inexperto puede manejar los programas de lectura e impresitin en unidades comunes, a traves del teclado de 24 teclas y el display de 8 digitos del kit del 8031, conociendo la estructura de los menús y el manejo a través de las teclas. E1 sistema puede desc.ribii-s\;como un digitalizador de imágenes impresas úe alta resolución, el cual puede aimacenar en su memoria pequeñas imágenes digitalizadas, y aprovecha el mismo sistema mecdnico para imprimir las imagents barridas, y yuc ademis puede funcionar como graficadorde dibujos basados en iincas. 23 APENDICE DE FIGURAS J -1 r I - L--cl I I I - - -..- a m o w %-+ c- O D I o4%k---- v) I Ii ’ _ _ _ _ _ _ _ _ _ - . - I f I 3 U t; t; O u) 5 G O 5 4 z 3 z Q I 1 I I I I I I o 1 ,. .,<.. ... , , . ..... .. ,_., ... . . <......... .. .... ....... O.8 0.6 0.4 0.2 FIGURA 9:PATRON D E RADlAClON DIODO EMISOR 1.2 1 L < ...... ..... . . .< , . < <.< . ... . . ..... . O.8 0.6 O,4 0.2 00 FIGURA 1 O : PATRON DE DETECCiON PHOTOTRANSISTOR O 1 o o F= 4 a u3 w D W I o 3 G w I o U ?3u. z nz O w O n o a ! m 8 ... / / .. c3 > x eu u? c In d )E LIGA TEMF I1991-1992 !xpc FIGURA 14: IMAGEN A DEETECTAR FIGURA 15: IMAGEN DFTECTADA APENDiCE DE PROGRAMAS VLA 1 2 x1 x2 EQU EQU EQU EQU EQU EQU EQU EQU EQU 07EH 070H 071H 072H 073H 074H 075H 07GH 077H 008H 009H OOAH OOBH OOCH EQU EQU EQU EQU EQU K3 EQU OODH x4 EQU OOFH EQU OOEH EQU OlOH SXH EQU OllH SXL EQU 012H SYH EOU 013H SYL EQU 014H EQU 015H EQU 016H EQU 017H EOU 018H Rx EQU 019H LiY EQU OlAH FXH EQU OlBH FXL EQU OlCH FYH EQU OZDH FYL S IDUO EQIT 01EH X EQU OlFH GISTRO EQU 3000H GTOPE EQU 3001H IC10 EQU 1020H W E E N EQU 1030H LOCIDA EQU 007H ii EQU 1021H L EQU 1022í-i H EQU 1023H L EQU 1024H H EQU 1025H L EQU 1026H i-I EQU 1027H L IT OG L ;\IS EQU 1028H EQW 1029H EQU 102AH EQU 102BH EQU 102CH SPLEGA EQU 03D8H SPBUF CETE 4PIA ?OR ZVEY ?ERA iORl 9PIO 2IBE >TOR 4TOR IEG EQU 03B8H EQU 040FH EQU 0646H EQU 0649H EQU 0890H EQU 08E5H EQU 0901H EQU 0909H EQTJ 0607H EQU 0920H EQU OA90H EQU OA4 9H iECHA EQU OA5BH JUIERD EQU OA65H ;IALIZ EQU OA6FH ?ERAP EQU OA7 9H JEX EQU O 9 DDH ORG OB70H CALL INICREG CALL RECIBE CALL TEST CALL POSIC CALL MENU MOV DPTR,#MENSFIN CALL DESPLEGA RET JNC! ION ; IMICIALIZA REGISTROS ;RECIBE UNA TECLA CUALQUIERA ;ACOMODP!EL CARRO DEL DETECTOR Y PLUMILLA ;PEFMITE POSICIONAR EL CARRO POR EL TECLADO ;ENTRA AL SISTEMA DE MEJ!TWS ;MENSAJE DE FIN TIE F’HOGRAIiIA INICREG: INICIALIZA REGISTROS ICREG: CALL INREG MOV DPTR , #MENS 1 CALL DESPLEGA MOV VELOCIDA,#04H MOV DPTR,#UNIT MOV A,#OlH MOVX @DPTR,A MOV DPTR,#SENS MOV P , , # O O H MOVX @DPTR,A MOV DPTR,#PROG MOV A , #OCH MOVX @DPTR,A RET JNCION TEST : ACOMODA EL CARRO, YENDO PRIMERO AL EXTREMO IZQUIERDO Y LUEGO UNA POSICION INICIAL PARA TAMAÑO CARTA TT : MOV DPTR,#MENS¿ CALL DESPLEGA CALL IZOITIERD ETWE : CALL TOPE1 ZO CJNE A ,# O 1H ,ACOMODA CALL MOVEX SJMP LEETOPE ’--MODA: MOV POSXH, HOOH MOV POSXL,#OOH CALL DERECHA 129679 SJMP FINTEST UREPCiS :CALL MOVEX SJMP REACOMOD NTECT: RET üNCION TOPEIZO :VERIFICA SI EL CARRO HA LLEGADO AL EXTREMO IZQUIERDO PEIZQ: MOV DPTR,#REGTOPE MOVX A,@DPTR MOV B,#OlH ANL A , B RET UNCION POSIC : PERMITE POSICIONAR EL CARRO Y EL PAPEL POR MEDIO DEL TECLADO \ MOV DPTR,#MENS3 CALL DESPLEGA SIC2: CALL RECIBE CJNE A,#12H,CIGAl SJMP PARRIBA GA1: CINE A,#16H,SIGA3 SJMP PABAJO GA2: CJNE A,#llH,SIGA3 SJMP PIZQUIER GA3: CJNE A,#15H,SIGA4 SJMP PDERECHA GA4: CIJNE A,#liH,FOSICZ SJMP FINPOSIC RP,IBA: MOV DIRY,#OlH CALL MUEVEY SJMP POSIC2 BAJO: MOV DIRY,#OOH CALL MUEVEY SJMP POSIC2 2QUIER:CALL IZQUPERD CALL MOVEX SJMP POSIC2 *ERECHA:CALLDERECHA CALL MOVEX SJMP POCIC2 NPOS1C:MOV POSXH,#OOH MOV POSXL,#OOH MOV POSYH,#OOH MOV POSYL,#OOH MOV DPTR,#XlH MOV A,#OOH MOVX @DPTR,A MOV DPTK,#XlL MOVX @DPTR,A SIC: MOV DPTR,#Y2H MOVX m p m , A MOV DPTR, #Y2L MOVX @DPTR,A RET ’UNCION MELW : MfJESTRA f7N SISTEMA ,OS DATOS DE ENTRADA MECECARIOS fiE I~ZENUS PARA CORRER LOS PROGRAMA3 Y EDITAR w1: 1100 : CALL DESPLEGA CALL RECIBE CJNE A,#lbH,MEmJ1 SJMP ED0100 CJNE A,#17H,MENT RET MOV DPTH,#MENS100 CALL DESPLEGA CALL CJNE LJMP 1101: CJNE RECIBE A,#llH,ED0201 ED0300 A,#lSH,EDO102 LJMP ED0200 1102: CJNE A,#16H,ED0103 SJMP ED0110 1103: CJNE A,#12H,ED0100 SJMP MENU 1200: MOV DPTR,#MENS200 CALL DESPLEGA CALL RECIBE CJNE A,#llH,ED0201 CJW ED0100 1201: CJNE A,#15H,ED0202 SJMP ED0300 1202 : CJNE A,#lóH,ED0203 LJMP ED0210 2203 : CJNE A , # 12H,ED0200 SJMP MENU 1300: 1301: 1302: 3303; DPTR,#MENS300 CALL DESPLEGA CALL RECIBE CJNE A,#llH,EDO301 SJMP ED0200 CJNE A,#lSH,ED0302 LJMP ED0100 CJNE A,#lhH,ED0303 LJMP ED0310 CJNE A,#12H,ED0300 SJMP MENU MOV MOV DPTR.#MENSHOR CALL DESPLEGA CALL RECIBE CJNE A,#llH,EDOlll LJMP ED0130 3111: CJNE A,#15H,ED0112 SJMP ED0120 2112: CJNE A, # 12H,ED0113 1110: 3113: LJMP ED0100 CJNE A , # 14H ,ED0 110 CALL HOKEDIT SJMP ED0110 3120: r-iov DPTR,#MENSVER CALL DESPLEGA C!ALL RECIBE CJNE A,#IlH,EDO121 SJMP ED0110 J1L.L: 3122: 3123 : 3130: 3131: 3132: 3133: GJNL A, # 15H.ED0122 SJMP ED0130 CJNE A,#12H,ED0123 LJMP ED0100 CJNE A,#14H,ED0120 C A L L VEREDIT SJMP ED0120 MOV DPTR,#MENSRUN CALL DESPLEGA CALL RECIBE CJNE A,#llH,ED0131 SJMP ED0120 CJNE A,#15H,ED0132 LJMP ED0110 CJNE A,#12H,ED0133 LJMP ED0100 CJNE 4,#14H,ED0130 MOV DPTR,#PROG MOV A,#04H MOVX @DPTR,A MOV DPTR,#SENS MOVX A,@DPTR ORL A,#04H MOV DPTR,#REGISTRO MOVX @DPTR,A CALL LECTOR SJPIP El30130 MOV DPTR ,#PENSHOR CALL DESPLEGA CALL RECIBE CJNE A,#ilH,EDOSll LJMP ED0230 1211: CJNE A,#15H,ED0212 SJMP ED0220 3212: CJNE A,#12H,ED0213 LJMP ED0200 1213: CJNE A,t14H,ED0210 CALL HOREDIT SJMP ED0210 3210: MOV DPTR,#MENSVER CALL DESPLEGA CALL RECIBE CJNE A,#llH,ED0221 SJMP ED0210 1221: CJNE A,#15H,ED0222 SJMP ED0230 1222: CJNE A,# 12H,ED0223 LJMP ED0200 1223: CJNE A,#14H,ED0220 CALL VEREDIT SJMP ED0220 1220: 1230: 1231: IJiOV DPTR,#MENSRITN CALL CALL CJNE SJMP CJNE DESPLEGA RECIBE A,#llH,ED0231 ED0220 A,#15H,ED0232 D0232: DO233 : LJMP ED0210 CJNE A,#lZH,ED0233 LJMP ED0200 CJNE A,#lIH,ED0230 MOV DPTR,#PROG MOV A,#08H MOVX @DPTR,A MOV DPTR,#SENS MOVX A,@DPTR ORL A,#08H MOV DPTR,#EEGISTRO MOVX @DPTR,A CALL PINTOR SJMP ED0230 D0310: MOV DPTR,#MENS310 CALL DESPLEGA CALL RECIBE CJNE A,#llH,ED0311 LJMP E00330 CJhTE A,# 15H,ED0312 DO311: SJMP ED0320 303 12 : CJNE A,# 12H,ED03 13 LJMP ED0300 '303 13 : CJNE A,#14H,ED0310 CALL UNITEDIT SJMP ED0310 'Ci0320: MOV DPTR ,#ITENS32O CALL DESPLEGA CALL RECIBE CJNE A,#llH,EDO321 SJMP ED0310 'D0321: CJNE A,#15H,ED0322 SJMP ED0330 'iJO322: CJNE A,#12H,ED0323 LJMP ED0300 3 0 323 : CJNE A,#14H,ED0320 CALL VELEDIT SJMP ED0320 MOV DPTR,#MENS330 CALL DESPLEGA CALL RECIBE CJNE; A,#llH,ED0331 SJMP ED0320 7 r m 3'1: CJNE A,#15H,ED0332 LJMP ED0310 3 3 3 3 2 : CJNE A,#12H,ED0333 LJMP ED0300 <P0333: CJNE A,#14H,ED0330 CALL SENSEDIT SJMP ED0330 :D0330: UNITEDIT : PERMITE SELECCIONAR EL 'TIPO DE UNIDAD EN QUE SE DAMN LA3 T3ORDENADAS, PUEDEN SER PUNTOS, CENTIMETROS O PULGADAS. , : CUNCION i\JITEDIT:MOV DPTR,#MENSPTS CALL DESPLEGA CALL RECIBE CJNE A,#15H,SIG1 SJMP CENT CJNE A,#llH,SIG2 SJMP PULG CJNE A,#14H,UNiTEDIT MOV DPTR,#UNIT MOV A,#Ol MOVX @DPTR,A RET MOV DPTR,#MENSCENT CALL DESPLEGA CALL RECIBE CJNE A,#15H,SIG3 SJMP PULG CJNE A,#llH,SIG4 SJMP UNITEDIT CJNE A,#í4H,CENT MOV DPTR,#UNIT G1: G2: ;NT: G3 : :G4: MOV A,#02 MOVX @DPTR,A RET MOV DPTR,#MENSPULG CALL DESPLEGA CALL RECIBE CJNE A,#15H,SIG5 SJMP UNITEDIT CJNE A,#llH,SIGG SJMP CENT CJNE A,#i4H,PULG MOV DPTR,#UNIT MOV A,#03 MOVX @DPTR,A RET JLG : iG5: IGG: ?TJNCION VELEDIT : PERMITE SELECCIONAR LA VELOCIDAD DEL CARRO, DE 1 A F, ENTRE YAYOR SEA EL NUMERO MENOR ES LA VELOCIDAD DEL CARRO. ULEDIT: MOV DO,#OF9H CALL DESPBUF 1CLOVEL:CALL RECIBE CJNE A,#14H,SIG7 SJMP r'IiuVEL MOV B,#OFH IG7: DIV A3 JNZ CICLOVEL MOV A,TECLA MOV VELOCIDA,A CALL ASIETE MOV DO,A CALL DESPBUF SJMP CICLOVEL 'IMVEL : RET FV" I ON SENSEDIT : PERMITE SELECCIONAR LA SENSIBILIDAD DEL DETECTOR, DE O A 3. ENSED1T:MOV DO,#OROH CALL DESPBUF :LLOSEN:CALL RECIBE CJNE A,#14H,SIG8 , L -b -I 8 : SJMP FINSENS MOV B,#O4H DIV AB JNZ CICLOSEN MOV A,TECLA MOV DPTR,#SENS MOVX @DPTR,A CALL ASIETE MOV DO,A CALL DESPBUF SJMP CICLOSEN MSENS : MOV DPTR,#SENS MOVX A,@DPTR MOV AUX,A MOV DPTR,#PROG MOVX A,@DPTR ORL A,AUX MOV DPTR,#REGISTRO MOVX @DPTR,A RET PERMITE EDITAR LAS COORDENADAS HORIZONTALES 3EL AREA A EARRER DE ACUERDO A LAS UNIDADES SELECCIONADAS. WNCION HOREDIT : 3REDIT: CALL EDITCOOR CALL COORDHOR RET ?UNCION EDITCOOR : EDITA LAS COORDENADAS DE 3 DIGITOS. 3ITCOOR:MOV DPTR,#UNIT MOVX A,@DPTR CJNE A,#OlH,SIGlO SJMP PUNTOS CJNE A,#02H,PULGAD IG10: SJMP CENTIM JLGAD : MOV DPTR,#MENCPULO CALL DESPLEGA CALL EDITA3 SJMP CPULGAD JNTOS: MOV DPTR,#MENSPTSO CALL DESPLEGA CALL EDITA3 SJMP CPUNTOS ENTIM: MOV DPTR,#MENSCENO CALL DESPLEGA CALL EDITA3 CENTIM: MOV B,#OCH MUL AB SJMP FINEDIT PULGAD:f;jMOV B ,#20H MUL AB SJMP FINEDIT PUNTOS: MOV B , # 0 4 H DIV AB -! MEDIT : RET FlJNCION COORDHOR :METE L A S COORDENADAS EM LAS DIR.ECCIONES DE XZ !X)RDHOR :MOV DPTR,#X2H MOVX @DPTR,A rJIov DPTR,#XZL MOV A,#OOH MOVX @DPTR,A RET JNCION VEREDIT : EDITA LAS COORDENADAS VERTICALES. IEDIT: CALL EDITCOOR CALL COORDVER RET JNCION COORDVER : METE LAS COORDENADAS EM LAS DIRECCIONES DE Y1. 1RDVER:MOV DPTR,#YlH MOVX @DPTR,A MOV DPTR,#YlL MOV A,#OOH MOVX CDPTR,A RET JNCION EDITA3 : PERMITE EDITAR NUMEROS DE TRES DIGITOS. ITA3 : MOV AUX1,OOH MOV AUX2,OOH MOV AUX3,DOH CALL RECIBE 2LOREX:CALL RECDIG MOV D2,Dl MOV D1,DO MOV DO,A CALL DESPBUF CALL RECIBE CJNE A,#14H,CICLOREC CALL AHEXA RET JNCION RECDIG :DIG: RECIBE UbJ DIGIT0 Y LO CONVIERTE A SIETE SEGMENTOS. MOV A,TECLA MOV B,#OAH DIV AB JNZ RECDIG MOV AUX3,AUX2 MOV AUX2,AUX1 MOV AUX1,TECLA MOV A,TECLA CALL ASIETE RET 3NCION AHEXA 2XA : : : TRANSFORMA UN "IERO MOV A,AUX3 MOV B,064H MüL AB MOV AUX3,A MOV A,AUXS MOV B,OAH NUL AB MOV AUX2,A MOV A,#OOH ADD A,AUX1 ADD A,AUX2 DE TRES DIGITOS DE DECIMAL A HEXADECIMAL. ADD A ,AUX3 RET f": DB 08CH,OAFH,OA3H,OFFH ;PRf.-) :?CAN DB 092H,OC6H,088H,OC8H CNS2: DB 087H,086H,092H,087H;TEST DB OFFH,OFFH,OFFH,OFFH 2NS3 : DB 08CH.OCOH ,O 92H.OFFH ;POS DB OFFH,OFFH,OCOH,OCOH O0 SNSMEIW:DE\ O C 8 H , O C 8 H , 0 8 6 H , O A B H ; M E N U DB OE3H,OFFH,OFFH,OFFH SNSFIN: DB 08EH,OFBH,OABH,OFFH;FIN DB OFFH,OFFH,OFFH,OFFH ZNS100: DB OC7H,086H,OC6H,087H;LECTOR DB OA3H,OAFH,OFFH,OFFH ZNS200: DB 08CH,OFBH,OABH,087H;PINTOR DB OA3H,OAFH,OFFH,OFFH ZNS300: DB OCOH,08CH,OC6H,OF9H;OPCION DB OCOH,OC8H,OFFH,OFFH 3TSHOR: DB 089H,OA3H,OAFH,OFFH;HOR DB OFFH,OFFH,OFFH,OFFH ZNSVER: DB OCiH,086H,OAFH,OFFH;VEH DB OFFH,OFFH,OFFH,OFFH SNSRUN: DB OAFH,OE3H,OABH,OFFH;RUN DB OFFH,OFFH,OFFH,OFFH 3NS 3 10: DB OClH ,OABH ,OFEH ,O 8 7H ;UNIT DR OFFH,OFFH,OFFH,OFFH CNS320: Dl3 OAFH,086H,O92H,OCOH;RESOL DB OC7H,OFFH,OFF",OFFH 3NS330: DB DC1Hf086H,0C7H,0FFH;VEL DB OFFH,OFFH,OFFH,OFFH CNS340: DB 092H,086H,OC8H,092H;SE~~~ DB OFFH,OFFH,OFFH,OFFH ENSPTS: DB OC1H,OABH,OFBH,087H;~~IT PTS DB OFFH,O8CH,087H,092H El\JSCENT:DE OCiH,OARH, OFBH,087H;mIT CEN Di3 OFFH,0C6H,086HfOABH ENSP1JLG:DR OClH,OABH,OFBH,O87H;üNIT PUL DB OFFH,08CH,OE3H,OFSH ENC;PTSO:DB DB 08CH,087H,O92H,OFFH;PTS 000 OFFH,OCOH,OCOH,OCOH JSCENO:DB OC6H,086H,OARH,OFFH;CEN DR OFFH,OCOH,OCOH,OCOH O00 JSPULO :DR 08CH OE3H OF9H.OFFH;PUL O00 DB OFFH OCOH OCOH,OCOH END END END END END END 129679 PROGRAMA LECTOR: REALIZA L A LECTURA POR BARRIDO DE LJX AREA. PREVIAMENTE DEBEN ESPECIFICARSE LAS COORDENADAS DEL AREA QUE SERA LEIDA, DANDO LAS COOKDENADAS DE LA ESQUINA INFERIOR IZQUIERDA PRIMERO Y-DESPUESLAS DE LA ESQUINA SUPERIOR DERECHA. ADEMAS DEBE ESPECIFICARSE EL TIEMPO DE LECTURA EN LA DIRECCION O 7 DE MEMORIA INTEWA. ORG 0920H FUNCION BARRIDO ARRIDO; MOV DPTR,#INICIO ;DA LA DIRECCION DE LAS COORDENADAS CALL GUARDPOS ;GUARDA LA DIRECCION DE POSXY CALL LEEPOS ;LEE UNAS COORDENADAS EN POSXY CALL LEEPOS2 ;LEE UNAS COORDENADAS EN XY MOV DPTR,#ALMACEN ;DA LA DIRECCION DONDE SE ALMACENARA LO LEIDO CALL CARGAPOS ;INTERCAMBIA LAS DIRECCIONES ENTRE AUXY Y POSXY MOV DIRY,#OOlH ;PONE LA DIRECCION Y EN ABAJO CALL AVANZAY ;SE MJEVE PARA ACOMODARSE EN LA ESQ.INF.IZQ. ;INTERCAMBIA COORDENADAS CALL CARGAXY ;SE MUEVE UNA POSICION HACIA ABAJO PARA COMPENSAR 0MPENSA:CALL MUEVEY ;DA LA DIRECCION HACIA LA DERECHA ICL0DER:CALL DERECHA ;PONE LA DIRECCION Y EN ARRIBA MOV DIRY,#OOOH ;AVANZA UN RENGLON HACIA ARRIBA CALL MUEVEY CALL INTERCAQ ; INTERCAMBIA COORDENADAS ;AVANZA LEYENDO HACIA LA DERECHA CALL AVANZARD MOV A,POSYH CJNE A,YH,CICLOIZQ ;COMPRUEBA LA POSICION EN EL EJE Y MOV A,POSYL CJNE A,YL,CICLOIZQ SJMP FINAL1 'rcLorzQ:cALL IZQUIERD ;DA LA DIRECCION HACIA LA IZQUIERDA ;AVANZA UN RENGLON HACIA ARRIBA CALL MUEVEY CALL INTERCA4 ;INTERCAMBIA COORDENADAS CALL AVANZAR1 ;AVANZA LEYENDO HACIA LA IZQUIERDA MOV A,POSYH CJNE A,YH,CICLODER ;COMPRUEBA LA POSICION EN EL EJE Y MOV A,POSYL CJNE A,YL,CICLODER 'INAL1: CALL FINALIZ ;LLAMA AL MENSAJE DE FIN DE PROGRNQ RET mTNCION AVANZARI: REALIZA LA LECTURA DE UN RENGLON EN DIRECCION IZQIJIERDA. iVANZARI:MOV RESIDUO,#000H MOV TECLA,#OFFH CALL MOVEX :ICLOAV :MOV A ,TECLA CJNE A,#017H,OK4 CALL ERROR SJMP FIMAL3 K4: bTOV A , RESIDUO CJNE k,#008H,SIGA2 MCW RESIDUO,# O O U H CALL RLPUKENA :IGA2: CLR P1.7 SETB P1.7 CALL MOVEX I IbJC MOV RESIDUO A,POSXH CTNE A ,X H cICLOAV MOV A,POSXL CJNE A,XL,CICLOAV CALL RELLENA INAL3: CALL ALMACENA RET i1ANZARD:MOV RESIDUO,#000H MOV TECLA,#OFFH 1CLOAVR:MOV A,TECLA CJNE A,#017H,OK3 CALL ERROR SJMP FINAL2 K3 : MOV A,RESIDUO CJNE A,R008HVSIGA1 MOV RESIDUO,#OOOH CALL ALMACENA IGA1: CLR P1.7 SETB P1.7 CALL MOVEX INC RESIDUO MOV A,POSXH CJNE A,XH,CICLOAVR MOV A,POSXL CJNE A,XL,CICLOAVR CALL RELLENA INAL2: CALL ALMACENA RET FUNCION MOVEX: MUEVE EL CARRO EN EL EJE X. OVEX: MOV A,DIRX CJNE A,#OlH,MUEVEIZQ UEVEDER:MOV A,POSXL CJNE A,#03H,INCXL NCXH: MOV POSXL #OOH INC POSXH SJMP MOVERXX NCXL: INC POSXL SJMP MOVERXX UEVE1ZQ:MOV A,POSXL CJNE A,#OOH,DECXL MOV POSXL,#OJH ECXH : DEC POSXH SJMP MOVERXX DEC POSXL ECXL : r3VERXX : CALL MOVX RET FUNC ION Movx: DA LOS COMANDOS DEL MOVIMIENTO EN x. !3VX : CLR Pl.0 MOV A,DIRX CJNE A,#OlH,MOVIZQ SETB P1.l SJMP MUEVE ;]VDER : . JIZQ: W E: CLR P1.l SETB P1.0 SETB P1.2 CALL ESPERAP RET JNCION RELLENA: CORRIGE EL ERROR QUE SE PRODUCE CUAM EL ULTIMO BYTE LEIDO > QUEDA COMPLETO. LLENA : MOV A , RESIDUO CJNE A,#08H,ANADEBIT SJMP FINRELL 3DEBIT:INC RESIDUO CLR P1.7 SETB P1.7 SJMP RELLENA WELL: RET JNCION ALMACENA: SE ENCARGA DE ALMACENAR EN MEMORIA RAM EL BYTE LEIDO. JlACENA : INC DPTR MOV DP1,DPH MOV DP2,DPL MOV DPTR,#REGISTRO MOVX A,@DPTR MOV DPH,DPl MOV DPL,DP2 MOVX @DPTR,A RET - -NCION INTERCA4: HACE UN INTERCAMBIO DE COORDENADAS PARA CAMBIAR LA DIREC[ON EN EL EJE X. IlERCA4:MOV MOV MOV MOV RET XH ,AUXH XL,AUXL AUXH,POSXH AUXL,POSXL JNCION INREG: INICIALIZA LOS REGISTROS DE CONTROL DE LOS MOTORES. REG : MOV P1,#00H SETB P1.5 SETB P1.6 SETB P1.O SETB P1.3 CLR P1.3 CLR Pl.6 SETB P1.2 RET JNCION DERECHA: HACE EL CAMBIO DE DIRECCION EN EL EJE X. 2ECHA : CLR P1.5 SETB P1.l SETB P1.5 MOV DIRX,#OlH RET JNCION IZQUIERD: HACE EL CAMBIO DE DIRECCION EN EL EJE X. rIERD:CLR P1.5 CLR P1.l SETB P1.5 MOV DIRX,#OOH RET (CION FINALIZ: DA EL MENSAJE DE FIN. ,LIZ: MOV DPTR,#MENSAFIN CALL DESPLEGA CALL RECIBE RET . . C I O N ESPEXAP: REALIZA LOS CICLOS DE RETARDO. ,xAP: MOV DIFYK, #OOH 803: INC DIFYH CALL ESPERA MOV A,DIFYH CJNE A,VELOCIDA,CICL03 RET IAF1N:DB DB END END END END END END OFFH,OFFH,OFFH,OFFH OFFH,08EH,OFBH,OABH;' Fin' ORG OA90H )GRAMA PINTA POR BARRIDO !IPIN:MOV DPTR,#INICIO CALL GUARDPOS CALL LEEPOS , CALL LEEPOS2 MOV DPTR,#ALMACEN CALL CARGAPOS MOV DIRY,#001H CALL AVANZAY CALL CARGAXY 'ENSA:CALL MUEVEY 8ODER:CALL DERECHA MOV DIRY,#OOH CALL MUEVEY CALL INTERCA4 CALL AVANPINX MOV A,POSYH CJNE A,YH,CICLOIZQ MOV A,POSYL CJNE A,YL,CICLOIZQ SJMP FINAL1 4OIZQ:CALL IZQUIERD CALL F'IUEVEY CALL INTERCA4 CALL AVANPINX MOV A,POSYH . CJNE A,YH,CICLODER MOV A,POSYL CJNE A,YL,CICLODER iL1: CALL FINALIZ RET 3C ION ;DA LA DIRECCION DE LAS COORDENADAS ;GUARDA LAS COORDENADAS DE POSXY ;LEX LAS COORDENADAS EN POSXY ;LEE LAS COORDENADAS EN XY :DA LA DIRECCION DE LOS DATOS A IPIPRIMIR ;INTERCAMBIA DATOS ENTRL; AUXY Y POSXY :SACA LA DIRECCION DE AVANCE EN X :SE MCJEVE EL PAPEL A LA ESQ. INF. IZQ. :INTERCAMBIA COORDENADAS ;SE MUEVE UNA POSICION HACIA ABAJO PARA COMPENSAR ;DA LA DIRECCION DERECHA ;AVANZA UN RENGLON HACIA AKRIBA COORDENADAS :AVANZA PINTANDO HACIA LA DERECHA ;INTERCAMBIA ;COMPRUEBA LA POSICION EN EL EJE Y ;DA LA DIRECCION IZQUIERDA ;AVANZA UN RENGLON HACIA ARRIBA ;INTERCAMBIA COORDENADAS ;AVANZA PINTANDO HACIA LA IZQUIERDA ;COMl?RTJEBA LA POSICI@N EN EL EJE Y AVANPINX: AVANZA PINTANDO Irni RENGLON iP1NX:MOV AUX,#OFFH .OPIN:CALL LEEBYTE CALL LEEBIT8 CALL PINTA JZ FINALS CALL LEEBIT7 CALL PIMTA JZ FINALS CALL LEEBIT6 CALL PIMTA JZ FINAL2 CALL LEEBITS CALL PINTA JZ FINAL2 CALL LEERIT4 CALL PINTA J Z FINAL2 CALL LEEEIT3 CALL FINTA JZ FINAL2 CALL LEEBIT2 CALL PINTA JZ FINAL2 CALL LEEBITl CALL PINTA JNZ CICLOPIN NAL2 : RET UNCION LEEBYTE: LEE UN BYTE DE INFORMACION PARA PINTAR EBYTE : INC DPTR MOVX A,@DPTR MOV DIFXH,A RET UNCION LEEBITS: LEE LOS BITS DE UN BYTE EBIT1: MOV ORL RET EBIT2 : MOV ORL RET A,#OFEH A,DIFXH A,#OFDH A,DIFXH EBIT3: MOV A,#OFBH OF& A,DIFXH RET EBITG : MOV ORL RET EBIT5 : MOV ORL RET EBIT6 : MOV ORL RET EBIT7 : MOV ORL RET EBITB : MOV ORL RET A,#OF7H A,DIFXH A,#OEFH A,DIFXH A,#ODFH A,DIFXH A,#OBFH A,DIFXH A,#O7FH A,DIFXH UNC ION PINTA: PINTA UN BIT SI ES NEGRO (UNO) Y AVANZA UNA POSICION CJNE A,#OFFH,SIGUEl SETB P1.7 CALL ESPERAP CLR P1.7 CALL ESPERAP GUEl: (:!ALL ESPERAP CALL MOVEX NTA : MOV A,POSXH C JME A,X H ,FIN3 MOV A,POSXL CJNE A ,XL,F I N 2 "2 : MOV AUX, #OOH ElOV A ,AUX RET 129679 END END END END END END I