Entrada del conmutador dip multiplex al microcontrolador

2

Tengo 3 paquetes de interruptores DIP con 8 interruptores cada uno, y no tengo suficientes entradas en mi microcontrolador. Este artículo (tienes que descargue el pdf para ver el esquema) da un ejemplo de lo que quiero hacer.

En la sección de comentarios, muchas personas dicen que el circuito no funcionará. Estoy en desacuerdo; Parece que esos comentaristas no vieron el hecho de que una de las líneas está dibujada como un bus de 8 pines, y el hecho de que los pines RA no utilizados se configurarán como entradas de alta impedancia. Aún así, quería obtener una segunda opinión de los expertos aquí.

Edit: Después de leer las muchas respuestas correctas a esta pregunta, parece que mi impresión inicial fue incorrecta. Este circuito solo funcionará con pulsadores momentáneos, no con interruptores DIP.

    
pregunta Marlon Smith

4 respuestas

1

El esquema en el artículo está mal dibujado. Creo que probablemente quiso implicar un bus de 8 bits, pero los puntos implican conexiones discretas. Además de eso, no hay un ancho de bus llamado (lo que desamboraría las cosas).

Como señala DaveTweed, existe un riesgo de detección falsa de cierre de interruptor en ciertas combinaciones de interruptor a menos que se use un diodo en serie con cada interruptor. Tenga en cuenta que si el requisito de diseño solo requiere leer un interruptor cerrado a la vez, el circuito funcionará bien.

    
respondido por el HikeOnPast
4

También puede usar un multiplexor de entrada I2C (o SPI) para leer tantos interruptores DIP como desee con solo 2 (o 3) cables. Agregarán menos de un dólar a su lista de materiales, y también pueden ser útiles para otras necesidades de expansión de pin. Estoy usando este paquete DIP ( también disponible en SOT y QFN) Hay otros.

    
respondido por el Jon Watte
1

En lugar de usar el circuito del artículo, puedes intentar esto:

Si tiene una entrada libre de ADC, puede usar los interruptores para producir un voltaje y luego usar el ADC para convertir a digital. Puede conectar los interruptores a algunos DAC o hacer un DAC a partir de una escalera R-2R de resistencias. Hay una explicación decente de las escaleras R-2R aquí .

Mientras la resolución del ADC sea mayor que la resolución del DAC, puede medir combinaciones de interruptores de entrada. Por ejemplo, con un DAC de 12 bits, podría determinar fácilmente los estados de 10 conmutadores.

Preste atención al almacenamiento en búfer de la entrada al ADC (una opción es una buena idea, pero un límite podría ser suficiente). Además, asegúrese de que la salida de DAC para cualquier combinación no caiga exactamente en el umbral de conmutación de ADC esperado (es decir, si el bit más significativo de ADC cambia entre 0 y 1 a 0.5 V, asegúrese de que la salida de DAC sea un poco más que 0.5 V cuando se enciende el interruptor más significativo).

    
respondido por el Neil
0

Sí, siempre y cuando solo conduzcas una de esas patillas de 4 filas a la vez y luego leas las 8 entradas, parece que tienes razón. Aunque solo lo miré por alrededor de un minuto :)

    
respondido por el Some Hardware Guy

Lea otras preguntas en las etiquetas