El siguiente paso es escribir el código que subirá a Arduino y hará parpadear el led interno. Para ello, o bien abre el sketch (programa) llamado blink.pde (los programas de Arduino tienen la extensión pde) desde la opción Archivo->Ejemplos bajo el menú de opciones (figura 1.13) o bien escribiendo el código mostrado en la figura 1.14. Recomiendo llevar a cabo esto último para que se acostumbre a utilizar el lenguaje de programación de Arduino. Para ello debe abrir un fichero nuevo en blanco desde la opción Archivo->Nuevo.
Un programa para ejecutarse en Arduino se conoce como sketch. Podría traducirse como “boceto” o “borrador”. Un sketch siempre tiene la misma estructura. Lo que se escriba entre las llaves que acompañan al nombre setup, se ejecuta una única vez siempre que se encienda o resetee la placa. Lo que se escriba dentro de las llaves que acompañan al nombre loop se ejecutará constantemente hasta que se apague Arduino.
Como se aprecia en la figura 1.15, la estructura básica de un programa consta de en cuatro bloques. El primero es opcional y contiene una barra inclinada seguida de un asterisco: “/*” para abrir el bloque y una segunda barra y asterisco para cerrarlo: “*/”. Contiene texto en el que puede escribir una referencia al autor (puede que sea usted mismo), la fecha de creación, a quién va dedicado, etc. En el siguiente bloque, definirá las variables que utilizará en el sketch. Más adelante, se explica lo que es una variable. El tercer bloque es importante porque en él se define la configuración del hardware de la placa. En este caso, el pin 6 funcionará como salida, ya está conectado el led. El cuarto bloque repetirá continuamente, y en bucle, las instrucciones que contiene entre las llaves (de ahí el nombre de loop).
Práctica 1.1 Parpadeo de un led (encabezado)
/* Parpadeo. Encienda y apague un led con intervalos de 1 segundo */
El encabezado contiene solo información y no se ejecuta. En este caso, informa de lo que hace el programa.
Práctica 1.1a Parpadeo de un led (inicialización)
En este bloque setup() (inicialización) se establecen las variables que utilizará durante todo el programa. Se define una variable llamada led de tipo entero int y le asigna el número 6. De ahora en adelante, cada vez que aparezca la palabra “led”, se hará referencia al número 6. Debe de fijarse que todas las sentencias o instrucciones que contenga su programa acaban en un punto y coma. Esto es una regla del lenguaje de programación C obligatoria. Observará también un comentario de texto: “// El led está conectado al pin 6”. Aclara que el led está conectado a dicho pin o patilla de Arduino. Es recomendable añadir de vez en cuando comentarios al programa para clarificar el código.
Las instrucciones o funciones que van entre llaves solo se ejecutan una sola vez y configuran el hardware de Arduino. En este caso, se tiene solo una: pin-Mode (número de pin, entrada o salida).
.-.pinMode es una función que configura uno de los pines digitales de Arduino como entrada o salida. En el caso de Arduino MKR 1010 se disponen de ocho pines digitales. Pues bien, pinMode establece que “tal pin” sea entrada o salida. La palabra INPUT establece entrada y la palabra OUTPUT inicializa el pin como salida. Así que para configurar el pin 6 como salida tendrá que escribir:
pinMode(6, OUTPUT);
Si lo quisiera configurar como entrada tendría que escribir:
pinMode(6, INPUT);
De esta forma tan sencilla se pueden configurar todos los pines digitales de Arduino para que actúen como entradas o salidas, dependiendo de lo que tenga conectados a los mismos.
Práctica 1.1b Parpadeo de un led (bloque repetitivo)
Dentro de la estructura loop() (repetitivo) y también entre llaves, aparece el fragmento de programa que se va a repetir continuamente. Ahora se dispone de una nueva función llamada digitalWrite (número de pin, estado alto o bajo).
Esto guarda relación con las señales digitales. Como sabe, las señales digitales binarias representan dos estados: un estado bajo, conocido como 0, apagado u OFF; y un estado alto conocido como 1, encendido u ON. El estado alto o HIGH se representa con 5 V y el estado bajo o LOW se representa con 0 V.
.-.digitalWrite es una función que necesita dos parámetros: el primero, una vez más, es el número de pin digital y el siguiente es el estado lógico que queremos mantener en ese pin, por lo tanto, si quiero enviar un valor alto al pin 6 tendrá que escribir:
digitalWrite(6, HIGH);
Si quiero tener 0 V en el pin 6 escribirá:
Delay es una función muy sencilla. Hace que toda la ejecución de Arduino pare o se detenga durante los milisegundos que le indique como parámetro.
Por lo tanto, si quiere esperar medio segundo escribirá:
delay(500);
Si desea esperar diez segundos escribirá:
deLay(10000);
Por tanto, echando un nuevo vistazo al bloque loop(), observará que el diodo LED conectado a la patilla 6 se va a encender (estado HIGH) durante 1 segundo y se va a apagar (estado LOW) durante otro segundo, consiguiendo el ansiado efecto de parpadeo.
Lo que resta por hacer es subir el código a la placa Arduino y comprobar si funciona. Para ello, presione el botón de compilación y subida de código indicado en la figura 1.16. Si todo va bien verá una lucecita (el diodo led) en la placa que parpadea durante un momento. Esto indica que el programa está cargándose en el microcontrolador de Arduino. Este breve parpadeo es un importante aviso de que las cosas van por buen camino. La placa está conectada correctamente al puerto serie y el código del sketch no tiene errores de sintaxis. Si algo de esto fuera mal observaría errores en la ventana de mensajes del entorno de desarrollo IDE (figura 1.17).
Observará que el error cometido se muestra con una barra de color amarillo a continuación de la línea de programa responsable del mismo.
Por