FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Señal por puerto paralelo
Hola nuevamente, estuve leyendo a cerca de como se envían señales por el puerto paralelo y mi pregunta aparece porque mi objetivo es prender un led. Que señal tengo que mandar por el puerto para que se encienda? porque leí que se puede mandar "hola" "o cualquier texto" y la verdad que no entiendo como con esto puedo llegar a encender el foco.
Muchisimas gracias |
#2
|
||||
|
||||
Como va b3nshi?.
El puerto paralelo tiene 8 entradas, 8 salidas, conexion a tierra, y algunas cositas mas. Para manejar el puerto paralelo en Delphi podes utilizar unas instrucciones en Ensamblador: asm push dx mov dx, 888 //888 es la direccion del puerto paralelo mov al, 255 out dx, al pop dx end; En la instruccion "mov al, 255" se coloca en "al" el valor que queremos enviar por el puerto paralelo, en este caso 255. 255 en decimal es = a 11111111 en binario, osea que en cada una de las 8 salidas del puerto vamos a tener un 1. Modificando este valor podes enviar y manejar muchas cosas con el puerto paralelo. Aunque en realidad para poder controlar aparatos que funcionan con 220v por ejemplo vas a necesitar un circuito aparte (que es muy simple). Espero que te sirva, cualquier duda no dudes en postear. Salu2... |
#3
|
||||
|
||||
Hola
Hola, muchas gracias por tu respuesta. Digamos que si me sirve, pero aun asi me falta entender algo. La parte del circuito electrico para prender un foco de 220v ya lo tengo hecho. utilizo entre otras cosillas, 2 resistencias, un transistor, un relé y un fusible. Eso para prender desde un PIN.
la idea es la siguiente. El puerto paralel tiene desde el PIN 2 al 9 señales de salida, y por cada una de esas salidas yo conecto un foco (con todo el circuito necesario) y lo que yo necesito hacer, es por ejemplo, mandar una señal por el PIN 4, unicamente por ese pin. Mi pregunta es, con las funiones que me diste, como lo haría???. asm push dx mov dx, 378h //Esa creo que es la direccion del LPT1 mov al, 255 out dx, al pop dx end; Muchas Gracias! |
#4
|
|||
|
|||
Cita:
Si quieres activar un pin determinado tendras que indicar el valor binario adecuado. En el valor binario 11111111, cada digito indica un pin, puesto a uno significa activado a 0 desactivado, por ejemplo el numero 00100100, activa 2 pines. Despues solo tienes que pasar a decimal el numero en binario correspondiente y asignarlo al valor "AL", en google podras encontrar cientos de paginas donde explican la conversion de binario <-> decimal, es conveniente que te estudies este tema si quieres hacer cosas del estilo que intentas. Otra cosa, ten en cuenta que la salidas del puerto paralelo son TTL que dan 5 o 0 voltios, y no estan pensadas para soportar mucha intensidad de corriente solo unos pocos miliamperios, asi que ten cuidado de calcular adecuadamente el consumo del circuito que conectes, no vaya a ser que quemes las salidas. Si conectas un led tendras que poner una resistencia en serie de un valor adecuado que limite la intensidad de corriente sino generarias un cortocircuito y adios puerto paralelo. Igualmente no puedes activar directamente el rele con los 5 voltios de la salida (bueno quizas con algun micro-rele de poco consumo si se pueda), tendras que utilizar una fuente de alimentacion diferente para activar el rele, y utilizar un optoacoplador o un circuito amplificador con un transistor entre la salida de 5 voltios y el rele, si no seguramente se quemara la salida. Saludos |
#5
|
||||
|
||||
hola de vuelta
Con respecto a lo de tener cuidado, no hay problema, ya analicé bien la parte electrica del circuito que necesito hacer. Utilizo dos resistencias, un transistor, un diodo y un relé, entre otras cosas. Ahora creo que entiendo un poco mas. Pero por las dudas no haya entendido, voy a decir lo que entendí. :P. Digamos que si yo quiero mandar una señal por el pingo 5 tengo que convertir el valor 5 en binario???.
Y una preguntita mas, sabes algo sobre el puerto usb? |
#6
|
||||
|
||||
No, te lo voy a explicar de una forma mas grafica:
Imaginate que cada * es una salida del puerto. * * * * * * * * 1 1 1 1 1 1 1 1 En este caso se estaria enviando un 1 por cada salida del puerto, para poder programar esto debes convertir el numero 11111111 en decimal = 255. * * * * * * * * 1 0 0 0 0 0 0 0 Para enviar esto tendrias que pasar el numero 10000000 a binario = 128. Si queres enviar * * * * * * * * 0 1 1 0 0 1 1 0 1100110 = 102 Ahora entendes??? Sobre el controlar el puerto USB no tengo mucha idea, pero "Googleando" un poco seguro que encontras info. |
#7
|
||||
|
||||
Ahora si!
Mas claro imposible, me sirvio mucho tu ayuda. Muchisimas Gracias por todo!
|
#8
|
|||
|
|||
hola,
he encontrado un rele que lo hago funcionar kon 5V DC es un OMRON G6D-1A que me permite manipular como maximo corrientes de 250V 5A CA o 30V DC 5A. creeis ke podria colocar este rele directamente a la salida del puerto paralelo sin peligro para este¿? la idea ke tengo es intentar simplificar el circuito, y estos reles me lo darian ya todo hecho. kreeis ke es posible? o habria ke ponerle alguna resistencia para limitar el consumo? gracias y un saludo |
#9
|
|||
|
|||
he leido que esas instrucciones no pueden dar en windows xp, es cierto eso? que se nececita para ke trabajen en xp???, lo que quiero es paresido a lo que plantea como problema, bye
|
#10
|
||||
|
||||
¿Tiene que ser por el puerto paralelo? ¿no puede servir el serie? lo digo porque en la sección de trucos, puedes encontrar este, que explica como accionar un relé desde el puerto serie.
De todas formas, y volviendo al tema de tu pregunta, si quieres manejar el puerto paralelo necesitas instalar un driver que te lo permita. Existen varios, y gratuitos, por ejemplo el que puedes encontrar aquí http://www.logix4u.net/inpout32.htm . De todas formas si solo necesitas una o dos señales digitales, la opción de usar el puerto serie puede ser interesante al no tener que instalar nada para utilizarlo. |
|
|
|