Simulador de Arduino

Gracias a mi trabajo pude conocer esta herramienta interesantísima para quienes no tienen un kit Arduino en su casa, o para quienes no quieren arriesgarse a quemar algo por conectar mal las cosas (y lo digo ahora que ya quemé tres leds esta semana…)

Para utilizar el simulador, empezamos accediendo al sitio circuits.io y haciendo clic en Open Electronics Lab Hub:

Open Electronics Lab Hub

Podemos comenzar mirando el video de presentación o directamente hacer clic en New Electronics Lab. Nos pedirá que comencemos creando una cuenta.

Una vez que creamos la cuenta y nos logueamos, podemos crear nuestro primer experimento. Veremos una protoboard vacía, lista para meter mano. Se trata de una base que se utiliza para conectar cada elemento sin realizar soldaduras, conectando y desconectando los distintos componentes una y otra vez. Claro que en un simulador no importaría realizar soldaduras, pero bueno, la idea es aprender a utilizar también la protoboard para luego aplicarlo en el kit físico.

¿Y cómo se entiende la estructura de la protoboard? Al mover el mouse por la protoboard veremos cómo se conectan los distintos orificios:

Conexiones de la protoboard

Esto significa que si pongo dos cables en orificios que están conectados, esos cables estarán conectados. Lo vamos a ver en la práctica.

Para comenzar la simulación vamos a agregar componentes, y buscaremos una placa Arduino Uno y un led:

Agregar los componentes

Accediendo a la opción “Code editor” podemos observar que se cargó automáticamente el ejemplo clásico (“Blink”) con el cual haremos titilar un led conectado en el pin 13.

Las conexiones para este primer experimento serán: un cable conectará la pata positiva (“ánodo”) del LED (la conexión se crea haciendo clic en un orificio y luego en el pin 13 de la placa arduino) y otro conectará la pata negativa (“cátodo”) a tierra (“Ground”, GND), como lo muestra la imagen. Luego hacemos clic en “Start simulation” para ver que hemos quemado el LED:

Quemando un led

¿Por qué lo quemamos? Porque esta conexión requiere de una resistencia. Vamos a agregar una de 220 ohm, y cambiaremos el circuito de esta manera:

Led y resistencia

Ahora sí, al hacer clic en “Start simulation” vamos a ver el LED titilando.

¿Por qué titila el LED? Vamos a mirar el programa. Lo que está después de las dos barras son comentarios, que en el simulador están en inglés pero acá los traduzco:

// El Pin 13 tiene un LED conectado.
// creamos una variable llamada LED, asignándole el valor 13 (el pin donde lo conectamos):
int led = 13;

// la rutina “Setup” se ejecuta sólo una vez al ejecutar el programa
void setup() {
// inicializamos el pin digital número 13 como salida (output).
pinMode(led, OUTPUT);
}

// la rutina loop se ejecuta “para siempre” (hasta apagar la placa):
void loop() {
digitalWrite(led, HIGH); // enciende el led
delay(1000); // espera un segundo
digitalWrite(led, LOW); // apaga el led
delay(1000); //espera un segundo
}

Podemos experimentar cambiando las sentencias delay, poniendo 2000 para dos segundos o 500 para medio segundo.

También podemos conectar el led en otro pin digital y cambiar el valor de la variable led de acuerdo a ese número.