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 } // reeeeeeeeepetimosComo 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.