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 |
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
- 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.
- Con la función
pinMode()
declaramos a los pines 2 y 3 como salida con el parámetroOUTPUT
y los pines 5 y 6 como entrada con el parámetroINPUT
. - Con
digitalRead()
leemos el valor digital de un pin, en este caso leemos el valor que tiene el pin 5 asociado a la variableinputPin5
, luego determinamos si esta variable tiene el valor deHIGH
oLOW
para ser escrita en el pin de salida que este caso es el pin 2, para ello usamos adigitalWrite()
donde el primer parámetro es el pin y el segundo es el estado que deseamos escribir.
Comentario
amaury_lora
18 May 2018 06:13
amaury_lora
22 May 2018 07:05