Para poder llevar a cabo cualquier proyecto es necesario un programa que le indique al hardware lo que tiene que hacer. El hardware sin el software no tiene sentido y viceversa. Una de las ventajas de estas plataformas libres es que existen numerosas herramientas que nos facilitan la tarea de desarrollar estos programas, incluso sin saber nada de programación. Vamos a describir dos tipos de herramientas, una que nos va a permitir programar de forma visual o por bloques y que está orientada a niños y principiantes, y otra no visual, para programadores más avanzados.
Además de estas herramientas existen otras online que permiten simular proyectos. Si no se dispone del hardware físicamente (placa, sensores, actuadores, etc.) se puede simular su comportamiento. Algunas de ellas, permiten tanto la programación por bloques como directamente en un lenguaje de alto nivel. También veremos un ejemplo.
Entornos de programación no visuales
ARDUINO dispone de dos herramientas que permiten escribir y cargar programas en la placa para usuarios con conocimientos de programación. Una de ellas se utiliza online a través de un navegador (Chrome, Firefox, Safari o Edge), llamada Arduino web editor [7] y otra, que hay que descargarla e instalarla en un ordenador, Arduino Software (IDE) [8]. Esta segunda opción es compatible con la mayoría de los sistemas operativos (Windows, Linux, Mac OS).
Arduino IDE
tiene un editor de texto para escribir los programas directamente en un lenguaje de alto nivel. Hay una barra de herramientas con menús para acceder a diferentes funciones, una zona de mensajes, y una consola de texto (figura 9).

La versión online no requiere instalación y se recomienda que se utilice con el navegador Chrome. Para acceder a esta versión, sólo es necesario entrar en la web https://create.arduino.cc/editor, crear una cuenta e instalar un pequeño programa (Arduino create agent [9]) para que el editor web reconozca la placa que utilicemos, cargue el programa y acceda al monitor serie. A partir de ahí se accede al editor online, para escribir programas y cargarlos en la placa. En la Figura 10 se ve el aspecto del editor online.

Entornos de programación visual por bloques
La programación visual por bloques permite aprender de forma sencilla conceptos básicos de programación. Las herramientas de programación por bloques ayudan a encontrar una solución óptima a un problema concreto escribiendo una secuencia lógica y ordenada de instrucciones representadas mediante bloques gráficos. Existen multitud de herramientas de este tipo como Arduinoblocks, snap4arduino, visualino, Ardublock, BlocklyDuino, MBLOCK, MiniBloq, etc.
Un ejemplo de una herramienta que simula el comportamiento del hardware y que permite la programación por bloques es Tinkercard [10]. Tinkercad es una aplicación web gratuita y fácil de usar que permite simular diseños 3D, circuitos electrónicos y código. Para poder utilizarlo hay que crearse una cuenta. Nuestro objetivo es hacer una simulación de circuitos electrónicos por lo que al entrar, tenemos que seleccionar “Circuitos” en el menú de la izquierda (figura 11).
- Crear nuevo circuito
-
En la parte central hay un botón para “Crear nuevo circuito” y debajo un listado de todos los circuitos que vayamos creando. Al situar el cursor sobre cada circuito creado aparece un botón de MODIFICAR para acceder a dicho circuito, y poder editarlo o simularlo.
Figura 11. Entorno Tinkercad. - Ejemplo para encender y apagar un led
-
Vamos a ver un ejemplo sencillo con detalle para entender cómo funciona todo que consiste en encender y apagar un led (emisor de luz).
Cuando se lleva a cabo cualquier proyecto lo primero es tener claros los objetivos. En nuestro ejemplo, el objetivo es hacer parpadear un led. A continuación hay que ver qué componentes necesitamos. En este ejemplo serán una placa, ARDUINO UNO R3, un led, una resistencia y un par de cables. Para encender el led es necesario suministrarle corriente, la corriente que sale de la placa es muy elevada y puede fundir el led. Para evitarlo, vamos a utilizar una resistencia. En una resistencia parte de la corriente que recibe se disipa en forma de calor de forma que la corriente que sale de la resistencia es inferior a la que entra. La corriente que le llegue al led, depende del valor de la resistencia, que se da en Ohmios. Una resistencia de 220 Ω es suficiente para que el led no se funda. El led tiene dos patas, una de ellas hay que conectarla a tierra y la otra pata a la resistencia, que a su vez va a la entrada/salida de la placa que le suministra la corriente. La entrada/salida que vamos a seleccionar es la número 12. Una vez elegidos los componentes hay que conectarlos según se indica en el diseño o esquema de la figura 12.
Figura 12. Esquema de conexión del led. - Montaje en Tinkercad
-
Para hacer el montaje en Tinkercad vamos al menú de la derecha, seleccionamos Componentes, Básico y en el buscador escribimos Arduino. Nos saldrá un listado de placas y, seleccionamos ARDUINO UNO R3 y la arrastramos a la parte central. Cada vez que seleccionamos un componente tenemos la opción de ponerle un nombre. De forma similar buscamos la resistencia y el led (Figura 13).
Figura 13. Selección de componentes - Conectar los Componentes
-
Para conectar los componentes, sencillamente picamos en el origen y arrastramos hasta el destino. Al final todo ha de estar conectado como se indica en la figura 12. El siguiente paso es escribir el programa. Vamos a utilizar la programación por bloques. Si picamos en el botón de “Código” (figura 18), aparece un editor nuevo. En la parte izquierda se hace la selección del bloque a utilizar y en la parte derecha vamos construyendo el programa (figura 14).
Figura 14. Programación por bloques. - Construir los Programas
-
Para construir los programas podemos usar bloques relacionados con: salidas, entradas, control, matemáticas, variables y notación (comentarios). A la hora de hacer el programa hay que arrastrar los bloques a la parte de la derecha, según lo que necesitemos hacer.
Vamos a ver paso a paso cómo hacer el programa. Primero queremos encender el led. Para ello hay que indicarle a qué entrada/salida está conectado el led a la placa. Seleccionamos la entrada/salida (pasador) 12 y hay que ponerlo en ALTA (encendido). Se mantiene encendido 1 segundo (esperar 1 segundo).
Figura 15. Encendido del LED. A continuación lo apagamos y lo mantenemos así otro segundo.
Figura 16. Apagado del LED. El programa completo podemos verlo en la figura 17. Cuando ejecutemos estas instrucciones se van a repetir de forma indefinida hasta que detengamos la ejecución.
Figura 17. Programa de parpadeo de un LED. Si tuviéramos físicamente el hardware, el siguiente paso sería cargar el programa en la placa, a través de un cable USB, y por último observar su funcionamiento. Como estamos utilizando un simulador, inicamos la simulación. Para ello picamos en el botón “Código” para ocultarlo y pulsamos el botón de “Iniciar simulación” (figura 18). Tenemos que observar cómo el led se enciende y apaga cada segundo, de forma indefinida hasta que detengamos la ejecución (figura 19).
Figura 18. Botones de Código e Inicio de simulación. Figura 19. Resultado de la simulación.