Esta práctica consiste en encender una luz con un pulsador y pasado un segundo se apague.
- ¿Qué es un led?
- ¿Qué es un pulsador?
- Circuito: Cómo conectar un led y un pulsador a Arduino
- Programación con Mblock
- 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:
- 1 Arduino UNO LOG 8431
- 1 Cable USB LOG 7509
- 1 Board LOG 886
- 1 LED LOG 722
- 1 Resistencia 220 Ohmios (rojo – rojo – marrón) LOG 748 220
- 1 Resistencia 10K Ohmios (marron – negro – naranja) LOG 748 10K
- 1 Pulsador LOG 542
- 2 Latiguillos board macho – macho LOG 7519
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.
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):
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.
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:
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:
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 |
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!