Lectura de 16 entradas sensores 1/0 con 4 entradas de procesador

#1
Hola,

Llevo varios dias dando vueltas con multiplexores, coders, etc y no encuentro solucion.

Pretendo leer 16 senales provenientes de sensores on/off a traves de 4 entradas de un controlador, pero no encuentro la forma, de forma que la salida por 4 sea codificada con el estado de las entradas y mediante pregrama del controlador saber la que esta activa y la que no.

Me podeis ayudar con algun esquema?

Gracias.
 
#3
He mirado y no me aclaro con los Registros de Desplazamiento.

Lo que pretendo es que dependiendo de los sensores activados (los 16) me los represente en binario (4) a la vez, para leerlos con el ordenador.

O como es lo que me propones? Igual es lo mismo pero no lo veo.

Al decirme infirnitas entradas, me interesa pues necesito otro circuito mas grande de entradas y pensaba hacerlo poniendo varios de los anteriores.

Gracias
 
#4
Entonces "codificador con prioridad"
Pero pierdes muchísima información, solo te enterarás de lo que le pasa al de mayor prioridad y como mucho puedes ver 15 sensores o necesitarás una línea mas.
Con 16 sensores hay 65536 combinaciones posibles, no 16.
 
#5
Hola VipSpain

Según tu mensaje original entendí que lo que se requería era un selector de datos para “Ver”, por medio de tu controlador, el estado de los sensores On-Off.
Se podría utilizar el circuito de la izquierda que te adjunto.
Con 4 BIT’s seleccionaría una de las entradas del 74150 y se manifestaría el estado del sensor en su salida Y pero en forma invertida.

Pero como lo que se desea es “Ver” el estado de 4 sensores a la vez entonces se podría utilizar el circuito de la derecha.
De cualquier manera e requiere SELECCIONAR los datos de los sensores.
Por lo tanto se requiere un Selector De Datos.

Espero te sirva alguno de los circuitos.

saludos
a sus ordenes
 

Adjuntos

#7
Gracias a todos.

Creo que ya voy pillando, os comento:

He realizado un circuito con el 74HC174 y en efecto como dice Scooter cuando hay dos pulsados, se pierde la informacion del menor.

Mr.Carlos, gracias por los dibujos, me hago idea de lo que me dices, lo que quisiera es la representacion de las entradas en BCD

Como se haria con registro de desplazamiento como decis?
Gracias
 

Adjuntos

Última edición:
#8
Hola VipSpain

Vaya, es un poco más complejo de lo que pené.
Según tu mensaje #7 dices: lo que quisiera es la representación de las entradas en BCD.
A)- Así que si tienes activados 3 sensores, en las 4 salidas debería aparecer 0011.
B)- Y si hay 9 sensores activados aparecerían, en las 4 salidas 1001.
Así es el requerimiento ??.

C)- Tambien puede ser que si está activado el sensor 3, solamente, en las 4 salidas debe aparecer 0011.
Y si está activado el sensor 9, solamente, en las 4 salidas debe aparecer 1001.

Pero como dices en tu mensaje #3: Lo que pretendo es que dependiendo de los sensores activados (los 16) me los represente en binario (4) a la vez, para leerlos con el ordenador.[/COLOR]

Así que es un poco más complejo de lo que pensé.

Pregunto: Quieres saber CUANTOS sensores están activados ??
Pregunto: Quieres saber CUALES sensores están activados ??
Pregunto: Para cualquier caso, De cuantos BIT’s dispones para capturar cuantos o cuales sensores están activados ??.

Por lo de los registros de desplazamiento:
Hay 3 tipos, 1 entrada paralela salida serie. 2 entrada serie salida paralelo. 3 una mezcla de los anteriores.
Hay tambien que desplazan hacia la izquierda o hacia la derecha y en ambas direcciones.

Estando en el ISIS de Proteus selecciona – Library --> Pick Device/Symbol - y en Keywords escribe:
Shift register
Luego puedes encontrar las hojas de datos de los que selecciones por acá.
http://www.alldatasheet.com/
En el mismo ISIS puedes encontrar esas hojas de datos si al seleccionar un dispositivo con el botón secundario del Mouse aparece el Icono de Adobe Reader.

saludos
a sus ordenes
 
#9
Hola,

Pregunto: Quieres saber CUALES sensores están activados ??
Esa es la intencion
Entradas tengo disponibles 5 para lectura

He buscado y montado este circuito a partir de un circuito de teclado, que puede servir, he leido sobre los registros de desplazamiento.Y funciona!!
lo que tendria entonces es enviar un pulso con el ordenador y recibir el dato, parece ser que es asi.
El unico problema que veo es que puede fallar la lectura porque pierdan el sincronismo entre el pulso del ordenador (que envia el 10) y el circuito entienda el 9 o el 11 porque se pierda.
Creo que la forma seria leer dos secuencias y compararlas antes de dar por buena la lectura

Que opinas, se puede mejorar?
 

Adjuntos

#13
Hola,

Pregunto: Quieres saber CUALES sensores están activados ??
Esa es la intencion
Entradas tengo disponibles 5 para lectura

?

ahh.. entiendo , vos lo que le recomendas es capturar todo y mandarlo serie con registro de desplazamiento , no ???
hace tanto que los estudie y nunca los use ...
que se necesita ??
la salida serie + el ck + algo que dara la orden como mucho , no ?=???
 
Última edición:
#15
Gracias a todos,,

Lo voy a realizar con el Registro de Desplazamiento

La verdad es que puede tener infinitas entradas y se necesitan dos salidas (clock y On/Off) y una entrada (Dato) (Desde el lado del Ordenador, etc..)

Voy a ver la forma de realizar una placa PCB que se pueda ir anadiendo otras, para de esa forma se dispondrian una extension de Entradas de Datos infinitas

Mano a la obra!!
 
Arriba