Aprovechando que las navidades están a la vuelta de la esquina, en esta quinta sesión vamos a realizar nuestro primer miniproyecto: un árbol de navidad arduino o bien un snowman arduino.
El punto fuerte de este miniproyecto es que va a ser portable y por tanto lo podréis llevar de un sitio a otro de vuestra casa gracias a una batería externa usb que nos alimentará nuestro arduino, y que evitará gasto en pilas. El esquema de montaje así como este mismo artículo con toda la información ampliada la podéis encontrar en http://openlanuza.com/navidades-arduinas/
Nuestro montaje también será un montaje económico puesto que en la versión más básica sólo vamos a utilizar 6 leds. Pero en primer lugar debemos fabricarnos nuestra propia maqueta, a partir de la cual colocaremos los leds en los lugares que estimemos oportuno. Podéis echar un vistazo a nuestra propuesta para coger ideas.
Una vez tengamos todo preparado, nos ocupamos de la parte trasera, que es donde irá todo el cableado. Unos cuantos consejos para ello:
- escoge los lugares donde quieres hacer los agujeros e introduce la cabeza de los leds.
- mide aproximadamente la longitud de los cables que necesitas y córtalos a medida. Para cada uno de los leds tendremos un cable que irá a una resistencia (ésta es la patita corta) y otro cable que irá a la salida digital.
- pela ambos extremos de cada cable para poder conectarlos correctamente.
- enrolla los cables a las patas adecuadas en cada led. En algún caso, como nosotros en los ojos, podemos conectar nuestros leds de dos en dos. Para ello primero tendremos que hacer dos puentes para unir los polos negativos y positivos de nuestros leds.
- monta el puente a masa para conectar las resistencias.
- conecta a este puente una de las patas de cada una de las resistencias que vayamos a conectar
- en la otra pata de las resistencias iremos colocando los cables de masa de los leds, los de la patita corta.
- para los cables que irán a las salidas digitales, tienes dos opciones. Una sería bajar el cable hasta la placa de prototipado, y de aquí hacer un puente hasta las salidas digitales de nuestro arduino. La otra opción es llevar los cables directamente a las salidas digitales del arduino.
- pega tapando con celo las conexiones al cartón que te sirve de soporte de tu miniproyecto. De esta forma evitaremos que se muevan los cables, se desconecten o que se salga los leds de sus agujeros correspondientes en nuestra maqueta.
Con todo el montaje preparado, sólo nos queda el código, que en este caso es muy sencillo ya que sólo es encender y apagar una serie de leds, y ésto ya lo hemos visto anteriormente. Aprovecharemos la sencillez del código para introducir el concepto de bucle para optimizar nuestro código, aprovechando que se repiten muchas instrucciones de apagar y encender y sus respectivas pausas. Sería el siguiente:
int led1=1;
int led2=2;
int led3=3;
int led4=4;
int led5=5;void setup() {
// put your setup code here, to run once:for(int i=1;i<=5;i++)
{
pinMode(i,OUTPUT);
}/*
pinMode(1,OUTPUT);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
*/
}void loop() {
//Ojos//
digitalWrite(led5,HIGH);
//Boca
digitalWrite(led4,HIGH);
//Cuerpo//
for(int i=1;i<=3;i++)
{
delay(500);
digitalWrite(i,HIGH);
delay(500);
digitalWrite(i,LOW);
}}
Especial atención al bucle FOR que nos va a servir para no tener que repetir instrucciones. Por ejemplo, el bucle FOR que utilizamos para inicializar nuestras 5 salidas digitales y ponerlas en OUTPUT tiene la siguiente estructura:
for(int i=1;i<=5;i++)
{
pinMode(i,OUTPUT);
}
Todo bucle y función empieza y acaba con corchetes { } para indicar donde empieza y acaba el código que encierra dentro. Tiene 3 partes fundamentales
- int it=1, donde estamos declarando la variable «i» de tipo entero y con un valor inicial «1».
- i<=5, condición de salida del bucle que será cuando la variable «i» tenga el valor 6
- i++, instrucción utilizada para incrementar en 1 el valor de la variable «i» tras cada paso por el bucle.
De esta forma, nuestra variable «i» va a variando su valor desde su valor inicial 1 hasta 5 en cada una de las repeticiones del bucle, de tal forma que la instrucción pinMode(i,OUTPUT) en cada repetición del bucle irá poniendo en modo OUTPUT la salida digital correspondiente, desde la 1, hasta la 5, ambas inclusive.
En el segundo bucle lo utilizaremos con la misma intención pero sólo para trabajar los leds conectados a las 3 primeras salidas digitales.
Y como siempre, nuestro reto final. En esta ocasión os animamos a presentar vuestros proyectos navideños con arduino en twitter con el hashtag #navidadesarduinas.
Os dejamos con Héctor Lizar que nos va a contar todo el proceso de montaje: