Si te fijas bien no dije PICs, antes dije PIC o Arduino y despues para no escribir tanto empece a hablar de microcontrolador, lo que aplica a cualquiera, porque un Arduino tambien es un microcontrolador con unos pocos componentes extra. El procedimiento que explique es el mismo independientemente de que micro se use, cualquiera lo resuelve bien, ademas no necesitas usar asm en un PIC, podes usar BASIC, C, y otros lenguajes. Para usar codigo hecho, por ahi es mejor el Arduino, pero nunca hice nada con Arduino asi que solo me baso en lo que es capaz de hacer un PIC o un ATMega, despues que lenguaje o que micro se use ya es decision del que lo implemente.
Hoy en dia con los precios de las computadoras si es para proyectos electronicos que no necesitan ser portables o muy economicos le metes una PC, hasta una maquina vieja que te quedo tirada y despues le haces algunas interfases con microcontroladores y la conectas con puerto serial y en la PC corres programas que manipulan los datos de forma mas simple o con lenguajes de alto nivel y faciles de usar. Si no queres dedicar tiempo a desarrollar en un microcontrolador por supuesto.
Hacer microcontroladores que se comuniquen con otros micros intercambiando datos, no solo una señal de encendido apagado, es complicado de por si, obviamente que tira la complejidad a otro lado.
Lo que me refiero es que no es realista que alguien que no este muy metido en programacion se meta a hacer un programa con interrupciones, con varios eventos y cosas de esas. En general el que no esta en el tema pero se da maña agarra un programa de ejemplo y lo modifica hasta que le sirva, pero si tiene que hacerle una modificacion importante hace agua.
Saludos
MARCOS