El programa funciona pero la simulación en proteus no corre en tiempo real.
Si estás usando un terminal virtual conectado entonces la simulación no funciona.
Debes tener en cuenta que las señales TX/RX del UNO al NANO deben estar cruzadas: tx-uno a rx-nano, rx-uno a tx-nano.
Otro detalle es que si tienes que tener cuidado con la actualización del programa. Si tienes abiertos dos instancias del IDE, el archivo .hex estará en ubicaciones temporales y puede que te de dolores de cabeza.
He usado este esquema:
Y he modificado en el código la parte del keypad para que coincida con el mio. El resto es igual.
Lo que ocurre:
- Al pulsar una tecla en el keypad el nano enciende el led y empieza a mandar listo continuamente (no se vacia el búfer por lo que available() siempre es cierto).
- Si pongo un terminal virtual conectado al uno, usando los dos pines TX/RX no funciona la comunicación desde el nano. Poniendo solo la señal en RX en el pin que quiero ver funciona.
- Al estar usando dos instancias de microcontrolador, el uso de CPU se va al 100% y dependiendo del computador la simulación se hace mas lenta, con lo que la respuesta tarda mucho en mostrarse en el UNO.
