Bueno o todos respondieron o no vi las respuestas rapidamente.
Espero que finalize la agresion de ambas partes.
Como te dijeron Carabobo1, el uso de interrupciones mejora completamente tu programa, hace que sea inmediata su respuesta, en resumen mas eficiente si esta bien programado ademas.
El uso de delays es una mala practica y deberia de erradicarse, aunque a veces es necesario usarlos por que no hay otra solucion o se vuelve ineficiente/sin importancia el uso de otra cosa. Pero se prefieren en casos que el programador no tenga mucha experiencia en el uso de microcontroladores.
Por que es mas facil poner una linea que diga delay y no 15 lineas e intentar explicarle como funciona una interrupcion y un modulo completo.
Si realmente deseas hacer proyectos que respondan como deseas, usa las interrupciones.
En fin, sobre el problema que se plantea yo te dije como funcionan los dispositivos comerciales, no creo estar tan fuera del tema.
Y finalmente las sugerencias es solamente eso, una sugerencia, y no una obligacion.
Me encontre con gente que le ofreces una sugerencia y no la termina haciendo/usando a pesar que resuelva sus problemas solo por que ellos no pudieron hacerlo andar ( ya que no se les dio el codigo completo). Y descartan la posiblidad inmeediatamente. Y terminan haciendo un codigo el doble o triple de extenso para lo mismo ( pero como anda lo demas esta mal? ).
No tomes una actitud demasiado infantil editando tus post (borrando lo que habias escrito + haciendo multipes respuestas), cualquiera se puede equivocar. Hacer eso no te va a hacer mas o menos inteligente, ni tampoco va a ayudar a los demas cuando tengan un problema parecido al tuyo. En fin la idea es ayudar.