Cabecera PRINCIPAL

Claves: técnico, redes, networks, microsoft, open source, gnu, programador, software, hardware, desarrolladores

Juan Enrique Gómez Péérez

sábado, 6 de agosto de 2016

Nuestro primer proyecto con Arduino

Bueno ya hemos tenido bastante teoría, vamos con la parte divertida. Vamos a tocar cacharritos.
Nuestro primer proyecto será simplemente un proyecto que enciende y apaga una luz, es algo extremadamente sencillo, pero nos permitirá explicar algunos conceptos importantes como: subir código al arduino, utilizar un puerto de entrada y salida, y conectar un led al sistema.

Objetivo:
El experimento es razonablemente sencillo para comenzar. Se trata de hacer que un led se encienda y apague cada 500 milisegundos o cada medio segundo que es lo mismo.

Materiales necesarios:


  • Placa Arduino UNO
  • Placa de pruebas (también llamada  breadboard o protoboard)
  • Un LED de color 
  • Resistencia de 330ohm
  • Cablecitos de conexión
Aquí os dejo una foto:




Esquema:
Primero vamos a entender el esquema del proyecto que vamos a utilizar.


Lo que vamos a hacer es un pequeño programa que en un bucle infinito encienda el led, espere 500 milisegundos, lo apague, espere otros 500 milisegundos y vuelva al principio.

Para encender y apagar el led utilizaremos uno de los puertos de entrada y salida de la placa arduino. Simplificándolo mucho, este puerto puede cambiar de estado y presentar en este un valor de tensión de -5V hasta +5V y hasta 40mA.
Con esto como podéis ver el esquema es muy sencillo, lo que vamos a hacer es conectar un led al puerto 13 de la placa arduino, que nos dará estos +5V, y la otra pata del led a GND lo que cerrará el circuito y hará que se encienda el led.

TIP: ¿Por que tenemos que poner una resistencia entre la salida digital (pin 13 del arduino) y la patilla del led?

La principal razón es para no "quemar" el led. El led es un diodo y nuestro puerto de arduino nos va a enviar 5V en esta patilla con hasta 40mA lo que puede fundir nuestro led en un segundo. La resistencia lo que va a hacer es dividir la tensión que tenemos en el led haciendo de esta manera que nunca lleguemos a ese máximo teórico del led y no los carguemos. El punto está en calcular cual debería ser la resistencia a utilizar, el consejo es que no utilicemos menos de 330ohm, si usamos una superior lo que veremos es que sigue luciendo pero con menor intensidad.

TIP: Cual es el "positivo" y cual el "negativo" del LED. Recordar esto, la patilla larga de los led es el anodo positivo, y la más corta pues el negativo. Y ya sabéis el positivo a los 5V y el negativo a GND, pero nunca os olvidéis de esa resistencia que va en serie.

Bien vamos a conectar entonces:

  • Utilizaremos un cable (rojo a ser posible) desde el pin 13 de la placa arduino a una fila de la protoboard
  • En la misma fila de la protoboard conectaremos la resistencia de entre 330ohm a 1kohm el valor que queramos
  • En la misma fila del otro extremo de la resistencia conectaremos el ánodo positivo (la pata larga) del led
  • La otra pata del led la conectaremos a otra fila diferente no usada (en mi caso a la columna negativa de la protoboard)
  • En la misma fila del cátodo negativo del led o en la columna de negativo de la protoboard como mi caso, conectaremos un cable hasta el pin GND de Arduino

Bien ya tenemos las conexiones, ahora vamos a preparar nuestro pequeño programa.

Programa:

Abrimos el IDE de nuestro arduino y pegamos el siguiente código:


int pinRojo = 13;                  // El LED rojo lo vamos a controla con el pin 13

void setup()                       // lo ejecutamos solo una vez al iniciar la placa
{
  pinMode(pinRojo, OUTPUT);        // configuramos el pin como Salida (OUTPUT)
}

void loop()                        // ejecutamos en un bucle infinito
{
  digitalWrite(pinRojo, HIGH);     // Encendemos el LED rojo
  delay(500);                      // esperamos 500 ms o medio segundo
  digitalWrite(pinRojo, LOW);       // Apagamos el LED rojo
  delay(500);                      // esperamos medio segundo
}                                  // reeeeeeeeepetimos

Como podéis ver el programa es bastante sencillo.


  • En primer lugar lo que haremos es definir en una variable el número del pin digital que vamos a utilizar en la placa arduino para encender y apagar el led. En este caso el 13.
  • Después de esto dentro del "void setup" inicializamos los parámetros de la placa que queramos, en nuestro caso vamos a configurar el pin 13 (el que definimos en la variable del paso anterior) como de tipo salida (OUTPUT). Ya veremos más adelante que significa esto.
  • A partir de aquí entramos en un loop infinito en el que se ejecutan los siguientes pasos:
    • Ponemos el pin en alto, o para entendernos con +5V
    • Esperamos 500 ms (esto es la instrucción delay)
    • Ponemos el pin en bajo, o para entendernos en +0V
    • Esperamos otros 500ms o medio segundo
    • Volvemos al paso inicial
Como podéis ver es algo extremadamente sencillo lo que estamos haciendo. Os animo a que hagáis vuestra primera práctica y me contéis que tal os ha ido.

Si os animáis os propongo los siguientes retos, que resolveré en el próximo articulo:

  • Cambiar el proyecto actual del pin 13 al pin 12, ¿os funciona? ¿como lo habéis hecho?
  • Añadir un par de LEDs mas de otro color y hacer que se enciendan y apaguen  del mismo modo

Disfrutar, cualquier duda estoy a vuestra disposición.

Saludos.