Publicado el 1 comentario

32. Pulsador (con código)

Objetivo

En la lección anterior vimos cómo funciona un pulsador, ahora vamos a utilizarlo en un pequeño proyecto de Arduino UNO. Crearemos un pequeño proyecto con el que consigamos encender un led cuando pulsemos un pulsador y no luzca mientras no se pulse.

Material

  • Un led
  • Un pulsador
  • Dos resistencias: 220 ohm y 10 Kohm
  • 5 cables M-M

Montaje

Ambos, led (pin 4) y pulsador (pin 8), se deben montar sobre una protoboard, el led con sendas resistencias en serie de 220 ohm y 10 Kohm.

estado = digitalRead (pin)

Estrenamos la nueva función digitalRead que lee el estado de un Pin digital de Arduino, que previamente se ha configurado en modo INPUT, nos devolverá un valor HIGH (activado) o LOW (desactivado)

  • Entradas: Tiene un solo argumento entero, el pin del que veamos a leer su estado, aplicable a cualquier pin digital de Arduino
  • Salida: Un valor entero:
    • HIGH si el pin está activado
    • LOW si el pin está desactivado

La sentencia if {} else {}

Presentamos una nueva sentencia que nos permite discriminar qué acción se realizará dependiendo de que una condición sea verdadera o falsa.

if  condición {

acciones si la condición es cierta

}

else {

acciones si la condición es falsa

}

Si la condición se cumple se realizarán las sentencias que están dentro de la sección entre llaves que hay a continuación del if, y si no se cumple se realizarán las sentencia que hay después del else. Si sólo hay una sentencia entre llaves, éstas se pueden eliminar y así simplificar el código.

Hay otra sintaxis de la sentencia que consiste en eliminar la parte del else. Sólo se evalúa la condición y si esta se cumple se ejecutan las acciones a continuación, y no existe la parte del else. Sería de esta forma:

if  condición {

acciones si la condición es cierta

}

Sketch

El código del sketch lo tienes en la diapositiva, fíjate en la sección del Setup, es imprescindible que declares las dos sentencias con la función pinMode para declarar el pin 4 de salida para el led y el pin 8 de entrada para el pulsador. Llama al sketch “Pulsador con codigo.ino“.

Hemos introducido la siguiente sentencia en la línea 1:

int estado;

En esta línea se declara la variable “estado” de tipo entero para almacenar el resultado de leer el pin 8 del pulsador, así si se pulsa se guardará el valor HIGH y si no se pulsa se guardará el valor LOW.

Si te preguntas cómo es que se almacenan los valores LOW y HIGH en una variable entera, muy sencillo, internamente el lenguaje Wired las tiene asignadas a los valores enteros 0 y 1 respectivamente.

Ejercicio

Haz que en vez de iluminarse el led de forma continua cuando activemos el pulsador, parpadee con una frecuencia de 20 Hz.