#0002 – E/S DIGITALES
Bienvenidos a un nuevo tutorial básico sobre Arduino con el que podremos exprimir al máximo nuestro STARTER KIT o LAB KIT!
Parte 1: ¿Qué vamos a hacer?
En este tutorial de Arduino, vamos a aprender a configurar una entrada digital a la que conectaremos un pulsador y, con lo aprendido sobre el LED en el anterior tutorial, nos permitirá controlar el encendido y apagado del diodo.
Veamos el resultado final en un video:
Material necesario para el proyecto:
- 1 placa Arduino.
- 1 protoboard.
- 1 diodo LED.
- 1 resistencia 220Ω.
- 1 resistencia 10K.
- 1 pulsador.
Parte 2: Diseñando el Hardware…
En este proyecto, deberemos interpretar en nuestro programa la lectura de una entrada digital, y en base a su lectura, activaremos, o no, una salida digital a la que conectamos un diodo LED, es un ejemplo sencillo, pero que nos permite aclarar un concepto muy importe sobre las entradas digitales, las resistencias de Pull-Up o Pull-Down.
¿Qué son las resistencias de Pull-Up o Pull-Down?
En nuestro Arduino, las entradas digitales se interpretan de la siguiente manera:
¿Esto quiere decir? Que si tenemos una tensión de +5v aplicada a una entrada, este nos la interpretara como un 1 (hight) sin lugar a dudas, pero no es así al contrario, si nosotros dejamos dejamos de aplicar esa tensión a la entrada digital, es posible que recibamos algo de ruido del circuito y que Arduino no nos lo interprete como un 0 (low) por lo que colocamos una resistencia entre la entrada y masa (GND) que derive estos ruidos asegurandonos una señal limpia y sin posibles errores, a la resistencia que se conecta a masa se le llama PULL-DOWN.
De igual manera, si tuviéramos la necesidad de mantener un 1 lógico en una entrada mientras el circuito está en reposo, se le puede aplicar una resistencia entre la entrada y +5v para asegurarnos que le llega sufiente tensión como para que sea interpretada correctamente por nuestro Arduino, a esta última se le denomina PULL-UP.
Aquí podéis ver como se conectaría la resistencia en un circuito básico de 0 o 1 en la entrada 8 de Arduino.
Una vez conocido esto, el resto del circuito no tiene misterio, deberemos colocar el LEDcorrectamente polarizado con su resistencia, y el pulsador con una resistencia de PULL DOWN de 10KΩ a masa para cuando esté en reposo, de manera que cuando pulsemos el botón, llegue una tensión 5v a la entrada 2 de Arduino y este lo interprete como un 1 lógico, a partir de aquí el programa hará el resto para proporcionarnos la tensión de salida que activará el diodo LED.
Las conexiones en nuestra protoboard nos quedarían de la siguiente manera:
Para observar con más detalle las conexiones entre componentes se puede observar el siguiente esquema eléctrico:
Como se puede observar, los pulsadores electrónicos parecen llevar cuatro patillas, pero en realidad sólo son dos muy largas que salen por los laterales del pulsador para facilitar las conexiones, de manera que si lo colocamos y el LED se enciende continuamente, es muy posible que lo hayamos conectado mal, si tenéis un polímetro, colocarlo en modo continuidad y aseguraos de la posición correcta.
Parte 3: Programando…
Comencemos como siempre por el programa completo que posteriormente desglosaremos.
Como veréis algunas instrucciones ya han sido vistas en el anterior tutorial, así que nos centraremos en aquellas que son nuevas para nosotros.
En primer lugar podemos observar que antes del setup hemos declarado unas variables globales, y ademas las hemos organizado en estáticas y dinámicas:
Para definir una variable imaginemos que queremos comprar una recipiente en el que vamos a guardar algo, y depende de lo que queramos introducir, tendrá que ser de una manera o de otra, si es líquido, no puede ser de cartón, si es algo pesado no puede ser frágil… Eso es una variable, un lugar en el que almacenaremos algo para utilizar en nuestro programa, y si no las declaramos antes de utilizar, es como si no hiciéramos hueco en nuestra despensa para guardarlas, otra característica es que su inicialización no siempre es obligatoria, pero es recomendable, esto es como meter una pieza de cada producto que vayamos a guardar en nuestras cajas, en este caso les hemos asignado un valor desde el principio por las necesidades del programa.
¿Y como le digo si es de cristal o de cartón?
Definiendo el tipo de variable a utilizar, en este programa hemos utilizado las de tipo int pero existen muchas más dependiendo de nuestras necesidades que iremos descubriendo en los siguientes programas, de momento nos quedamos con la siguiente:
- Variable de tipo int: Almacena números enteros con un rango de -32768 a 32767
Al principio de la explicación, las he descrito en primer lugar como variables globales, esto es que al estar fuera de todo ciclo, pueden ser utilizadas a lo largo de todo el programa ahorrándonos mucho código, en ejemplos posteriores veremos otros lugares donde declararlas.
Y por último, en lo que respecta a las variables, las he organizado como estáticas, aquellas que serán constantes en nuestro programa, y dinámicas, aquellas que variaremos su valor en algún lugar del programa
Como novedad, podemos ver que en lugar de asignar un valor numérico en la instrucción pinMode para decirle el pin sobre el que queremos trabajar, le hemos asignado una variable, y a la hora de interpretar el programa, este utilizara lo que hayamos elegido introducir en nuestro recipiente, en este caso el número entero 12 para la salida del LED y el número entero 2 para la entrada del pulsador.
Para explicar el loop, lo dividiré en dos partes, en primer lugar, tenemos que cada vez que se ejecute el ciclo loop, lo primero que va a hacer es almacenar en nuestra variable dinámica de tipo int “estadoBoton”, la lectura del pin 2 de nuestro Arduino.
Y ahora llega algo nuevo, el ciclo if… else, este ciclo es un condicional básico en programación, lo que hace en nuestro programa es comprobar primero si nuestra variable estadoBoton está a 1 lógico, y, a continuación, con el resultado obtenido de esa comparación, elige un camino u otro, si es que sí, entonces encenderá el LED poniendo en HIGH, si es que no, entonces pondrá en LOW nuestra salida del LED apagándolo.
Y con esto hemos concluido la explicación del segundo tutorial de Arduino Academy, si ha quedado algún detalle por aclarar, animaos a mandar vuestros comentarios para así ir mejorando los proyectos…
SI QUIERES DESCARGAR AS CLICK AQUI
SI QUIERES DESCARGAR AS CLICK AQUI
Hasta pronto!!!
0 comentarios:
Publicar un comentario