Estamos preparando un proyecto en el que un Arduino UNO o un Duemilanove será el cerebro, nos ponemos a contar las entradas y salidas digitales que necesitaremos para conectar con sensores, actuadores, accesorios y entonces el proyecto tropieza con un problema serio: necesitaríamos 15 pines digitales y Arduino sólo tiene 14. No es grave, siempre podemos multiplexar con un registro de desplazamiento o buscar algún otro truco, pero al proyecto deja de ser sencillo y la cosa se complica.

También sucede cuando se nos presenta esa situación que las entradas analógicas de la placa se quedan muertas de risa por que en el proyecto en cuestión no las necesitamos. Hora de tomar decisiones: ¿multiplexar y complicarnos? ¿recurrir a una Arduino MEGA?.

Si hubiéramos leído con atención la documentación de la placa….

Como todo el mundo sabe, o debería saber, todos los pines de Arduino son entradas de por si, es decir, si las necesitamos como entradas no hace falta declararlas, solo es necesario hacer la declaración de pinMode() si las queremos utilizar como salidas, motivo por el cual en los ejemplo no se declaran las entradas analógicas como tales.

Ahora lo que no todo el mundo sabe: los pines analógicos del A0 al A5 son también pines GPIO, por lo que los podemos utilizar como pines digitales numerados del 14 al 19. Haced la prueba con el blink cambiando el pin 13 por el 14 y pinchando el LED en el pin marcado como A0 en la placa.

Ahora ya tenemos disponibles 6 pines digitales más, con lo que ese proyecto que necesitaba 15 pines digitales vuelve a ser abordable sin complicaciones…. ¿como? ¿que necesitas 21 pines digitales? nunca estáis satisfechos con nada.


Si este tutorial te ha sido de utilidad puedes considerar hacerme un donativo, por pequeño que sea estarás contribuyendo a que siga con esta labor.