LUZ CON PULSADOR

Esta práctica consiste en encender una luz con un pulsador y pasado un segundo se apague.

  1. ¿Qué es un led?
  2. ¿Qué es un pulsador?
  3. Circuito: Cómo conectar un led y un pulsador a Arduino
  4. Programación con Mblock
  5. Programación con Arduino IDE

1.  ¿Qué es un diodo led?

En la práctica anterior os explicamos qué es un diodo led. Puedes leerlo en: Prácticas con Arduino: Luz intermitente

2.  ¿Qué es un pulsador?

Un pulsador es un operador digital que permite el paso de corriente eléctrica cuando está pulsado. Cuando lo conectamos a un pin digital de la placa Arduino, la placa recibe una señal digital 1 cuando el pulsador se ha presionado, y recibe la señal 0 cuando el pulsador no se ha presionado.

3. Circuito: Cómo conectar un LED a Arduino

Para realizar este circuito necesitas los siguientes materiales:

Para trabajar en una protoboard, es importante conocer las conexiones que existen en ella. Puedes utilizar el siguiente enlace para leer información detallada sobre las conexiones de la protoboard.

Circuito: Conectar pulsador a arduino
Conectar un pulsador a Arduino

Cuando pongas el pulsador en la board, dos patillas deben quedar en una mitad de la board y las otras dos patillas en la otra mitad, de tal forma que no estén conectadas entre sí.

El cátodo del led lo conectamos al pin 6 de Arduino y el ánodo a GND. El pulsador se conecta al pin digital 2.

¡Ya sólo nos queda programar!

Para programar la placa Arduino puedes utilizar diferentes lenguajes. Nosotros nos vamos a centrar en dos opciones

  • MBlock – programación basada en bloques
  • Arduino IDE – programación basada en líneas de código

4. Programación con mBlock

El objetivo de este programa es muy sencillo: conseguir que el LED que hemos conectado al pin 6 se encienda cuando se presione el pulsador. El led se quedará un segundo encendido y se apagará automáticamente.

El primer paso es configurar la tarjeta, sigue los pasos que te indicamos en «Mblock: primeros pasos«

Una vez configurada la tarjeta comenzamos con la programación. El primer bloque que necesitamos es un evento (pulsa en el círculo naranja para ver los eventos disponibles) , en este caso utilizaremos el evento «cuando clic en bandera verde«.

A continuación el programa analizará si has presionado el pulsador. Necesitamos utilizar un bloque condicional «si… entonces» que encontrarás dentro de los bloques de la sección control (círculo naranja):

Bloque condicional
Bloque condicional

La condición que debemos introducir en el bloque anterior es «haber pulsado el pulsador». Si entramos en los bloques de la sección azul Pin, verás un bloque con forma hexagonal: «lee pin digital 9«. La forma de ese bloque nos indica que podemos utilizarlo dentro de los huecos hexagonales que encontrarás en aquellos bloques que se ejecuten en base a una condición. La lectura del pin digital será verdadera si recibe un valor 1 por parte del dispositivo conectado a este pin, y será falsa si recibe un valor 0. En nuestro caso, debemos cambiar el pin 9 por el pin 2, y la condición será verdadera cuando el pin esté presionado (nos enviará un 1) y será falsa (nos enviará un valor 0) cuando no esté siendo presionado.

Leer pin digital
Leer pin digital

Si la condición es cierta, encendemos el led durante un segundo y después lo apagamos. Para encender y apagar el led utilizamos el bloque «pon el pin digital 9 en…» cambiando el número 9 por el 6:

Encender y apagar Led
Encender y apagar led

Para que el programa funcione correctamente, la lectura del pulsador debe incluirse dentro de un bucle ya que de otra forma la ejecución del programa es tan rápida que no llegaríamos a detectar la pulsación:

Bucle infinito
Bucle infinito

Pulsa la bandera verde, y verás que funciona: cuando presiones el pulsador se enciende el led y pasado un segundo se apaga. ¡Objetivo conseguido!

5. Programación con Arduino IDE

El objetivo de este programa es muy sencillo: al presionar el pulsador el led se enciende y pasado un segundo el led se apaga … pero esta vez utilizando un lenguaje basado en líneas de código.

El primer paso es configurar la tarjeta, sigue los pasos que te indicamos en «Arduino IDE: primeros pasos«.

Una vez configurada la tarjeta comenzamos con la programación. Recuerda que al trabajar con código debemos respetar la sintaxis: Cuidado con las letras mayúsculas y minúsculas y con los signos de puntuación. ¡Son importantes!.

Los programas en Arduino IDE constan de dos secciones: setup y loop.

En setup vamos a configurar los pines de la placa que vamos a utilizar.

pinMode(6, OUTPUT); En el pin 6 conectamos un dispositivo de salida: el LED
pinMode(2, INPUT); En el pin 12 conectamos un dispositivo de entrada: el pulsador
Configuración de pines

En loop vamos a introducir el código que se va a ejecutar continuamente. Puesto que el objetivo de nuestro programa es encender el led al presionar un pulsador, en este bucle infinito realizamos la lectura del pulsador dentro de un condicional. Para realizar una lectura de un pin digital utilizamos la instrucción digitalRead(nº_de_pin):

void setup() {
  pinMode(6, OUTPUT); // Led - pin de salida
  pinMode(2, INPUT);  // pulsador - pin de entrada
}

void loop() {                  // bucle infinito

  if(digitalRead(2)){          // si el pulsado se presiona
    digitalWrite(6, HIGH);     // se enciende el led 
    delay(1000);               // se mantiene 1 segundo encendido
    digitalWrite(6, LOW);      // se apaga el led
  }

}

Pulsa en el icono subir, y si al presionar el pulsador se enciende el led … ¡Objetivo Conseguido!