Un ejemplo para empezar.
Imagina que quieres hacer que una bombilla parpadee cada dos segundos, es decir, que esté dos segundos encendida y otros dos segundos apagada una y otra vez.
Si dispones de una bombilla, de un pulsador, de una batería y de un reloj podrías conseguirlo ¿no? Bastaría con conectar los tres componentes como en el siguiente esquema y cambiar la posición del pulsador cada dos segundos fijándote en el reloj:


Sin embargo te encontrarías con dos grandes problemas:
- Que siempre cometerías un pequeño error (aunque fuera de unas pocas milésimas de segundo) ya que sería imposible que justo acertaras a cambiar la posición del interruptor cada dos segundos.
- Y lo más importante, que te acabarías cansando.
Justo este tipo de cosas son las que un microcontrolador puede hacer a la perfección y con gran precisión. Al fin y al cabo se trata de hacer que un componente actúe de manera automática.Vamos a ver cómo se conseguiría en el simulador de Tinkercad.
Lo primero que hay que hacer es conectar la bombilla al Arduino como en la imagen de abajo (fíjate que en este caso no son necesarios ni el interruptor ni la batería):

Para eso lo más rápido es que busques las palabras «bombilla» y «Arduino» en el menú de componentes de la derecha y que los arrastres al centro de la pantalla:


A continuación, conecta los dos terminales de la bombilla a los «agujeros» que se indican en la imagen: el izquierdo a GND y el derecho al número 8.

Aunque ahora mismo no entiendas por qué se conecta de ese modo la bombilla no te preocupes, más adelante lo comprenderás.
Una vez conectada la bombilla hay que escribir el programa, es decir, hay que indicarle al Arduino qué ordenes debe ejecutar. Para escribir el programa hay que hacer click en el botón Código:

Y después cambiar la opción Bloques por Texto:

Y hacer click en Continuar:

Los programas siempre se van a escribir en el área recuadrada de la imagen:

Como puedes comprobar, en esa zona aparece un programa por defecto que vamos borrar.

A continuación vamos a escribir el programa que va a hacer que la bombilla parpadee cada dos segundos. Las órdenes que se deberán dar son las siguientes:
- Endender la bombilla que está conectada al agujero nº 8.
- Esperar 2 segundos con la bombilla encendida.
- Apagar la bombilla que está conectada al agujero nº 8.
- Esperar 2 segundos con la bombilla apagada.
- …
Fíjate en que las órdenes que hay que dar al microcontrolador deben estar muy detalladas. No basta con decirle que tiene que encender la bombilla, si no se especifica durante cuánto tiempo tiene que hacerlo las instrucciones están incompletas. También es necesario indicar en qué agujero se ha conectado la bombilla ya que en caso de que hubiera más de una bombilla conectada no sería lo mismo encender una que otra.
Sin embargo, como se ha explicado en la página anterior, los microcontroladores utilizan un lenguaje específico, lo que se denomina un lenguaje de programación. Por tanto, debemos traducir las órdenes anteriores al lenguaje que puede entender el Arduino. Eso es lo que vamos a aprender a hacer a partir de ahora, pero de momento tienes que creerte que la traducción de las órdenes anteriores sería la siguiente:
void setup()
{
pinMode(8, OUTPUT);
}
void loop()
{
digitalWrite(8, HIGH);
delay(2000);
digitalWrite(8, LOW);
delay(2000);
}
Puedes copiar y pegar directamente el texto azul en el área del programa y a continuación hacer click en el botón Iniciar simulación:

Y comprobarás que la bombilla empieza a parpadear así:

Ya has hecho tu primer programa, uno muy sencillo que solamente controla una bombilla. Sin embargo, los has hecho copiando y pegando un programa que realmente no sabes cómo funciona. En las siguientes páginas lo entenderás.
También tienes que tener presente que el ejemplo que hemos visto es muy sencillo, pero la cosa se puede ir complicando tanto como lo desees. Imagina que además de la bombilla conectas un sensor de presencia al Arduino. Con el programa adecuado podrías crear un sistema automático en el que se enciende una bombilla cuando alguien entra en una habitación. O imagínate que conectas un sensor de luz y un motor además de la bombilla. Podrías crear un sistema que abra o cierre unas persianas en función del nivel de luz que entra en un local.
Antes de pasar a la siguiente página puede que te preguntes qué diferencia hay entre el uso de un simulador y de un Arduino real. La respuesta es que si eres capaz de controlar un circuito con el simulador también serás capaz de hacerlo en un Arduino real. la única diferencia será que para programar un Arduino real, una vez escrito el programa, tendrás que cargarlo (grabarlo) en el microcontrolador. Esto se hace mediante un cable USB como los que se utilizan para conectar las impresoras al ordenador:

Una vez subido el programa los componentes comenzarán a funcionar como corresponda, igual que sucede en el simulador cuando aprietas el botón Iniciar simulación. Es más el último programa que hayas introducido se quedará grabado en la memoria del Arduino hasta que le cargues un nuevo programa distinto.