Lo primero que tienes que saber es que los programas para Arduino se llaman sketch y deben cumplir una estructura concreta para que funcionen.
Por un lado, tienes que guardar los sketch en unos archivos especiales con extensión .ino. Con esto te ayudará el IDE así que no tendrás problema.
En cuanto a la estructura del sketch, debes saber que existen dos funciones que tienes que utilizar siempre: La función setup y la función loop. Las vamos a ver un poco más en detalle a continuación.
Al final del artículo tienes un ejemplo completo de un sketch para Arduino con una estructura correcta.
La función setup
La función setup se ejecuta justo al arrancar el Arduino y no se vuelve a ejecutar a no ser que reinicies la placa.
Dentro de esta función tendrás que inicializar las variables y librerías e indicar todas las configuraciones de tu Arduino. Por ejemplo, si hay un pin digital que quieres que funcione como salida, porque vas a conectar un LED a él, tendrás que indicarlo aquí para que tenga ese comportamiento durante toda la ejecución.
La sintaxis es esta:
void setup(){
//todas las inicializaciones y configuraciones van aquí
}
Por ahora no te preocupes por el contenido que debes escribir entre las llaves porque lo iremos viendo más adelante.
La función loop
La función loop se ejecutará justo después de la función setup.
Esta función tiene un comportamiento de bucle infinito. ¿Qué significa eso? Pues que su ejecución se repite de forma indefinida, es decir, ejecuta todas las instrucciones que contiene y una vez termina vuelve a empezar.
La función loop solo se detiene si desconectar la placa Arduino o la reinicias.
La sintaxis de la función loop es la siguiente:
void loop(){
//aquí van todas las instrucciones que se ejecutarán
}
Las instrucciones que contiene loop pueden ser muy diversas, por ejemplo, encender un LED, pero no te preocupes por eso ahora porque existen muchas posibilidades y las iremos viendo.
Ejemplo de sketch para Arduino
Aquí te dejo un pequeño ejemplo de cómo quedaría un sketch para Arduino con una estructura correcta:
void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
}
void loop()
{
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}
No te preocupes si no entiendes ahora lo que hace el código, el objetivo ahora es que entiendas la estructura.
Fíjate que primero está la función setup. Solo para que lo sepas, lo que hago es configurar el pin 13 digital como salida. ¿Te das cuenta? Estoy haciendo una configuración.
Luego está la función loop. Solo para que lo sepas, lo que hago aquí es enviar un pulso alto al pin 13, esperar 1 segundo, enviar un pulso bajo al mismo pin y esperar otro segundo. Esas son las instrucciones que yo le estoy dando, pero recuerda que Arduino siempre ejecuta la función loop de forma repetitiva, lo que significa que va a estar enviando pulsos altos y bajos de forma alterna mientras no se desconecte la placa.
Si quieres puedes ejecutar este sketch en tu Arduino. Lo que va a ocurrir es que un LED que hay integrado en la placa se va a poner a parpadear.
Y esa es la estructura de un sketch para Arduino.