Este es un tutorial rápido para empezar a coser un simple circuito y controlar LEDS, usando la placa Arduino LilyPad. No aprenderás cómo crear tus propios programas para Arduino, pero podrás conectarás 9 LEDs a la tarjeta Lilypad (uno a cada pin excepto los pines + y -), y cargarás el código propuesto para cambiar la forma en que las luces se moverán y parpadearán.
Los materiales que necesitarás son los siguientes:
- Hilo Conductor
- LilyPad LEDs (9). En nuestro sitio puedes encontrar azules, verdes, rojos y amarillos
- LilyPad Arduino Board
- Tarjeta FTDI
- Cable Mini USB
- Batería de Polímero de Litio
- Telas, Ropa o algún otro proyecto
- Arduino IDE
Recomendado (pero no necesario):
- Bastidor
En primer lugar, visita la página http://arduino.cc/en/Main/Software y descarga el software de Arduino si es que aún no lo tienes. Es gratis y es bastante sencillo de usar, pero si es que terminas todo el proceso de cosido primero y luego tienes que detenerte a instalar el software antes de ver si es que funciona… ¡eso sería muy frustrante! Sigue las guías de instalación aquí: http://arduino.cc/en/Guide/HomePage y cuando estés listo para instalar los drivers FTDI, asegúrate de seguir la guía “Arduino Duemilanove Driver Installation Guide”. Cuando esté todo instalado y puedas abrir Arduino IDE, estarás listo para empezar a coser!
Echa un vistazo a tu placa LilyPad – tiene 11 pads que pueden ser conectados a cualquier cantidad de dispositivos interesantes. En este tutorial sólo vamos a controlar luces, pero recuerda que la placa Arduino es una herramienta muy versátil. Puede ser usada para controlar la actividad de sensores, motores, buzzers, motores de vibración – cualquier dispositivo que puedas comprar en una placa LilyPad, y muchas cosas más. En este caso usaremos 9 LEDs porque la placa tiene 9 pads (sin contar los pads + y -).
Para comenzar, enhebra tu aguja con el hilo conductor, y cose tu placa sobre la tela que quieras, en el agujero titulado “5” en la placa.

Ahora hilvana un hilo desde este punto hacia donde quieras que esté tu primer LED, luego cóselo al pad positivo de tu LED.

Enrolla y corta tu hilo. Luego continúa con el siguiente pad que quieras utilizar. Lo más sencillo es continuar con un pad del otro lado de la placa, para que ésta quede bien afirmada por ambos lados. Hilvana un hilo desde el pad hacia donde quieras que esté el LED correspondiente, y una vez más, cóselo al pad positivo del LED.

Repite este proceso para cada uno de los pads excepto los llamados + y -. En este caso se cosieron los LEDs en un patrón radial – puedes cambiar el patrón, pero recuerda no cruzar ninguno de los hilos. El hilo conductor no es aislado, por lo que si los puntos de 2 hilos se cruzan, los 2 LEDs correspondientes recibirán la corriente que debería recibir 1 sólo.

Ahora sólo faltan 2 pads.

Cose el pad llamado “ground” e hilvánalo hacia el pad “-” del LED más cercano. No necesitas hacer un nudo y cortar esta línea de puntos – continúa con el próximo LED, y el próximo, hasta el último, asegurándote de nunca cruzar el hilo “+” con el hilo “-“.
Cuando llegues al último LED, anúdalo y corta el hilo. Ahora deberías tener los 9 LEDs con sus pads positivos conectados a los pads de la placa Arduino, y todos conectados en una línea contigua entre ellos hacia el pad “ground”.

Así se ve el circuito desde la parte posterior – notar que ninguna línea positiva está en contacto con otra línea positiva, mientras que todas las negativas sí. (Entre sí).

Ahora ya está lista la parte de cosido – el circuito está terminado. Conecta la placa FTDI con los headers (conectores) de la placa LilyPad Arduino y el extremo Mini-USB de tu cable con la placa FTDI como sigue:

Y el otro extremo (USB) del cable en el puerto USB de tu computador.

Ahora cargarás el programa. Si es que todavía no has instalado Arduino IDE en tu computador, tendrás que hacerlo ahora. Cuando abras Arduino IDE, verás una ventana como esta:

Asegúrate de seleccionar la placa correcta.

¡Ahora es momento de cargar el programa que controlará tus luces!
Este es el código que usarás:
#define LED1 5 #define LED2 6 #define LED3 9 #define LED4 10 #define LED5 11 #define LED6 16 #define LED7 17 #define LED8 18 #define LED9 19 #define interval 11000 #define dead_time 1000 unsigned long PWM_counter = 0; int offset = 0; int step_size = 200; unsigned long on_time = 0; unsigned long cycle_start = 0; char dir = 1; int offset2 = 0; int step_size2 = 200; unsigned long on_time2 = 0; unsigned long cycle_start2 = 0; char dir2 = 1; byte LED_tracker1 = 1; byte LED_tracker2 = 1; void setup() { Serial.begin(57600); pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); pinMode(LED4, OUTPUT); pinMode(LED5, OUTPUT); pinMode(LED6, OUTPUT); pinMode(LED7, OUTPUT); pinMode(LED8, OUTPUT); pinMode(LED9, OUTPUT); offset = random(2500,7500); offset2 = random(2500,7500); } void loop() { PWM_counter = micros(); if( (PWM_counter + offset - cycle_start) >= interval) { // completed cycle, start over on_time += step_size*dir; cycle_start = PWM_counter; if (on_time >= (interval - dead_time) ) { dir *= -1; on_time = interval - dead_time; } else if (on_time <= 0) { on_time = 0; dir *= -1; LED_tracker1 = LED_tracker2; while (LED_tracker1 == LED_tracker2) LED_tracker1 = random(1,10); offset2 = random(0,4000); } } else if( (PWM_counter + offset - cycle_start) >= (dead_time + on_time) ) { // time to switch LED off //digitalWrite(LED1, LOW); LED_off(LED_tracker1); } else if( (PWM_counter + offset - cycle_start) >= dead_time) { // time to switch LED on //digitalWrite(LED1, HIGH); LED_on(LED_tracker1); } if( (PWM_counter + offset2 - cycle_start2) >= interval) { // completed cycle, start over on_time2 += step_size2*dir2; cycle_start2 = PWM_counter; if (on_time2 >= (interval - dead_time) ) { dir2 *= -1; on_time2 = interval - dead_time; } else if (on_time2 <= 0) { on_time2 = 0; dir2 *= -1; LED_tracker2 = LED_tracker1; while (LED_tracker2 == LED_tracker1) LED_tracker2 = random(1,10); offset2 = random(0,4000); } } else if( (PWM_counter + offset2 - cycle_start2) >= (dead_time + on_time2) ) { // time to switch LED off //digitalWrite(LED1, LOW); LED_off(LED_tracker2); } else if( (PWM_counter + offset2 - cycle_start2) >= dead_time) { // time to switch LED on //digitalWrite(LED1, HIGH); LED_on(LED_tracker2); } } void LED_on(byte LED) { if (LED == 1) digitalWrite(LED1, HIGH); if (LED == 2) digitalWrite(LED2, HIGH); if (LED == 3) digitalWrite(LED3, HIGH); if (LED == 4) digitalWrite(LED4, HIGH); if (LED == 5) digitalWrite(LED5, HIGH); if (LED == 6) digitalWrite(LED6, HIGH); if (LED == 7) digitalWrite(LED7, HIGH); if (LED == 8) digitalWrite(LED8, HIGH); if (LED == 9) digitalWrite(LED9, HIGH); } void LED_off(byte LED) { if (LED == 1) digitalWrite(LED1, LOW); if (LED == 2) digitalWrite(LED2, LOW); if (LED == 3) digitalWrite(LED3, LOW); if (LED == 4) digitalWrite(LED4, LOW); if (LED == 5) digitalWrite(LED5, LOW); if (LED == 6) digitalWrite(LED6, LOW); if (LED == 7) digitalWrite(LED7, LOW); if (LED == 8) digitalWrite(LED8, LOW); if (LED == 9) digitalWrite(LED9, LOW); }
Copia y pega este código entero, en la ventana de Arduino IDE. Luego haz click en el botón Upload.

Y echa un vistazo a la caja negra en la parte inferior de Arduino IDE.

Si es que obtuviste un mensaje de error color rojo, verifica tu puerto com. Puedes hacer esto abriendo el menú y desconectando el cable que comunica tu computador con la placa FTDI. Fíjate en el nombre del puerto que desaparece, luego vuelve a conectar el cable USB a tu computador y selecciona ese puerto.

A menos que suceda algún error, ahora deberías tener 9 luces generando un rápido efecto de fading y centelleo. Finalmente desconecta la placa FTDI desde la placa Arduino, conecta la batería y enciende el switch para probar el proyecto. Este circuito fue usado para crear este vislumbrante vestido de cocktail, pero puedes aplicarlo a lo que quieras – usa tu creatividad!
