INB4: si esta pregunta no encaja en este foro, por favor elimínenla. Pero no sé dónde más preguntar.
Hay un montón de expandidores de puertos de E/S disponibles. La mayoría de ellos agregan 8 líneas de E/S a costa de dos líneas I2C (SDA, SCL). Aquí está el esquema de pines del MCP23008, tomado como ejemplo:
Y aquí tenemos un esquema de pines del MCU ATtiny404:
El chip tiene 12 líneas de E/S, de las cuales:
- Dos líneas son para I2C, conectadas al módulo I2C de hardware;
- Una línea está reservada para RESET;
- Una línea se puede utilizar para generar interrupciones para los MCU externos;
- 8 líneas de E/S de propósito general.
Por lo tanto, dicho MCU puede sustituir fácilmente un expandidor dedicado como el MCP23008 o cualquier otro similar. Por supuesto, requerirá algo de programación para hacerlo. Yo clasifico mis propias habilidades de programación en algún lugar entre 'terrible' y 'muy pobre', y aún así creo que me llevará quizás 4-5 días de trabajo escribir dicho firmware. Un programador experimentado, supongo, puede hacerlo en 1-2 días. No veo obstáculos aquí.
Mientras que para el chico de Arduino (como yo) la simplicidad es muy importante, en la producción a gran escala el control de costos ocupa el primer lugar. ¿Y qué tenemos para el MCP23008? Aquí está la oferta de Digikey, aproximadamente $8,000 por 10,000 piezas: https://www.digikey.com/product-detail/en/microchip-technology/MCP23008T-E-SO/MCP23008T-E-SOTR-ND/739286
Y aquí para el ATtiny404, aproximadamente $4,300 por 10,000 piezas: https://www.digikey.com/product-detail/en/microchip-technology/ATTINY404-SSNR/ATTINY404-SSNRTR-ND/8594960
Eso significa que la diferencia de precio para 10,000 piezas es de aproximadamente $3,700. Y 10,000 piezas no es una cantidad impresionante para un dispositivo de producción.
Entonces la pregunta es: ¿cuál es la razón por la que estos dispositivos no han sido completamente eliminados por los MCUs?