Práctica 2. Encender y apagar un LED utilizando un botón pulsador

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPin on PinterestPrint this page

2.1  Objetivo General:

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.

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.


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 mecatronico 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. 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)

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 Fritzing.  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:

Figura 2. Montaje del circuito en el programa Fritzing

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:

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

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

– Se empieza a realizar el código:

  • Inicialmente debemos darle un nombre de qué consiste el codigo, esto se hace a través del símbolo //, se puede colocar el título de la práctica o del programa en sí. También se puede utilizar como comentarios dentro del programa.
  • Se declaran las variables. En la práctica se declaran de tipo constante, una variable que no cambiara durante el desarrollo del programa, su comando es constademás se debe especificar qué tipo de datos se almacenará en la constante, en este caso será entero y su comando es int, luego se le da 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), la diferencia de las demás variables es que la variable val  no será constante va a variar entre 0 y 1, en función de si el botón está presionado o no.
  • Se define si la variable declarada son de tipo entrada o de salida, para eso se utiliza el comando 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, esto se realiza a través del comando pinMode, este a su vez necesita como argumento la variable y el tipo de señal de la misma, es decir pinMode(LED,OUTPUT); en la que OUTPUT indica que la señal saldrá del pin 13 permitiendo encender el LED. Para definir el botón pulsador lo importante es definir el pin donde está conectado el boton (pin 7), este se define en la programación en vez de ser un OUTPUT es un INTPUT, cada vez que el reciba en ese INPUT él va a tomar una acción; la cual es decirle Arduino que tome una señal digital en el pin 13 y encienda el LED, su comando será pinMode(BONTON,INPUT).
  • Luego de definir las variables, se procede a realizar la estructura del código a través del comando 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 utilizara la variable val la cual leerá digitalmente lo que sucede en el pin 7 (botón), su comando seria digitalRead(BOTON). La práctica permite introducir otra estructura de programación la cual es if, la 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). Para que el LED se encienda se utiliza el comando digitalWrite, esta condición estará dentro de la estructura de programación if, su comando seria digitalWrite(LED,HIGH), Para quel LED pueda apagarse se utiliza el mismo comando digitalWrite pero indicándole esta vez una señal baja LOW, finalmente el comando se determina como digitalWrite(LED, LOW) para que Arduino entienda que no debe encender el LED debemos decirle de lo contrario apague el LED, para eso se utiliza el comando else. Arduino entenderá que si no se cumple la primera estructura la cual es encender el LED al detener el contacto con el botón simplemente apagara el LED.
  • 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 (;).

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. 

Implementación del algoritmo 1 en el simulador https//123d.circuits.io:

https://123d.circuits.io/circuits/2111361-practica-2-laboratorio-mecabot

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.

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 ha avanzado en el uso de la tarjeta Arduino, ya no solo se puede utilizar la tarjeta para encender un LED sino que tambien lo apague a través de un lenguaje de programación y herramientas electrónicas. Se conocieron nuevos comando dentro del código IDE del Arduino y se utilizaron nuevos materiales para llevar a cabo dicha práctica.

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPin on PinterestPrint this page