Necesito un pin adicional para controlar mi placa de controlador

He estado buscando una manera de agregar un pin adicional a una placa de controlador. La placa MCU que estoy usando solo tiene 8 pines en el lado izquierdo y ya los estoy usando todos. 2 son para alimentar el controlador y los otros 6 son entradas analógicas. Solo necesito un control más que tiene que ser una salida digital. ¿Hay alguna manera de poner algún tipo de multiplexor en el controlador y usar los pines MCU que estoy usando como salidas analógicas pero digitales para controlar las salidas mux? Sé que es un poco extraño lo que estoy preguntando, pero tengo que tener una solución para la falta de pines MCU.ingrese la descripción de la imagen aquí

¿Has probado a usar un alfiler del lado derecho?
Hola. No puedo. la placa del controlador tiene que entrar en este lado de la placa MCU.
¿Qué MCU estás usando? ¿Con qué frecuencia lee las señales analógicas y con qué frecuencia necesita cambiar la salida digital? No muestra ninguna línea digital que entre en la placa del controlador. ¿Solo una pista? ¿Por qué el VDD y GND para la placa del controlador provienen de los pines MCU (como se dibujan actualmente) en lugar de estar conectados directamente a VDD y GND?
Estoy usando el chip MCU ATmega328. Estoy constantemente leyendo los canales analógicos (todavía no tengo un temporizador porque solo estoy probando dentro del bucle principal). No hay líneas digitales que entren en el controlador =/. eso es lo que necesito El VDD y GND provienen de la placa MCU porque la energía proviene de una batería conectada a la placa MCU.
@ user43113 Lo siento, mi error. No miré tu dibujo lo suficientemente cerca. Pensé que solo tenía 8 pines disponibles en su MCU, en lugar de 8 pines provenientes de la placa MCU .

Respuestas (2)

En lugar de tratar de usar los mismos pines como entradas analógicas parte del tiempo y salidas digitales, haría lo siguiente:

Agregue un multiplexor analógico de 8 canales a la placa del controlador, como el HEF4051B . La salida del mux luego irá a una de las líneas de entrada analógica que actualmente van a la placa MCU. Ate el cable de habilitación mi ¯ a tierra (siempre habilitado).

Reconfigure las siete entradas analógicas restantes como digitales.

Utilice tres de las siete líneas digitales para seleccionar 1 de 8 canales para el mux.

Ahora tiene cuatro líneas digitales disponibles entre la placa MCU y la placa del controlador.

¡Oh, parece una buena idea! Nunca he usado multiplexores analógicos. Gracias por el consejo
No es diferente de lo que sucede dentro del ATmega328: cuando selecciona un canal analógico para el ADC, esto está impulsando un mux interno para seleccionar una de las entradas analógicas. Solo estoy moviendo eso fuera del chip (por lo que dejará el mismo canal seleccionado todo el tiempo en el ATmega328 y, en su lugar, manipulará las tres líneas de selección de canales externos).
¡por supuesto! culpa mía

Podría usar un expansor de E/S como el MCP23016. Utiliza I2C para comunicarse con su Arduino/ATmega328. Básicamente, solo necesitará 2 pines del arduino/ATmega328 para conectar este chip y obtendrá 16 pines de E/S para intercambiar, lo que significa que obtendrá 14 pines de E/S adicionales. Puede descargar una biblioteca para arduino aquí .

Y también un ejemplo de cómo conectarlo para parpadear.

ejemplo

Para Arduino Uno, los pines SCL y SDA son A4 y A5

Puede usar un máximo de 8 de estos extensores de E/S y crear 128 nuevos puertos de E/S (ADC4 y ADC5 del ATmega328)