Encendido de un led con un botón

Ficha descriptiva
Título de la prácticaEncendido de un led con un botón
ObjetivoEl alumno obtendrá datos de un sensor digital y controlará el comportamiento de un actuador digital con Arduino.
Duración50 minutos
Contenidos temáticos que apoyaUnidad 1 Programando para resolver problemas

1.5 Diseño de programas aplicando la metodología de solución de problemas con ejemplos de automatización en la ciencia y la industria

Unidad 3 Automatización y control de procesos

3.4 Construcción de un sistema automatizado para la obtención de valores con sensores
3.5 Uso de los elementos de un sistema automatizado para obtener y analizar datos que permitan emitir conclusiones
3.6 Aplicación de los elementos de un sistema automatizado para resolver problemas de la vida cotidiana relacionados con la ciencia y la industria
Material requeridoComputadora, IDE de Arduino, tarjeta Arduino UNO, cable USB tipo AB, protoboard, un led de 5 mm, un botón pulsador, una resistencia de 220 ohms 1/2 w, una resistencia de 1 kohm 1/2 w y 7 cables jumper.
AutorRebeca Guillermina Villegas Salas
Revisión técnica
Grado de dificultadPrincipiante

Encendido de un led mediante un botón

Objetivo

El alumno obtendrá datos de un sensor digital y controlará el comportamiento de un actuador digital con Arduino.

Objetivos específicos

El alumno:

  • Construirá y programará un circuito electrónico para controlar el encendido de un led mediante un botón con Arduino.
  • Aprenderá a conectar un led a la tarjeta Arduino.
  • Aprenderá a conectar un botón a la tarjeta Arduino.
  • Utilizará la función pinMode para configurar los pines digitales de la tarjeta Arduino de entrada o salida.
  • Utilizará la función digitalRead para leer el estado de un componente digital en un momento determinado.
  • Utilizará la función digitalWrite para modificar el estado de un componente digital.

Materiales

Los componentes electrónicos y programas que se requieren para elaborar la práctica son:

Introducción

Los dispositivos digitales manejan señales digitales, es decir, puede enviar o recibir únicamente los valores de 0 ó 1 y se conectan a la tarjeta Arduino mediante los pines digitales.

Pines digitales

La tarjeta Arduino UNO tiene 14 pines digitales identificados con los números del 0 al 13. En ellos se pueden conectar componentes electrónicos que manejen señales digitales.

844Pines digitales de la tarjeta Arduino UNO

Cada uno de los pines puede ser configurado para recibir o enviar datos.

Función pinMode

Para configurar qué comportamiento tendrá el pin (de entrada o salida) se utiliza la función pinMode.

Sintaxis
pinMode(pin, modo); 

Parámetros

pin – número de pin del Arduino que se quiere configurar

modo – INPUT / OUTPUT

El modo INPUT configura el pin para que la tarjeta Arduino reciba datos del componente electrónico.

El modo OUTPUT configura el pin para enviar datos de la tarjeta Arduino al componente electrónico.

Ejemplo:

Se desea programar un circuito electrónico que encienda un led mediante un botón. El led se conectará al pin 7 y el botón al pin 3.

 
Configuración de pines digitales

En este caso el botón, que es un sensor digital, puede enviar a la tarjeta Arduino dos valores: LOW si no está presionado y HIGH si está presionado. Como la tarjeta Arduino leerá el valor que indica el estado del botón, entonces debemos configurar el pin de entrada. La instrucción de configuración del pin 3 digital sería:

pinMode(3, INPUT); // configura el pin 3 de entrada

La tarjeta Arduino enviará al led el valor HIGH para encenderlo y LOW  para apagarlo, por lo tanto, el pin debe ser configurado de salida. La instrucción de configuración del pin 7 digital sería:  

pinMode(7, OUTPUT);  // configura el pin 7 de salida

Función digitalWrite

La función digitalWrite envía el valor HIGH o LOW a un pin específico.

Sintaxis
digitalWrite(pin, valor); 

Parámetros

pin – número de pin del Arduino que se quiere escribir

valor – HIGH o LOW

Ejemplo:

Para encender el led conectado al pin digital 7 se escribe la instrucción:

digitalWrite(7, HIGH);  // envía el valor HIGH al pin 7 (5 V o 3.3 V)

La instrucción para apagar el led conectado al pin digital 7  es:

digitalWrite(7, LOW);  // envía el valor LOW al pin 7 (0 V)
 
Función digitalRead

La función digitalRead lee el valor de un pin específico.

Sintaxis
digitalRead(pin); 

Parámetros

pin – número de pin del Arduino que se quiere leer

Valor de retorno

HIGH o LOW

La función digitalWrite, a diferencia de las funciones pinMode y digitalWrite, envía un valor de retorno, es decir, el valor leído a través del pin. Este valor se puede almacenar en una variable si será utilizado en el programa posteriormente.

Ejemplo:

Para leer el valor del estado del botón conectado al pin 3 se codifica:

digitalRead(3);  // lee el pin 3. La función puede devolver el valor HIGH o LOW 

Si  el valor del estado del botón conectado al pin 3 se desea almacenar en una variable, entonces la instrucción sería:

valBtn = digitalRead(3);  // lee el pin 3 y almacena el valor devuelto en la variable valBtn

Recuerda que para utilizar la variable debe ser previamente declarada con la instrucción int valBtn;

 

Procedimiento

1. Armado del circuito electrónico

Recuerda que el ánodo del led va conectado a la resistencia y el cátodo a tierra.

2. Programación del circuito electrónico

2.1 Abre el IDE de Arduino y captura el siguiente sketch:

/* Programa que enciende y apaga un led
* con un botón
*/
int valBtn = 0; // declaración e inicialización de la variable valBtn
void setup() {
pinMode(7, OUTPUT);// configura el pin 7 de salida (led)
pinMode(3, INPUT); // configura el pin 3 de entrada (botón)
}

void loop() {
valBtn = digitalRead(3); // lee valor de pin 3 y lo guarda en valBtn (1-pressed 0-not pressed)
digitalWrite(7, valBtn); // enciende/apaga led según valor valBtn
}

Observa que el valor devuelto por la función digitalRead(3) se almacena en la variable valBtn. Este valor, es usado como parámetro de la función digitalWrite para determinar el valor que envía la tarjeta Arduino a través del pin 7 al led (HIGH-encendio, LOW-apagado).

2.2 Compila, depura y sube el sketch a la tarjeta Arduino UNO.

Resultados

A continuación, encontrarás una simulación del resultado de la construcción y programación de tu circuito electrónico.

Simulación del sketch Endendido de un led con un botón

Presiona el botón Iniciar simulación. Haz clic sobre el botón para simular que lo presionas y observa cómo el led se enciende y se apaga cuando dejas de presionarlo.  Verifica que en el circuito que armaste y programaste se observen los mismos resultados que en la simulación.

Autoevaluación

Referencias bibliográficas

Arduino. (2020). Guía de referencia de Arduino. Recuperado de: https://www.arduino.cc/reference/es/