Enciende y apaga un LED con un botón pulsador en Arduino

2.1  Objetivo General:

Aprende a encender y apagar un LED utilizando un botón pulsador que envié una señal que Arduino registre y  decida si enciende o apaga el LED.

En la sección de Tutoriales->Arduino podrán encontrar todas las prácticas relacionadas con la tarjeta Arduino.

MAS en LEDs En esta práctica para mantener el LED encendido hay que tener el botón pulsador presionado. Si quieres usar el botón para que al dejar de pulsarlo el LED se mantenga encendido ver Encender un LED con botón pulsador y luego apagarlo con el mismo botón.

NUEVO

Si quieres encender una serie de LEDs tipo estrella fugaz, ver la práctica encender una secuencia de varios LEDs (Estrella fugaz).

Si quieres encender un LED Emitiendo SOS en Código Morse, ver LED Emitiendo SOS en Código Morse.


2.2 Materiales y Métodos:

  1. Un LED.
  2. Una tarjeta Arduino Uno-R3 o Arduino Mega 2560.
  3. Un cable USB impresora.
  4. Un computador.
  5. Cables para el montaje del circuito.
  6. Tarjeta Protoboard.
  7. Una Resistencia Eléctrica de 220 ohm.
  8. Un Botón Pulsador.

Un sistema mecatrónico tiene componentes de actuación y de medición. En la primera práctica el LED puede ser visto como un actuador.  Para ese caso particular la actuación que se vio fue la emisión de luz a través del LED. En esta práctica se sumaran como medir acciones exteriores. Se emplea un botón pulsador como elemento sensor, que nos indicará a través del tacto del dedo sobre el botón si este está activado o no.  La medición sobre el botón va enviar una señal Arduino la cual va a reconocer 1) si está activado el botón se encenderá el LED, y 2)  al soltar  el dedo del pulsador, el LED se apaga.

Antes de comenzar con el desarrollo del programa, se debe saber cómo se determina el valor de una resistencia eléctrica.

2.2.1 Tabla para determinar valor del Resistor

La resistencia o resistor, es cualquier elemento localizado en el paso de la corriente eléctrica y que causa oposición a que esta fluya. Las resistencias se representan con la letra R y se miden en Ohm (Ω). Para obtener el valor de una resistencia, se puede emplear  la siguiente tabla:

Color Valor Multiplicador Tolerancia
Negro 0 x 1Ω
Marron 1 x 10Ω +/-1%
Rojo 2 x 100Ω +/-3%
Naranja 3 x 1KΩ
Amarillo 4 x 10KΩ
Verde 5 x 100KΩ +/-0.5%
Azul 6 x 1MΩ +/-0.25%
Violeta 7 x 10MΩ +/-0.10%
Gris 8  … +/-0.05%
Blanco 9  …
Dorado 0.1Ω +/-5%
Plateado 0.01Ω +/-10%

Tabla 2.1. Calculo de tolerancias de una resistencia a través de sus colores.

Donde Ω = Ohmio
kΩ = Kilohmio (1 kΩ es igual a 1000 ohmios).
MΩ = Megaohmio (1 MΩ es igual a 1 000 000 de ohmios ó 1 000 kiloohmios).

Como ejemplo, vamos a determinar la resistencia del siguiente resistor.

Figura 1 - P2

Figura 2.1. Representación física de una resistencia. (Imagen de http://www.circuitoselectronicos.org)

2.2.2 Pasos para determinar valor del Resistor.

En la anterior imagen se aprecia que existen 4 bandas (si se amplia la imagen se ve naranja, blanca, roja y dorada), las 3 cercanas determinan la resistencia de la siguiente manera:

  • La primera banda es naranja por lo que su valor es 3.
  • La segunda banda es blanca por lo que su valor es 9.
  • La última banda, en este caso la tercera (roja) es el multiplicador, la cual vale x100Ω.
  • Se unen los valores 1 y 2, nos quedaría 39.
  • El valor anterior (39) se multiplica por el multiplicador que vale x100, por lo tanto 39×100=3900Ω, el cual es el valor resistivo que ofrece el componente.

Respecto a la tolerancia, esta se refiere al error máximo que una resistencia tiene respecto a su valor nominal, esto quiere decir que una resistencia puede tener un valor nominal determinado por sus bandas impresas, y sin embargo su valor real podría variar respecto al porcentaje marcado por la tolerancia. En este caso la tolerancia está dada por la banda dorada ±5% ó ±0.05, por lo que multiplicamos el valor resistivo anterior por la tolerancia, esto es 3900 Ωx±0.05 que nos daría ±195, por lo que el valor resistivo real tiene un valor  entre 3705 y 4095 Ω.

Si se quiere comprobar que nuestra medición ha sido correcta, otra alternativa es utilizar un multímetro. Se utiliza el multimetro para medir  Ω, y se escoge el rango correcto  y  se conectan las puntas de los cables del multímetro a las puntas del resistor.

2.3 Montaje de la práctica:

Antes de comenzar la realización del montaje del circuito electrónico, se debe realizar el circuito en el programa TinkerCad.  Se debe tener en cuenta el conocimiento de cuál es el cátodo y ánodo del LED. Se coloca el ánodo en el pin 13 y el cátodo a tierra (ground), usar el pin 5V y conectar al botón como se muestra en la figura 2:

Circuito de la Práctica 2
Figura 2. Montaje del circuito en el programa TinkerCad

Se observa en la Figura 2 que se está utilizando el Arduino Uno, si se utiliza la tarjeta Arduino Uno-R3 el mismo procedimiento. Como se observa en la Figura 2, el Protoboard nos ayuda a insertar el LED e instalar el circuito a través de cables, al igual que la resistencia eléctrica y el botón pulsador. La línea que esta de color rojo que conecta el LED a la tarjeta Arduino emite los 5V al estar conectado la tarjeta al computador (El computador es capaz de proveerle Arduino 5V). Los 5V como se observa van hacia al botón y luego al cerrarse el circuito le deja pasar al pin 7. Para proteger el circuito y evitar que al pin 7 no le llegue más de 5V, le colocamos al circuito una resistencia eléctrica, la cual llevara en gran parte de esa señal a tierra.

Luego que tengamos armado el circuito en el programa Fritzing, se comienza con el desarrollo del programa en el IDE de Arduino.

2.4 IDE de Arduino para la práctica:

Primero se configura la tarjeta arduino:

 -Se selecciona la tarjeta Arduino que se esta utilizando sea Arduino Uno-R3 o Arduino Mega 2560.

 -Se indica el Puerto Serial. Bajo que puerto USB se va a conectar el Arduino con el computador.

 -Se coloca el título del programa haciendo uso  del símbolo //, el cual permite colocar comentarios dentro del programa.

2.4.1 Procedimiento de cómo llevar a cabo el codificado del programa:

  • Se declaran las variables. En esta práctica se tiene una variable de tipo  const, y de número entero  int. Seguidamente, el nombre de la variable.
  • En la tarjeta Arduino se coloca el ánodo en el pin 13, la variable se le asignara el valor de 13. También se declara la variable botón en el pin 7 y una variable entero val igual a cero (0). las variable val no será constante va a variar entre 0 y 1.
  • Se define si la variable declarada son de tipo entrada o de salida dentro de la estructura void setup (), se abre corchete ({) para saber qué es lo que contiene ese comando y al finalizar el comando se cierra corchete (}). Internamente del corchete se declara que la variable LED es de salida mediante el comando  pinMode(LED,OUTPUT). Note que OUTPUT indica que la señal saldrá del pin 13.
  • Para definir el botón pulsador lo importante es definir el pin donde está conectado el boton (pin 7) y que va ser un pin  INTPUTpinMode(BOTON,INPUT).
  • Luego de definir las variables, se procede a realizar la estructura del código dentro de void loop (), de igual manera se abre corchete({) y se cierra (}) luego de terminar su cumplimiento. Internamente del corchete se establecen las instrucciones que ejecutara Arduino continuamente. Se utiliza la variable val la cual leerá digitalmente lo que sucede en el pin 7 (botón)mediante digitalRead(BOTON).
  • En esta práctica se introduce otra estructura de programación la cual es if,  que significa si en español. La estructura if es un condicional que permite decidir en función del valor de la variable val, si este es alto (HIGH=1) o si es bajo (LOW=0).  Si queremos encender el LED se utiliza el comando digitalWrite, esta condición estará dentro de la estructura de programación if  mediante digitalWrite(LED,HIGH). De lo contrario (else)  el LED se apagará mediante el comando  digitalWrite(LED, LOW).

2.4.2 Algoritmo de la práctica 2

En la siguiente imagen se mostrara como quedo plasmado en el IDE de Arduino, los procedimientos anteriormente señalados:

// Práctica encender y apagar un LED a través de botón pulsador
const int LED=13;
const int BOTON=7;
int val;
void setup(){
pinMode(LED,OUTPUT);
pinMode(BOTON,INPUT);
}
void loop(){
val=digitalRead(BOTON);
if  (val==HIGH){
digitalWrite(LED,HIGH);
}
else { digitalWrite(LED,LOW);
}
}

Algoritmo  1 Código para encender y apagar un LED utilizando un botón pulsador. 

  • Al terminar el desarrollo del programa se debe compilar para verificar si existen errores dentro del codificado. Luego si no existen errores se debe cargar el código en la tarjeta Arduino para que lo ejecute.

NOTA: Para quel IDE de Arduino pueda entender los comandos es necesario que al final de cada instrucción se coloque punto y coma (;).

Implementación del algoritmo 1 en el simulador TinkerCad:
</>

https://www.tinkercad.com/things/eXSTGxfu3sF

NUEVO En esta práctica para mantener el LED encendido hay que tener el botón pulsador presionado. Si quieres usar el botón para que al dejar de pulsarlo el LED se mantenga encendido ver en la Práctica 10.

Nueva práctica sobre encender LED Emitiendo SOS en Código Morse, ver Práctica 15.

Si tuviste problemas haciendo la práctica o tienes algun comentario te invitamos a comentar este post.

2.5 Conclusión:

En esta práctica se vio como Encender y apagar un LED utilizando un botón pulsador.  Ya no solo se utiliza la tarjeta para encender un LED, sino que tambien para apagarlo mediante un botón pulsador. Se conocieron nuevos comando dentro del código IDE del Arduino. Además, se utilizaron nuevos materiales para llevar a cabo dicha práctica.

Si nuestro contenido te fue de utilidad, por favor considera dar tu apoyo a lo que hacemos: