Arduino INPUT OUTPUT

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 cualquera de ti 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.

Código

El código lo encontraras en github con los demas 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 codigo 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).

Comentarios

Para dejar el comentario solo necesitamos tu correo que registraste en la pagina, pero si aun no te haz registrado se creara el usuario automaticamente.

Detalle contenido

base-arduino-input-output
Generic placeholder image
Oscar Fernandez Alzate

08, Mayo 2016

2892
Categorías
ARDUINO