Arduino LilyPad Duck Dynasty Hoodie con sonido y luces LED: 10 pasos

Arduino LilyPad Duck Dynasty Hoodie con sonido y luces LED: 10 pasos

Tabla de contenido:

Anonim

Hice una sudadera con capucha temática Duck Dynasty con un LilyPad Arduino que tiene 3 interruptores de sensor de cremallera para activar 3 acciones / programas diferentes en la parte posterior de la sudadera. La cremallera es la clave para activar estos interruptores, de modo que cuando la cremallera toca un interruptor, activa esa acción / programa específico. El primer interruptor activa una luz RGB que está debajo de la "D" en Duck Dynasty, el segundo interruptor activa una serie de luces LED parpadeantes debajo de los 4 caracteres, y el tercer interruptor activa el altavoz LilyPad que reproduce el Chorus of the Duck Dynasty tema de la canción (Sharp Dressed Man).

Para obtener más información sobre cómo coser un interruptor de cremallera, haga clic aquí

He adjuntado a continuación 3 videos cortos para que los vea y obtenga el efecto completo de cada cambio de cremallera en acción.

Suministros:

Paso 1: Lista de materiales

Materiales de elaboración:

• Sudadera con cremallera con una medalla (nota: asegúrese de que la cremallera sea realmente conductora)

• Camiseta grande o X-large Duck Dynasty (obtuve mi camiseta en Walmart y recorté “Duck Dynasty” y la imagen de los cuatro hombres de Roberson (caras). Querrás una camisa de mayor tamaño para cuando recorte la imagen y colóquela en su sudadera con capucha, se ajustará de acuerdo a la cantidad de espacio que tendrá en la parte posterior de la sudadera con capucha)

• Aguja de coser

• Crayón Blanco

• Tijeras

• Máquina de coser (o coser piezas de camiseta cortadas a mano si no tiene acceso a una)

• Hilo (cualquier color)

Materiales electrónicos:

• Tablero simple LilyPad Arduino

• 20 LEDs blancos de LilyPad

• Batería Li-Po

• LilyPad Zumbador

• Hilo conductor (no puedo decirte exactamente cuánto necesitarás; dependerá del tamaño de tu sudadera con capucha y del lugar donde colocarás los interruptores de cremallera y Arypino Lilypad. Utilicé unos 30 pies más).

• LilyPad FTDI Basic

• LilyPad Tricolor LED

• Cable USB Mini-B

• El controlador FTDI y el IDE de Arduino deben estar instalados en su computadora

Paso 2: Diagrama: Luz RGB

Primero corté las piezas de la camiseta que iba a usar y las coloqué en la parte de atrás de la sudadera con capucha donde las quería. Comencé haciendo mi plan de luz RGB. Dibujé un diagrama de dónde iba a coser los trozos de mi LilyPad y adjuntarlos a través de un hilo conductor para mi luz RGB. El objetivo del boceto es asegurarse de que no se crucen "cables" (puntos), porque entonces el producto final no funcionará, por lo que es una buena guía a seguir.

Este primer diagrama es específicamente para los circuitos de la luz RGB y el primer interruptor de cremallera para él. El lado izquierdo del mapa muestra el plan del circuito para el interruptor de cremallera (el círculo con el "+", "-", y "A2" es el Arduino LilyPad. Donde he marcado resistencias, esto es solo opcional para agregar. solo tiene el propósito de una conexión más fuerte, pero puede coser una línea de hilo conductor sólido sin ella y funcionará bien). El lado derecho del diagrama es el plano del circuito desde la luz RGB hasta el LilyPad.

Paso 3: Coser circuitos de luz RGB

Usando el diagrama del paso 2, diseñe su luz RGB y LilyPad y una puntada simple de sus circuitos desde su tablero Lilypad en los pines correctos hasta sus luces RGB.

(Luz RGB) R11 se conecta a 9 en LilyPad

(Luz RGB) B10 se conecta a 6 en LilyPad

(Luz RGB) G9 se conecta a 5 en LilyPad

Una vez que esté cosido, coser el interruptor de la cremallera:

El lado negativo del interruptor se conecta al negativo en LilyPad

El lado positivo del interruptor se conecta a A5 en LilyPad

Este será el interruptor de cremallera # 1. Cuando cose el interruptor por la cremallera, asegúrese de coser lo más cerca posible de la cremallera para que la cremallera metálica toque el hilo de su interruptor para que funcione. Cosa de un lado a otro muchas veces para que su interruptor tenga una conexión más fuerte.

Luego cosí el título de Duck Dynasty con una máquina de coser e hilo regular a lo largo de los bordes.

Paso 4: Diagrama: Zumbador LilyPad (Pin de altavoz)

Haz un mapa de tus circuitos para el LilyPad Buzzer. Acabo de agregar a mi diagrama RGB y dibujé mis circuitos positivo y negativo de mi timbre a mi LilyPad:

El lado negativo del zumbador se conectará a su negativo en el LilyPad

El lado positivo del zumbador se conectará a A2

Mapear el interruptor de cremallera # 2:

El lado negativo del interruptor se conectará al negativo del primer interruptor de cremallera.

El lado positivo del interruptor se conectará al A3 en LilyPad

Paso 5: Coser Circuitos LilyPad Zumbador (Pin de Altavoz)

Siga su diagrama del paso 4 para coser sus circuitos desde el timbre del Lilypad:

El lado negativo del zumbador se conectará a su negativo en el LilyPad

El lado positivo del zumbador se conectará a A2

Luego coser su interruptor de cremallera # 2:

El lado negativo del interruptor se conectará al negativo del primer interruptor de cremallera.

El lado positivo del interruptor se conectará al A3 en LilyPad

Paso 6: Diagrama: Luces LED

Dibujé donde quería todas mis luces LED. El patrón está alineado partes del contorno de los sombreros de cada personaje en el segundo corte de los hombres de Duck Dynasty. Planifiqué dónde iban a estar los lados positivo y negativo. NOTA: el lado negativo de todas las luces está orientado hacia la parte superior en mi diagrama, lo que hace que los aspectos positivos estén orientados hacia la parte inferior.

Todos los lados positivos de las luces LED se conectan a 10 en LilyPad

Los lados negativos de las luces LED se conectan al negativo en LilyPad

Mapear el interruptor de cremallera # 3:

El lado negativo del interruptor se conectará al negativo del primer interruptor de cremallera.

El lado positivo del interruptor se conectará al A4 en LilyPad

Paso 7: Coser circuitos de luces LED

Primero tomé el recorte de mi personaje de Duck Dynasty y lo coloqué en la parte trasera de la sudadera y con un crayón blanco dibujé un contorno en la sudadera donde necesitaba coser las luces LED. Utilicé esto como mi guía para coser primero todos los circuitos positivos de las luces LED que se conectan a 10 en el LilyPad. Luego completé la costura de todos los circuitos negativos en las luces LED para el negativo en el LilyPad.

NOTA: Debido a que esta es una conexión larga a través de las 20 luces LED, doble su costura con el hilo conductor. Incluso es posible que tenga que repasar los circuitos positivo y negativo un par de veces más para que las conexiones sean más fuertes, de modo que las luces se iluminen con más claridad en lugar de atenuarse.

Coser el interruptor de la cremallera # 3:

El lado negativo del interruptor se conectará al negativo del primer interruptor de cremallera.

El lado positivo del interruptor se conectará al A4 en LilyPad

Luego cosí con una máquina de coser con hilo regular en el recorte de los personajes que se alinean con las luces LED.

Paso 8: Programación

Aquí es donde se debe escribir toda la codificación para la luz RGB, el zumbador LilyPad para reproducir la canción del tema Duck Dynasty (hombre vestido de Sharp) y las luces LED para tener un patrón parpadeante. Estos solo se activan cuando la cremallera toca su interruptor de cremallera específico, por lo que también tenía que estar escrito en mi código.

Para programar la canción del tema Duck Dynasty tuve que buscar música de coro de piano en línea para obtener las notas exactas. Desde allí tomé esas notas y las traduje al código que hice en Arduino.cc/ed/tutorial/tone. Luego tuve que escribir la duración de la nota (qué tan rápido se iba a tocar cada nota).

Aquí está todo mi código escrito:

int whiteLeds = 10;

int redLed = 9;

int greenLed = 5;

int blueLed = 6;

int zipperswitch = A5;

int zipperswitch2 = A3;

int zipperswitch3 = A4;

int speakerPin = A2;

int r;

int g;

int b;

int fadeSpeed ​​= 1;

#include "pitches.h"

// notas en la melodía:

int melodía = {

NOTE_DS4, NOTE_DS4, 0, NOTE_DS4, NOTE_DS4, 0, NOTE_DS4, NOTE_DS4, NOTE_DS4, NOTE_C4, NOTE_DS4, NOTE_F4, NOTE_FS4, NOTE_FS4, NOTE_FS4, 0, NOTE_B4, NOTE_B4, NOTE_B4, NOTE_B4, NOTE_B4, NOTE_B4, NOTE_B4, NOTE_B4, NOTE_G3, NOTE_C4, 0, NOTE_C4, NOTE_FS4, NOTE_G4, NOTE_G4, NOTE_DS4, NOTE_C4, NOTE_C4, NOTE_G3, NOTE_AS3, NOTE_C4, NOTE_C4, 0, };

int noteDurations = {

4, 4, 2, 4, 4, 2, 8, 2.7, 8, 8, 8, 8, 4, 4, 8, 8, 8, 4, 8, 8, 8, 8, 8, 8, 8, 4, 4, 4, 8, 8, 4, 8, 8, 8, 8, 4, 4, 2, 1 };

para ir más rápido o más lento

configuración vacía () {

pinMode (whiteLeds, SALIDA);

pinMode (redLed, SALIDA);

pinMode (greenLed, SALIDA);

pinMode (blueLed, SALIDA);

pinMode (speakerPin, SALIDA);

pinMode (zipperswitch, INPUT_PULLUP);

pinMode (zipperswitch2, INPUT_PULLUP);

pinMode (zipperswitch3, INPUT_PULLUP);

}

bucle de vacío () {

if ((digitalRead (zipperswitch) == 0)) {

colorFade ();

rLEDFade ();

gLEDFade ();

bLEDFade ();

} else {

digitalWrite (redLed, 1);

digitalWrite (greenLed, 1);

digitalWrite (blueLed, 1);

}

if ((digitalRead (zipperswitch2) == 0)) {

Dinastía de pato ();

} else {

digitalWrite (speakerPin, LOW);

}

if ((digitalRead (zipperswitch3) == 0)) {

digitalWrite (whiteLeds, HIGH);

retraso (500);

digitalWrite (whiteLeds, LOW);

retraso (500);

}más{

digitalWrite (whiteLeds, LOW);

}

void digitalColor ()

{

digitalWrite (redLed, LOW);

digitalWrite (blueLed, HIGH);

digitalWrite (greenLed, HIGH);

retraso (500);

digitalWrite (redLed, HIGH);

digitalWrite (blueLed, HIGH);

digitalWrite (greenLed, LOW);

retraso (500);

digitalWrite (redLed, HIGH);

digitalWrite (blueLed, LOW);

digitalWrite (greenLed, HIGH);

retraso (500);

digitalWrite (redLed, HIGH);

digitalWrite (blueLed, HIGH);

digitalWrite (greenLed, HIGH);

retraso (1000);

}

void analogColor ()

{

analogWrite (redLed, 0);

analogWrite (blueLed, 255); //rojo

analogWrite (greenLed, 255);

retraso (1000);

analogWrite (redLed, 255);

analogWrite (blueLed, 255); //verde

analogWrite (greenLed, 0);

retraso (1000);

analogWrite (redLed, 255);

analogWrite (blueLed, 0); //azul

analogWrite (greenLed, 255);

retraso (1000);

analogWrite (redLed, 0);

analogWrite (blueLed, 0); //púrpura

analogWrite (greenLed, 255);

retraso (1000);

analogWrite (redLed, 0);

analogWrite (blueLed, 255); //naranja

analogWrite (greenLed, 0);

retraso (1000);

analogWrite (redLed, 255);

analogWrite (blueLed, 0); // verde azulado

analogWrite (greenLed, 0);

retraso (1000);

analogWrite (redLed, 255);

analogWrite (blueLed, 255); //apagado

analogWrite (greenLed, 255);

retraso (1000);

}

void rLEDFade ()

{

analogWrite (blueLed, 255);

analogWrite (greenLed, 255);

analogWrite (redLed, 255);

para (r = 255; r> 0; r--) {

analogWrite (redLed, r);

retraso (fadeSpeed);

}

para (r = 0; r <256; r ++) {

analogWrite (redLed, r);

retraso (fadeSpeed);

}

}

void gLEDFade ()

{

analogWrite (blueLed, 255);

analogWrite (greenLed, 255);

analogWrite (redLed, 255);

para (g = 255; g> 0; g--) {

analogWrite (greenLed, g);

retraso (fadeSpeed);

}

para (g = 0; g <256; g ++) {

analogWrite (greenLed, g);

retraso (fadeSpeed);

}

}

void bLEDFade ()

{

analogWrite (blueLed, 255);

analogWrite (greenLed, 255);

analogWrite (redLed, 255);

para (b = 255; b> 0; b--) {

analogWrite (blueLed, b);

retraso (fadeSpeed);

}

para (b = 0; b <256; b ++) {

analogWrite (blueLed, b);

retraso (fadeSpeed);

}

}

void colorFade ()

{

analogWrite (blueLed, 0);

para (r = 255; r> 0; r--) {

analogWrite (redLed, r);

retraso (fadeSpeed);

}

para (b = 0; b <256; b ++) {

analogWrite (blueLed, b);

retraso (fadeSpeed);

}

para (g = 255; g> 0; g--) {

analogWrite (greenLed, g);

retraso (fadeSpeed);

}

para (r = 0; r <256; r ++) {

analogWrite (redLed, r);

retraso (fadeSpeed);

}

para (b = 255; b> 0; b--) {

analogWrite (blueLed, b);

retraso (fadeSpeed);

}

para (g = 0; g <256; g ++) {

analogWrite (greenLed, g);

retraso (fadeSpeed);

}

analogWrite (blueLed, 255);

retraso (500);

}

vacío DuckDynasty ()

{

para (int thisNote = 0; thisNote <40; thisNote ++) {

int noteDuration = 1500 / noteDurations thisNote;

tono (speakerPin, melodía thisNote, noteDuration);

int pauseBetweenNotes = noteDuration * 1.30;

retraso (pauseBetweenNotes);

noTone (speakerPin);

}

}

Paso 9: Sube el Código

Ahora que ha escrito su código, conecte la batería a la placa LilyPad para que pueda cargarse cuando esté conectado a su computadora. Con la tarjeta de ruptura FTDI, conecte su tarjeta LilyPad a su computadora mediante el cable mini USB. Habrá una luz naranja cuando la batería se esté cargando, por lo que sabrá que la conexión está funcionando.

Importe (o copie y pegue) su código en el IDE de Arduino y cargue el código en su tablero. ¡Deberia de funcionar!

Paso 10: ¡Has terminado!

Voila! ¡Ya terminaste con una sudadera Duck Dynasty Hoodie con 3 interruptores de cremallera que activan 3 acciones / programas diferentes! Disfrútalo o puedes dar esto como regalo a alguien que sabes que es un gran fan. Esto puede haber sido un largo proceso de costura, esbozo de diagramas y codificación, pero me pareció un proyecto divertido y desafiante.

A continuación se adjuntan videos de cada cremallera que cambian sus acciones de luz y sonido.

Interruptor # 1: luz RGB

Switch # 2: LilyPad Buzzer- Duck Dynasty Theme Song

Interruptor # 3: luces LED parpadeantes