[Electronica y programación] manejo del puerto paralelo...

Iniciado por BADBYTE-K, 27 Noviembre 2004, 11:11 AM

0 Miembros y 1 Visitante están viendo este tema.

ViCrack€r

Hola, gracias por la aclaración Gusto, me comprare un rele y una batería recargable y así accionare el motor desde el rele.

Tambien me gustaria saber como puedo usar muchos leds conectados a los pins Dataport, ahora conecto un led a cada pin, pero me gustaria saber como controlar por ejemplo 25 leds, para hacer un circulo y hacer que se vallan encendiendo y apagando. ¿Como puedo controlar todos estos leds si solo hay 8 pins que corresponden al Dataport?

¿Se puede dañar el puerto si alimento muchos leds con la corriente que sale del puerto paralelo?

Saludos.  ;D

....Gusto....

.:.~GuStO~.:.


andesgui

Para encender tantos led vas a tener que usar algun tipo de bufer como el 7406. o con transistores y siempre con una fuente externa ya que el puerto paralelo no puede entregar tanta corriente.
con la ayuda de los otros 4 pines de salida del puerto y con 4 transistores puedes llegar a controlar 24 leds. siempre con alimentacion externa.
Supongo que otra manera seria con un multiplexor o algo asi.

elpelao

Saludos a todos y gracias por adelantado por toda la información que tan altruistamente están ofreciendo:
Me van a llamar tarugo, pero es que acabo de empezar, y acabo de encontrarme con el primer problema, a saber:
Tengo un circuitillo que consiste en 8 led´s conectados a los pines del 2 al 9 del puerto paralelo.
Al arrancar la máquina, los 8 se quedan encendidos (uso xp).
Debido a las restricciones a nivel de kernel de estos SO (NT/2000/xp), como ya saben, me bajé inpout32.dll, y lo copié en:
windows\system
Bueno, pues no hay manera de encender/apagar los leds a través de soft.
La copié entonces también en:
windows/system32
c:\qbasic\
Probé con todas las opciones de cofiguración del paralelo en la bios.
Pues que no. Que no hay manera.
Las lineas que uso para enviar ordenes al paralelo en qbasic son las siguientes:
out 888, 0 (para apagarlos)
out 888, 255 (por si funcionase al revés)
¿Podría ser que, directamente, no se puede usar qbasic en xp?
Si fuese así, ¿que lenguaje debería aprender para controlar estas salidas?(uno sencillo de aprender, si pudiera ser ;))
Gracias por adelantado.
Saludos.

ViCrack€r

Hola elpelao, yo también soy nuevo y acabo de hacer un programa en Visual Basic para tener control total de 8 leds que van conectados a los pines de 2 al 9 del puerto Centronics (no es el paralelo pero funciona).

He puesto los leds en la torre, en una bahia arriba de la grabadora de DVD.

El programa que he hecho controla los leds de la siguiente forma:

- Intermitencia entre leds verdes y rojos. (tengo pustos verde,rojo verde, rojo... asi hasta 8 leds).

- Se iluminan de izquierda a derecha luego derecha a izquierda y se repite. Solo hay uno encendido mientras se va moviendo (efecto coche fantástico).

- Se iluminan aleatoriamente.

-Se encienden desde la Izquierda hasta la derecha (se quedan encendidos conforme se mueve a la derecha). Luego se van apagando en dirección a Izquierda.

- Se encienden del centro hacia los lados.

Se me ocurren muchos efectos para iluminar los leds, pero con estos ya he conseguido comprender el funcionamiento para controlar los leds.

Si te gusta Visual Basic, prueba ha hacerlo con este lenguaje ya que es muy fácil de hacer este programa.

Si tienes alguna duda, pregunta en este foro y te ayudaré a hacer el programa.

Donde pones:

out 888, 0

Yo pongo Out &H378, 0

Comprueba que ese es el número que tienes que poner.

Saludos.  ;D

Gemu

elpelao, entra a la bios y revisa en que direccion esta funcionando tu puerto paralelo, revisa si es 378h u otra direccion, ya que segun la placa puede cambiar.

elpelao

Muchas gracias por las respuestas:
¡Vaya!, me parece que hasta que logre el manejar led´s de esa manera aún me queda un largo camino :-[
Lo que yo pretendo es poder manejar servos y motores paso a paso obteniendo datos de terceros programas. Ahora estoy en la fase 0.0001 beta :)
Ya comprobé vuestras sugerencias, y sigo igual :-\
La dirección del puerto es la correcta, y tambíen probé cambiando la configuración del puerto desde la bios (epp, etc).
Lo que he leído en lagún sitio es que para tener control sobre los pines del paralelo, hay que hacerlo a través de un programa que tenga (atención, no se programar por lo que ponga ahora no se si se me entenderá) instancias, o módulos que hagan referencia a inpout32.dll. ¿Es así?.
Si así fuese, sería entonces lógico el no poder encender/apagar led´s a través de Qbasic, ¿no?.
¿Existe alguna alternativa es esta dll, para poder usar el puerto con Qbasic?... Al menos hasta que aprenda visual basic :)
PD: He empezado con "Aprenda Visual Basic como si estuviera en primero". ¿Es éste ideal para empezar, o me recomendais otro?

santi01

Wenas a todos! ;D
estoy haciendo un proyecto de una casa domótica controlada desde el puerto paralelo con VBasic. como actuadores voy a colocar LEDs. Mi idea era poner también entradas; estas serían un sensor de infrarrojos y un fotodiodo. El código para poder encender los LEDs ya lo tengo, pero no se como hacer para que si el fotodiodo no detecta luz se encienda un LED y lo msimo con los infrarrojos. Se puede hacer? Cómo se programa eso?
mersi x la ayuda! :P

yovaninu

Buenas a todos, he leido casi todo el post y me parece muy bueno, a diferencia de todos, yo aun no he iniciado ningun proyecto al respecto del paralelo, pero leendo este post me anime, (claro que tengo mucha nocion de lo que quiero hacer) y tengo una primera consulta, para hacer el ejercicio del control de los Led's,  ¿no necesito ninguna interfaz de por medio, para no malograr el puerto? es decir: ¿puedo conectar directamente las 2 patitas de los led's al paralelo?

Desde ya muchas gracias por su atencion y su respuesta...

ViCrack€r

#89
Hola yovaninu, si puedes conectar directamente los leds, 8 leds a los pines Dataport (pin2 a pin9) y 4 leds a los pines ControlPort ( pin1,14,16 y 17)

Lo mejor es que repases la información que hay en este tema en la 1º página.

El control de los leds, lo puedes hacer desde un programa hecho en VB o el que uses, si tienes alguna duda con el programa te ayudaré.

Yo ahora estoy montando mi primer microbot, espero que alguien de este foro que este haciendo uno o lo tenga ya hecho de información sobre como lo ha hecho.

Saludos.  ;D