Encender y apagar un LED con Arduino

En este tutorial se explica cómo encender y apagar un LED usando Arduino. El LED durará un segundo encendido y un segundo apagado. Es un tutorial base para comenzar a programar con Arduino.

Resumen.

Pasos a seguir para encender y apagar un led un segundo, con Arduino.

  1. Primero conectamos un LED al pin 8 del Arduino, y la otra pata del LED a tierra usando una resistencia de 470 ohms o similar. También conectamos el Arduino a la PC.
  2. Luego en el código, declaramos el pin 8 como salida dentro de la función void setup(). Usando el comando: pinMode(8, OUTPUT).
  3. Después en void loop(), hacemos que el LED se encienda con el comando: digitalWrite(8,HIGH).
  4. Luego hacemos que el Arduino no haga nada durante un segundo usando el comando: delay(1000).
  5. En seguida apagamos el led con el comando: digitalWrite(8,LOW)
  6. Por último esperamos un segundo sin hacer nada usando nuevamente el comando: delay(1000).
  7. El último paso es cargar el programa que acabamos de crear al Arduino. Para esto debe estar conectado el Arduino a la PC. Y presionamos el botón de subir.
  8. Con lo anterior vemos que el LED del pin 8 parpadea durando un segundo encendido y un segundo apagado.

Encender y apagar un LED con Arduino.

A continuación seguiremos los pasos anteriores, para hacer que se encienda y apague un LED con una duración de un segundo.

Conexión del Arduino.

Primero vamos a hacer la conexión física del Arduino y el LED. Podemos usar una protoboard para ver la conexión de manera más sencilla.

Como usaremos el pin número 8 del Arduino, conectamos el lado positivo del LED (pata más larga, ánodo) al pin 8 del arduino, y el lado negativo (pata más pequeña) a una resistencia de 470 ohms o similar, esta resistencia se conectará a tierra.

Arduino prender y apagar LED

Una vez que ya carguemos el programa de Arduino podemos hacer la conexión usando una fuente distinta a nuestro PC.

Arduino con fuente externa

Código para encender y apagar un LED.

El código para que un LED se encienda un segundo y se apague durante un segundo, y asi continúe por un tiempo indefinido es el siguiente:

void setup()
{
   digitalWrite(8,OUTPUT);
}

void loop() {
   digitalWrite(8,HIGH);
   delay(1000);
   digitalWrite(8,LOW);
   delay(1000);
}

Arduino tiene 2 funciones principales:

  • setup() el cual solo se lee cuando el programa inicia. Después no se volverá a leer. Hasta que se vuelva a iniciar el código. Esta función se usa para declarar variables, entradas, salidas, etc.
  • loop(), este es un ciclo que se repetirá una y otra vez. Este método se usa para la lógica que tendrá nuestro programa.

Primero dentro de setup(), declaramos que el pin número 8 será salida. Y es todo lo que haremos en este método.

Luego en loop(), encendemos el LED con digitalWrite(8,HIGH).

  • El número 8 indica que es el pin 8.
  • HIGH, indique que el LED se va a encender.

Después usamos el comando delay(1000), el cual tiene la función de no hacer nada durante un intervalo de tiempo. El número 1,000, representa 1,000 milisegundos lo que es igual a 1 segundo.

Por lo tanto el LED durará encendido 1 segundo.

Luego apagamos el led con el comando digitalWrite(8,HIGH).

  • El número 8 indica que es el pin 8.
  • LOW, indique que el LED se va a apagar.

Ahora hay que esperar un segundo con el LED apagado, así que usamos delay(1000).

Y con esto terminamos el código.

El loop() se repetirá, así que el LED se volverá a encender por un segundo y apagar por otro segundo, y así sucesivamente.

Declarando variables.

Otra manera de hacer el código es declarando variables. Lo cual es de gran utilidad cuando el código ya es muy grande.

Las variables te ayudan a organizarte mejor, a evitar errores por si no recuerdas la función que quieres darle a cada pin del Arduino y en caso de editar, las variables te ahorrarán tiempo.

int LED=8;
int tiempo=1000;

void setup()
{
   digitalWrite(LED,OUTPUT);
}

void loop() {
   digitalWrite(LED,HIGH);
   delay(tiempo);
   digitalWrite(LED,LOW);
   delay(tiempo);
}

En este caso, todo funciona exactamente igual. Pero puedes notar la diferencia.

Ahora tenemos variables, para identificar el pin y el tiempo de espera.

Las variables se pueden definir fuera de los dos métodos principales. Así se pueden usar en ambos métodos.

Variable LED = 8.

Creamos una variable llamada LED. El nombre de la variable puede ser el que queramos, en este caso le pusimos LED para saber que en ese pin hay un LED.

tiempo = 1000.

Creamos una variable llamada tiempo le damos un valor de 1000.

Esta variable es muy útil. Ya que al momento de cambiar el valor del tiempo de espera, solamente cambiamos el valor de esta variable y no el valor que hay en cada delay().

Es decir, al momento de editar, es mucho más rápido si tenemos variables, además evitamos el error de olvidar cambiar algún valor.