Arduino interruptores miniatura


Arduino interruptores miniatura es un ejercicio en donde conoceremos la forma de usar las entradas digitales del arduino con un pulsador o interruptor.

oscar Escrito por oscar 24 August 2015 8181 2

Vídeo

A continuación encontrara el vídeo en donde se explica el funcionamiento del circuito.

Acerca del proyecto

El proyecto arduino interruptores miniatura vamos a aprender con los conceptos básicos de las entradas y salidas digitales de la placa, donde realizaremos una practica sencilla en donde leeremos dos pulsadores con configuración pull up y pull down para luego con unos led mostrar el valor de esta señal digital de entrada.

Conocimiento previo

Para realizar este proyecto se requiere conocimiento previo de los siguientes temas, si aun no has trabajado con lo que se menciona en la siguiente tabla, allí están los links a los post para que puedas dar un repaso adicional o puedas recordar el conocimiento necesario para poder realizar este proyecto.

Proyecto Descripción
Circuito pull up Una forma de inyectar una señal a una entradas en nuestros proyectos es usando el circuito pull up, que consiste en presentar un valor de salida de tensión que esta en la fuente o el (1) lógico.
Circuito pull down Una forma de inyectar una señal a una entradas en nuestros circuitos es usando el sistema pull down, el cual consiste en un circuito con su salida presenta 0 voltios o el (0) lógico.
Arduino lucecs rítmicas En este proyecto podrán ver como implementar las salidas digitales con varios leds
pinMode() Con pinMode() podemos configurar un pin digital como salida o como entrada.
digitalread() Con esta función podemos obtener el estado digital de un pin de nuestro arduino, previamente configurado como entrada.
digitalwrite() Con esta función podemos escribir un estado digital en un pin, previamente configurado como salida.

Materiales

Los materiales que usamos en este proyecto son los siguientes:

Material Cantidad Descripción
Arduino 1 Puedes usar el que quieras
Resistencia de 1kΩ 4 Resistencia de protección de leds y pulsador
Leds de colores 2 Para ver el comportamiento de las salidas
Interruptores miniatura 2 Pulsadores de boton normalmente abiertos

Circuito

En la siguiente imagen esta la forma correcta de ensamblar el circuito con los pulsadores y el arduino.

Pin arduino Elemento circuito
5 Circuito pull down
6 Circuito pull up
2 Salida al led
3 Salida al led
Arduino interruptores miniatura breadboard
Arduino interruptores miniatura breadboard
Arduino interruptores miniatura schem
Arduino interruptores miniatura schem
Arduino interruptores miniatura foto
Arduino interruptores miniatura foto

Lo que vamos a hacer en este proyecto básicamente es probar dos cosas, primero son las entradas y salidas de nuestro arduino a las cuales le damos a conectar un par de circuitos, donde nos va a permitir inyectar señales digitales ya sean unos o ceros dependiendo de la forma de conexión de esos circuitos. Observemos las imagenes donde tenemos el circuito y allí podemos notar que en las entradas cinco y seis están conectadas a los circuitos que nos envían los pulsos, en este caso el pin 5 se encuentra conectada al circuito pull down el cual consiste en que la resistencia va a estar conectada negativo, siempre nos va a estar enviando la señal un 0 lógico y al presionar el interruptor nos va a pasar a un 1 lógico mientras que en el pin 6 tenemos conectado el circuito pull up este consiste en que la resistencia está conectado positivo nuestra entrada del arduino siempre está recibiendo un estado lógico 1 y al usar el interruptor nos va a enviar el estado lógico 0.

Estás señales las vamos a interpretar en la lógica del programa que hemos desarrollado con arduino el cual vamos a ver más abajo y lo que vamos a hacer es obtener el valor de esos estados lógicos que nos están tragando los fines y posteriormente utilizando las funciones correspondientes que también las vamos a ver vamos a encender o apagar las salidas 2 y 3 que están conectados a un led donde vamos a visualizar qué señal nos está llegando en cada uno de los pines de entrada.

Código

El código se encuentra en los repositorios de git en el siguiente link.

La lógica que está manejando el circuito es la siguiente primero crearemos las variables de los diferentes pines, luego vamos a declarar los pines como salida o como entrada y después vamos a leer el estado del pin de entrada, vamos a determinar si está encendido o si está apagado y luego a su led correspondiente lo vamos a encender o apagar. Veamos el código y ya lo explicamos paso a paso:

# Paso 1
int led2 = 2;
int led3 = 3;

int inputPin5 = 5;
int inputPin6 = 6;

int val2 = 0;
int val3 = 0;

# Paso 2
void setup() {
    pinMode(led2, OUTPUT);
    pinMode(led3, OUTPUT);
    pinMode(inputPin5, INPUT);
    pinMode(inputPin6, INPUT);
}

void loop() {
    # Paso 3
    val2 = digitalRead(inputPin5);
    if (val2 == HIGH) {
        digitalWrite(led2, HIGH);
    } else {
        digitalWrite(led2, LOW);
    }
    
    val3 = digitalRead(inputPin6);
    if (val3 == HIGH) {
        digitalWrite(led3, HIGH);
    } else {
        digitalWrite(led3, LOW);
    }
}

Prueba del circuito

  1. Declaramos las variables donde relacionamos los pines de entrada y salida del arduino, teniendo en cuenta la conexión que se manejó en la tabla de conexiones, esto lo hacemos para ser organizados en el código.
  2. Con la función pinMode() declaramos a los pines 2 y 3 como salida con el parámetro OUTPUT y los pines 5 y 6 como entrada con el parámetro INPUT.
  3. Con digitalRead() leemos el valor digital de un pin, en este caso leemos el valor que tiene el pin 5 asociado a la variable inputPin5, luego determinamos si esta variable tiene el valor de HIGH o LOW para ser escrita en el pin de salida que este caso es el pin 2, para ello usamos a digitalWrite() donde el primer parámetro es el pin y el segundo es el estado que deseamos escribir.

Comentario

Debe aceptar antes de enviar
amaury_lora
amaury_lora

18 May 2018 06:13

Hola, soy nuevo en Arduino y tengo un proyecto con esa misma configuración de hardware pero la función que quiero que haga es la siguiente: que el pulsador 1 funcione como interruptor on/off que si lo precio no prenda si lo presionó nueva vez apague. Y que el pulsador 2 cuando lo presione encienda el led por 10 segundos y luego se apague. Logré hacerlo individual no he podido unir los dos código. Me puede ayudar?
amaury_lora
amaury_lora

22 May 2018 07:05

Hola soy nuevo en el mundo Arduino. Mi pregunta ta es la siguiente, a este mismo código que debo agregarle para que uno de los botones seas on/off y que al pulsar el otro dure 10 segundos encendido? Gracias