Como ya se ha explicado la programación de un Arduino utiliza el editor de código IDE para escribir el programa y luego compilarlo y cargarlo con un solo clic. Nosotros utilizaremos el simulador TinkerCad para hacer la simulación de hardware y software. Recordaréis que el código del programa para cargar en Arduino dispone de dos funciones principales:
La función setup() esta función se utiliza para inicializar la configuración de la placa, se ejecuta sólo una vez, cuando el tablero se enciende.
La función loop() esta función se ejecuta después de la setup () completa, y a diferencia de la función setup (), se ejecuta continuamente.
En este primer ejercicio vamos a practicar con las tres primeras funciones y crearemos nuestro primer código.
La sintáxis de esta función es del tipo: pinMode (nº del pin de arduino, definición de entrada o salida)
por ejemplo: pinMode (13, OUTPUT); Se define el pin nº 13 de Arduino como salida.
La sintáxis de esta función es del tipo: digitalWrite (nº del pin de arduino, valor)
por ejemplo: digitalWrite (13, HIGH); Saca 5 V por el pin 13 del Arduino (por ejemplo para encender un led).
La sintáxis de esta función es del tipo: delay (tiempo en milisegundos)
por ejemplo: delay (1000); retardo 1000 ms (1 segundo)
Realiza el siguiente montaje en la plataforma TinkerCad:
Y a continuación, tras escribir el siguiente código, inicia la simulación en el programa:
En el vídeo de la derecha podemos ver la práctica realizada.
Los siguientes dos códigos de programación realizan la misma función que el código de la práctica guiada que hicimos más arriba. Fíjate que aquí en lugar de la salida 13 se está trabajando con la salida 8.
#define es un componente útil que permite al programador para dar un nombre a un valor constante antes de compilar el programa. El compilador reemplaza las referencias a estas constantes con el valor definido en tiempo de compilación.
Sintáxis
#define NombreConstante Valor
Ejemplo:
#define pinLED 8 // El compilador reemplaza cualquier mención a pinLED con el valor 8, por tanto asigna al pin de entrada/salida nº 8 el valor pinLED.
¡Ojo! al final de la línea de código no va un ; #define NombreConstante Valor; Esto estaría mal
int, asigna a una variable un valor determinado.
Sintáxis
int var = valor;
Ejemplo:
int LED = 8 // Se asigna a la variable LED el valor del pin 8 de Arduino.
Modifica el programa, conecta 4 leds y haz que se enciendan en secuencia programada como las luces de un árbol de navidad (en secuencia y al final todos a la vez). Recuerda que cada led debe ser programado y conectado a una salida digital distinta de la placa de Arduino.
Modifica el programa para que el led se encienda 20 veces por segundo. ¿Cuántos ms son de encendido y apagado?