sábado, 22 de febrero de 2014

Simple Boton Led

          Comenzamos con los Mini-Proyectos que irán formando parte del TFG, con los cuáles iremos avanzando en el estudio de Arduino y Android para la realización exitosa del proyecto. Comenzaré siempre haciendo una breve descripción de lo que quiero hacer, continuando con imágenes de los prototipos usados, Sketches con su explicación, vídeos demostrativos, etc... dependiendo del Mini-Proyecto que esté afrontando. Comenzamos.

         Vamos a hacer que un led se encienda cuando pulsemos un botón y se apague cuando no lo hagamos. Así vamos a ver el funcionamiento básico de la placa Arduino, cómo diseñar un prototipo en Fritzing y cómo programar y cargar un Sketch.

          En primer lugar vamos a hacer el diseño del prototipo con Fritzing. Es tan simple como abrir el programa, guardar el proyecto con un nombre y a continuación ir añadiendo a la ventana principal todos los componentes que vamos a utilizar para el prototipo. En nuestro caso: placa Arduino, breadboard, led, botón y resistencia.


          Colocamos y conectamos los componentes de la forma que aparece en la imagen. Simplemente pinchamos en un "agujero", arrastramos y soltamos en otro "agujero" para realizar una conexión. La resistencia la usamos para no fundir el led, disminuyendo la intensidad de corriente que pasa por él. Conectamos el botón al PIN de Arduino 2 y el led en el PIN de Arduino 12. Posteriormente lo montamos.

          La programación de un Sketch es relativamente sencilla: Tiene dos métodos principales que son setup y loop. En setup realizamos la configuración de los pines y de los componentes y variables que vamos a utilizar. Loop es el bucle principal que se repite continuamente y es donde tendremos que realizar las acciones. A continuación os muestro el Sketch explicado utilizado para hacer que Arduino capture la pulsación del botón y así encender o no el led:

//Definimos los pines para el led y el botón
#define  boton  2
#define  led    12
//Definimos una variable para saber el estado del botón
int estadoBoton = 0;
//Método 'Setup'
void setup(){
  //Inicializamos el pin 'led' como salida
  pinMode(led, OUTPUT);
  digitalWrite(led, HIGH);
  //Inicializamos el pin 'botón' como entrada
  pinMode(boton, INPUT);
  //Modo 'pull up'
  digitalWrite(boton, HIGH);
}
//Método 'Loop'
void loop(){
  //Lee el valor del estado de 'boton'
  estadoBoton = digitalRead(boton);
  //Comprobamos si está pulsado
  if (estadoBoton == LOW){
    //Encendemos el led
    digitalWrite(led ,HIGH);
  }else{
    //Apagamos el led
    digitalWrite(led, LOW);
  }
}

          Para terminar os dejo un vídeo demostrativo de como funciona correctamente. Espero que os haya gustado, esto sólo es el comienzo...