Los programas tienen como finalidad resolver problemas específicos y el primer paso consiste en definir con precisión el problema hasta lograr la mejor comprensión posible. Una forma de realizar esta actividad se basa en formular claramente el problema, especificar los resultados que se desean obtener, identificar la información disponible (datos), determinar las restricciones y definir los procesos necesarios para convertir los datos disponibles (materia prima) en la información requerida (resultados).
Para poder realizar los pasos anteriores y aplicarlos a la resolución y formulación de programas en Arduino, es necesario realizar un plan (diseñar un algoritmo), en este caso será necesario el diseño de un diagrama de flujo del programa.
Un diagrama de flujo es un esquema para representar gráficamente un algoritmo. Se basan en la utilización de diversos símbolos para representar operaciones específicas. Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de operación.
Se recomienda antes de iniciar la programación, realizar el diagrama de flujo para organizar y aclarar las ideas sobre el programa que vamos a realizar.
Símbolos para crear diagramas de flujo
Veamos los símbolos más comunes y algunos ejemplos.
En el siguiente ejemplo vamos a suponer que queremos que un robot haga una especie de vigilancia en el espacio que hay entre dos muros siempre que sea de noche. Su función debe ser la de moverse entre los dos muros continuamente haciendo parpadear una luz avanzando a la velocidad que le sea introducida por el operador en el momento de ponerlo en marcha en su guardia nocturna. Debe permanecer en movimiento hasta que amanezca momento en el cual debe de finalizar su actividad.
El diagrama de flujo para esa programación sería el que aparece a continuación
Ejemplo de diagrama de flujo
La creación de un programa informático es un proceso ordenado que ha de realizarse de modo secuencial. Desde el programa más sencillo, con pocas instrucciones, hasta la programación de grandes aplicaciones que contienen miles de líneas de instrucciones, se han de seguir una serie de pasos. Por supuesto, no son obligatorios, pero facilitan en gran medida dicho proceso.
El proceso de resolución de problemas en un Arduino se tiene en cuenta la escritura de un programa y su ejecución. Las fases en el desarrollo de un programa pueden resumirse de la siguiente forma:
• Análisis del problema: en esta fase debemos especificar cuáles son los requisitos a los que se debe dar solución desde el programa a realizar.
• Diseño y verificación del algoritmo: nos conduce a un diseño escrito y detallado del diagrama de flujo, que solucionarán el problema al que nos enfrentamos.
• Codificación: donde implementaremos el diseño en el lenguaje de programación elegido.
• Compilación y enlazado (linkedición): donde se traduce el código fuente escrito a código máquina mediante el empleo de compiladores y generándose el programa ejecutable por el ordenador.
• Verificación y depuración: donde se buscan errores producidos en las fases anteriores y se eliminan.
• Documentación: donde se creará la documentación del programa realizado, tanto técnica como a nivel de usuario (manuales).
El circuito propuesto consta de dos pulsadores que encienden un led, cada pulsador cambiará los tiempos de encendido del led, para ello usaremos:
• 1 Arduino uno
• 1 Diodos Leds color verde
• 1 Resistencia 330Ω
• 1 Protoboard
• 2 Pulsadores
Diagrama de flujo programa “Cambiar tiempos según pulsador”