Un programa de Arduino se denomina sketch o proyecto y tiene la extensión .ino
Importante: para que funcione el sketch, el nombre del fichero debe estar en un directorio con el mismo nombre que el sketch.
No es necesario que un sketch esté en un único fichero, pero si es imprescindible que todos los ficheros estén dentro del mismo directorio que el fichero principal y que este contenga obligatoriamente las funciones setup() y loop().
void setup() {// put your setup code here, to run once:}void loop() {// put your main code here, to run repeatedly:}
La estructura básica de un sketch de Arduino es bastante simple y se compone de al menos dos partes. Estas dos partes son obligatorios y encierran bloques que contienen declaraciones, estamentos o instrucciones.
- setup() – http://arduino.cc/en/Reference/Setup
- loop() – http://arduino.cc/en/Reference/Loop
En donde setup() es la parte encargada de recoger la configuración y loop() es la que contiene el programa que se ejecuta cíclicamente (de ahí el término loop –bucle-). Ambas funciones son necesarias para que el programa funcione.
La función de configuración (setup) debe contener la inicialización de los elementos y esta función sólo se ejecuta una vez justo después de hacer el reset y no se vuelve a ejecutar hasta que no haya otro reset. Es la primera función a ejecutar en el programa y se utiliza para configurar, inicializar variables, comenzar a usar librerías, etc…
La función bucle (loop) siguiente contiene el código que se ejecutará continuamente (lectura de entradas, activación de salidas, etc). Esta función es el núcleo de todos los programas de Arduino y se usa para el control activo de la placa. La función loop se ejecuta justo después de setup.
La estructura del sketch está definida en el siguiente enlace: http://arduino.cc/en/Tutorial/Sketch
Los componentes principales de un sketch de Arduino son:
- Variables, son un espacio en memoria donde se almacenan datos y estos datos pueden variar.
- Funciones, son un trozo de código que puede ser usado/llamado desde cualquier parte del sketch. A la función se le puede llamar directamente o pasarle unos parámetros, en función de cómo esté definida.
- setup() y loop(), son dos funciones especiales que es obligatorio declarar en cualquier sketch.
- Comentarios, fundamentales para documentar el proyecto
Se puede resumir un sketch de Arduino en los siguientes diagramas de flujo:
Y en el caso del programa blink: