Taula de continguts:

Projecte final Wearable Tech: casc per a DJ: 6 passos
Projecte final Wearable Tech: casc per a DJ: 6 passos

Vídeo: Projecte final Wearable Tech: casc per a DJ: 6 passos

Vídeo: Projecte final Wearable Tech: casc per a DJ: 6 passos
Vídeo: Timelapse Final Fantasy Gunblade Printed on a CR-30 2024, Desembre
Anonim
Projecte final de tecnologia Wearable: casc de DJ
Projecte final de tecnologia Wearable: casc de DJ

L'objectiu d'aquest projecte és fer que un casc de DJ amb LEDs sigui reactiu a la música per al factor espectacle i wow. Utilitzem una tira LED dirigible d’Amazon.com, així com un casc de moto, un Arduino uno i cable.

Subministraments

Els materials inclouen:

  • Tira LED dirigible
  • Casc de moto
  • Arduino Uno
  • Filferros i soldador

Pas 1: aconseguir que els LED reaccionin al so

Per al primer pas, provarem que la tira LED reaccioni al so, utilitzem la placa de so de Sparkfun i la connectem a l'Arduino mitjançant una placa de fil i un cable. Provant amb el programari Arduino, obtenim dues lectures que podem utilitzar. L'amplitud del so provinent del port "Envelope" i la lectura binària 1/0 del port "gate". Utilitzeu aquestes variables per assignar-vos a la tira de led adreçable, i després "porta" es troba en un, els LEDS mostren un color determinat, quan el sobre es troba per sobre d'un nivell determinat, mostren un color determinat. Es proporcionarà el codi complet.

Pas 2: tallar i soldar els LED per donar forma al casc

Tallar i soldar LEDs per donar forma al casc
Tallar i soldar LEDs per donar forma al casc
Tallar i soldar LEDs per donar forma al casc
Tallar i soldar LEDs per donar forma al casc
Tallar i soldar LEDs per donar forma al casc
Tallar i soldar LEDs per donar forma al casc

En el meu projecte, vaig decidir afegir els LED al casc de manera X amb triangles addicionals a la part exterior, penso que aquest disseny funcioni millor amb la manera de tocar la música. Per tant, aquest pas consisteix a tallar les tires LED a les longituds desitjades i soldar-les juntes a les marques de tall per fer cantonades. Vaig haver de fer-ho unes deu vegades i em suposa molt temps, sobretot quan es tracta de cables petits. Aquest és el progrés en aquest pas

Pas 3: connecteu i proveu els LED del casc

Connecteu i proveu els LED del casc
Connecteu i proveu els LED del casc
Connecteu i proveu els LED del casc
Connecteu i proveu els LED del casc

En aquest pas, he connectat i provat els LEDs de l'arduino, la placa de so i els LED de tall per assegurar-me que els talls i la soldadura funcionaven correctament.

Pas 4: electrònica gratuïta des de taulers de pa

Electrònica gratuïta des de taulers de pa
Electrònica gratuïta des de taulers de pa
Electrònica gratuïta des de taulers de pa
Electrònica gratuïta des de taulers de pa
Electrònica gratuïta des de taulers de pa
Electrònica gratuïta des de taulers de pa

En aquest pas, em vaig centrar a treure tota l'electrònica de la taula de treball. He soldat tots els cables que calia soldar i he allargat els cables del casc perquè siguin llargs perquè pugueu portar el casc del casc connectat a l’Arduino. El més important que no vaig poder esbrinar va ser l’alimentació externa, vaig provar bateries en diferents configuracions, però res no em donaria el resultat que necessitava, algunes faria que els llums es tornessin bojos i d’altres els fessin de diferents colors. Malauradament, això pot ser degut al meu coneixement dels circuits, però vaig optar per mantenir l'alimentació de l'Arduino des de la placa del PC. La placa de so funciona amb una bateria i funciona bé

Pas 5: configuració final

Configuració final
Configuració final

per a aquest darrer pas, vaig llegir els valors que provenien de la placa de so i vaig modificar el codi perquè coincidís amb els nous valors que en canviaven un. Vaig enganxar les tires LED al casc on abans havien estat gravades i finalment vaig tornar a provar.

Pas 6: Codi (Arduino)

// NeoPixel Ring simple sketch (c) 2013 Shae Erisson

// Llançat sota la llicència GPLv3 per coincidir amb la resta de fitxers

// Biblioteca Adafruit NeoPixel

#incloure

#ifdef _AVR_ #include // Required for 16 MHz Adafruit Trinket #endif

// Quin pin de l'Arduino està connectat als NeoPixels?

#define PIN 3 // A Trinket o Gemma, suggeriu canviar-lo a 1

// Quants NeoPixels estan connectats a l'Arduino?

#define NUMPIXELS 166 // Mida popular de l'anell NeoPixel

Adafruit_NeoPixel píxels (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

#define DELAYVAL 500 // Temps (en mil·lisegons) per fer una pausa entre píxels

configuració nul·la () {

#if definit (_ AVR_ATtiny85_) && (F_CPU == 16000000)

clock_prescale_set (clock_div_1); #endif // FIN del codi específic de Trinket.

pixels.begin (); // INICIALITZAR NeoPixel strip object (OBLIGATORI)

Serial.begin (9600); }

bucle buit () {

int sensorValue = analogRead (A1);

int sensorValue2 = digitalRead (7); Serial.println (sensorValue); // retard (5); //pixels.clear (); // Estableix tots els colors de píxels a "off"

if (sensorValue2 == 1) {

for (int i = 0; i <28; i ++) {pixels.setPixelColor (i, 15, 0, 50);

}

per a (int i = 48; i <81; i ++) {pixels.setPixelColor (i, 15, 0, 50);

}

per a (int i = 102; i <129; i ++) {pixels.setPixelColor (i, 15, 0, 50);

}

per a (int i = 148; i <166; i ++) {pixels.setPixelColor (i, 15, 0, 50); }} //////////////////////////// else {for (int i = 0; i <28; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

for (int i = 48; i <81; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

per a (int i = 102; i <129; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

per a (int i = 148; i <166; i ++) {pixels.setPixelColor (i, 0, 0, 0); }} //////////////////////////// if (sensorValue == 3 || sensorValue == 2) {for (int i = 29; i <47; i ++) {pixels.setPixelColor (i, 255, 0, 0);

}

per a (int i = 82; i <101; i ++) {pixels.setPixelColor (i, 255, 0, 0);

}

for (int i = 130; i <148; i ++) {pixels.setPixelColor (i, 255, 0, 0);

} pixels.show (); } if (sensorValue> 3) {for (int i = 29; i <47; i ++) {pixels.setPixelColor (i, 0, 155, 155);

}

per a (int i = 82; i <101; i ++) {pixels.setPixelColor (i, 0, 155, 155);

}

for (int i = 130; i <148; i ++) {pixels.setPixelColor (i, 0, 155, 155);

}

pixels.show (); } else {for (int i = 29; i <47; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

per a (int i = 82; i <101; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

for (int i = 130; i <148; i ++) {pixels.setPixelColor (i, 0, 0, 0);} pixels.show (); }}

Recomanat: