Arduino M0

Vamos a probar la placa Arduino M0 que tenemos, así podemos verificar su correcto funcionamiento y ademas chequear la comunicación con el PC/MAC en el que estamos ejecutando el IDE. Usaremos un ejemplo ya escrito por el desarrollador del IDE, el Sketch BLINK. Este simplemente enciende y apaga el led de la placa M0 conectado a la salida 13. Por defecto el Sketch enciende y apaga el led cada segundo, nosotros lo cambiaremos a 0,1 seg o 100 mseg.

- Vamos a ver a continuación la descripción paso a paso de la carga y prueba del Sketch BLINK.
- También tenemos al final un video con todo el proceso completo


Prueba y ejemplo BLINK

Ejecutamos el IDE, en este caso desde un Mac.

Una vez terminado de abrir el programa, nos iremos al menú y pulsaremos: Archivo - Ejemplos - 01.Basics - Blink. Con esto abriremos uno de los ejemplos que trae con defecto el IDE.
Los ejemplos vienen clasificados por el tipo de prueba que vayamos a realizar (Basics, digital, analog, etc.) o por el tipo de placa Arduino (Bridge, GSM, etc.)

Una vez abierto el ejemplo BLINK tenemos dos ventanas abiertas, la del ejemplo y la que se abre por defecto. Cerramos el Sketch que esta vacío y dejamos solo el ejemplo BLINK.

Redimensionamos la ventana (la hacemos más grande) para poder ver el código completo y la parte de abajo (que ahora esta vacía) donde luego aparecerán mensajes del IDE indicándonos partes del proceso.

Una vez redimensionada la ventana, vamos a decirle al IDE el modelo de placa Arduino al que vamos a mandar el Sketch. En nuestro caso será una placa Arduino M0. Para ello nos vamos al menú del IDE en la parte superior y pulsamos: Herramientas - Placa:"un modelo de Arduino" - Arduino M0. Notar que esta dentro de la familia SAMD 32 bits ARM Cortex M0+.
Con este cambio en el IDE le estamos indicando que la placa a la que va destinado el Sketch es un Arduino M0 y cuando compilemos el código lo generara específicamente para este modelo de placa y solo para este. Esto es muy importante, ya que si erramos en este punto no conseguiremos que nuestro Sketch llegue a ejecutarse nunca.

Conectaremos la placa Arduino M0 a un puerto USB del ordenador.
Al conectarlo el led de ON se encenderá indicándonos que la placa tiene alimentación y esta funcionando. Es importante saber que al conectar la placa a cualquier alimentación se ejecutara el programa que este en esos momentos en la memoria del MCU (microcontrolador, Micro Controller Unit), y será así indefinidamente hasta que desconectemos la alimentación o carguemos un nuevo programa.
Ahora le indicaremos al IDE en que puerto está conectada. Para ello iremos al menú principal y pulsaremos: Herramientas - Puerto:"el último puerto asignado" - Lista de puertos disponibles, podemos apreciar que ha aparecido un puerto nuevo activo con una placa Arduino conectada: /dev/cu.usbmodem1D221 (Arduino M0). Si no esta seleccionado, lo seleccionamos.

Vamos a modificar un poco el programa Blink para que el parpadeo del Led 13 de la placa se encienda y se apague mas rápidamente. Por defecto el ejemplo Blink tiene puesto dos delay(1000); lo que hace que el sketch espere 1000ms (1 seg) antes de cambiar el estado. Vamos a cambiar el valor de 1000 por 100, quedando entonces la instrucción delay(100); esto hará que el cambio de estado se produzca cada 100ms o 0,1seg (mucho mas rápido).

Una vez editado el sketch, pulsamos el botón verificar para que el IDE compruebe por nosotros si hemos cometido algún error. OJO, es importante saber que si el IDE da un aviso de error, casi al 100% estará mal escrito el programa y no se podrá subir. Pero si no da errores no es 100% seguro tampoco que el sketch no tenga errores, solo indica que no hemos cometido errores de sintaxis. Que funcione el programa dependerá de nuestra habilidad a la hora de escribirlo, solo de eso.

Al pulsar el botón de verificar, si todo ha ido bien y solo hemos cambiado el valor de las instrucciones "delay", el IDE nos informa en la parte inferior del tamaño del Sketch en bytes, entre paréntesis del porcentaje de memoria que hemos ocupado en el microcontrolador, la máxima memoria que tenemos disponible, cuanto usan las variables globales en la memoria dinámica, etc... y nos asegura de la ausencia de errores. Estamos listos para enviar el Sketch a la placa arduino y que se ejecute.

Si pulsamos por fin el botón de subir, el IDE compilara de nuevo el Sketch para la placa que le hemos informado que tenemos conectada y lo enviara a través del puerto USB en el que esta conectada nuestra placa Arduino M0. Sabremos que todo va bien cuando veamos parpadear rápidamente los led de TX y RX de la placa Arduino que nos indican que se esta comunicando con el IDE y recibiendo el Sketch.

Si todo ha ido correctamente, los led TX y RX dejaran de parpadear al finalizar el envío y el led L conectado internamente a la salida digital 13 del Arduino M0 empezara a parpadear y oscilar cada 100ms, quedándose en este estado hasta en infinito mientras tenga alimentación la placa Arduino.