Arduino INPUT OUTPUT


Una practica muy común para entender el funcionamiento de las entradas y salidas de los arduinos, es hacer que se enciendan y apegan led por medio de pulsadores

oscar Escrito por oscar 08 May 2016 13127 0

Vídeo

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

Acerca del proyecto

Una practica muy común para entender el funcionamiento de las entradas y salidas de los arduinos, es hacer que se enciendan y apegan led por medio de pulsadores, donde se requiere leer el estado de un pin digital, procesar la señal y escribir ese valor obtenido en otro pin digital diferente. En este post conoceremos los conceptos básicos de arduino y realizaremos un circuito para entender esta funcionalidad.

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 Para poder conectar un interruptor es necesario usar una conexión en donde le podamos enviar estados altos y bajos de forma segura, en este post explicamos el circuito pull up.
Arduino interruptores miniatura En este proyecto damos la explicación de como usar las entradas y salidas con unos pulsadores puede servir de base para poder realizar esta practica.
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

Como podemos observar los materiales son muy sencillos de conseguir, en cambio del dipswicth si no lo tienes no hay problema, puedes usar cuatro pulsadores de botón u otro sistema que se adapte a la configuración pull up.

Material Cantidad Descripción
Arduino 1 Puede ser cualquier de tu preferencia
resistencia de 1k 8 Resistencia para los leds y el dipswicth
Led de colores 4 Les para la salida del ejercicio
Dipswicth 1 Usado para las entradas del ejercicio

Circuito

Observemos el circuito como esta construido, en los pines 2, 3, 4 y 5 son las entradas del dipswicth, conectada con la configuración pull up; en los pines 6, 7, 8 y 9 son los pines de salida a los cuales les conectamos leds.

Arduino input output breadboard
Arduino input output breadboard

 

Arduino input output circuito
Arduino input output circuito

 

Arduino input output foto
Arduino input output foto

Código

El código lo encontraras en github con los demás proyectos.

//Paso 1
int pinInput[] = {2, 3, 4, 5};
int pinOutput[] = {6, 7, 8, 9};

void setup() {
  //Paso 2
  for(int i = 0; i < 4; i++){
    pinMode(pinInput[i], INPUT);
    pinMode(pinOutput[i], OUTPUT);
  }
}

void loop() {
  //Paso 3
  for(int i = 0; i < 4; i++){
    int val = digitalRead(pinInput[i]);
    if(val == 1){
      digitalWrite(pinOutput[i], HIGH);
    }else{
      digitalWrite(pinOutput[i], LOW);
    }
  }
}

En este coligo usamos los array en donde declaramos los pines que usamos en las entradas y salidas (paso 1), esto con el fin de ahorrar líneas de código; como observamos en el setup hay un for en donde recorre un ciclo el cual es el tamaño de los array y dentro del bucle declaramos los pines como salida y entrada con pinMode() (paso 2), así ahorramos líneas de código, lo mismo hacemos con el loop para preguntar si está o no activo el pin al leerlo con digitalRead() y dependiendo de la respuesta lo escribimos con digitalWrite (paso 3).


Comentario

Debe aceptar antes de enviar