Prueba y ejemplo BLINK
Ejecutamos el IDE, en este caso desde un PC con Windows 10.
Una vez terminado de abrir el programa, nos iremos al menú y pulsaremos: Archivo - 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 DUE. Para ello nos vamos al menú del IDE en la parte superior y pulsamos: Herramientas - Placa:"un modelo de Arduino", y podemos ver en nuestro caso que no aparece la placa DUE. Esto es porque nunca la hemos usado y no la tenemos instalada.
Vamos a describir como se instalan placas nuevas al IDE.
Nos vamos, dentro del menú a la opción "Gestor de tarjetas..." para abrir un asistente que nos informará de las tarjetas instaladas y las que podemos descargar e instalar.
Aquí tenemos el gestor abierto y como podemos ver en la fila de los Arduinos SAM Boards (32-bits ARM Cortex-M3) esta nuestro Arduino DUE y no esta instalado. Pulsamos instalar la última versión disponible y esperamos (bastante a veces, 5-7min) a que se instale.
Una vez terminada la instalación, volvemos a ver las placas disponibles y ya aparece el Arduino DUE. Aquí tenemos dos opciones, usar el puerto "Programming Port" que está diseñado específicamente para programar la placa, o el puerto "Native USB Port" que aunque se puede usar para programar la placa, su uso es mas hacia periféricos que a la programación
Con este cambio en el IDE le estamos indicando que la placa a la que va destinado el Sketch es un Arduino DUE 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.
Lo siguiente es indicar al IDE en que puerto esta conectada la placa Arduino. Para ello iremos al menú principal y pulsaremos: Herramientas - Puerto:"el último puerto asignado" - Lista de puertos disponibles. En esta imagen se puede apreciar como en el IDE no aparece ninguna placa Arduino conectada y puerto está en gris.
Es el momento de conectar nuestra placa Arduino DUE al ordenador donde se esta ejecutando el IDE mediante un cable USB. En el caso de la placa que se ve en las fotos (una Arduino DUE original) el puerto USB de programming de la placa es un USB tipo micro USB tipo B y el ordenador un USB tipo A. Solo necesitamos un cable corto de conexión USB de tipo A a tipo micro USB B.
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, carguemos un nuevo programa o especialmente en este modelo, pulsemos el botón ERASE borrando la memoria interna completamente.
Una vez conectado el Arduino DUE, si vamos de nuevo a: Herramientas - Puerto:"el último puerto asignado" - Lista de puertos disponibles, podemos apreciar que ha aparecido un puerto nuevo activo con una placa Arduino conectada: COM3 (Arduino Due(Programming Port)). Si no esta seleccionado, lo seleccionamos.
En estos momentos ya tenemos elegida la placa Arduino a la que mandaremos el Sketch y el puerto donde esta conectada físicamente la placa.
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 50, quedando entonces la instrucción delay(50); esto hará que el cambio de estado se produzca cada 50ms o 0,05seg (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 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 Due. 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. El parpadeo de los led solo ocurrirá si usamos el programming port.
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 DUE empezara a parpadear y oscilar cada 50ms, quedándose en este estado hasta en infinito mientras tenga alimentación la placa Arduino.