Sadržaj:

Završni projekat nosive tehnologije - DJ kaciga: 6 koraka
Završni projekat nosive tehnologije - DJ kaciga: 6 koraka

Video: Završni projekat nosive tehnologije - DJ kaciga: 6 koraka

Video: Završni projekat nosive tehnologije - DJ kaciga: 6 koraka
Video: ПОКУПАЙ НЕДВИЖИМОСТЬ У ПРОВЕРЕННЫХ ЗАСТРОЙЩИКОВ | Северный Кипр 2023 2024, Novembar
Anonim
Završni projekat nosive tehnologije - DJ kaciga
Završni projekat nosive tehnologije - DJ kaciga

Cilj ovog projekta je napraviti DJ kacigu sa LED diodama reaktivnom na muziku za show i wow faktor. Koristimo adresabilnu LED traku s Amazon.com, kao i kacigu za motocikle, Arduino uno i žicu.

Supplies

Materijali uključuju:

  • Adresibilna LED traka
  • Kaciga za motocikle
  • Arduino Uno
  • Žice i lemilica

Korak 1: Uključivanje LED dioda u zvuk

Za prvi korak testirat ćemo LED traku da reagira na zvuk, koristimo zvučnu ploču iz Sparkfuna i povezujemo je s Arduinom pomoću matične ploče i žice. Testirajući sa Arduino softverom, dobivamo dva očitanja koja možemo koristiti. Amplituda zvuka koji dolazi iz "Envelope" porta i binarno 1 /0 očitanje iz "gate" porta. Koristite ove varijable za mapiranje na adresibilnu LED traku, tada je "gate" na jednom, LED diode prikazuju određenu boju, kada je omotnica iznad određene razine, prikazuju određenu boju. Bit će dostavljen cijeli kod.

Korak 2: Izrežite i lemite LED diode u obliku kacige

Izrežite i lemite LED diode u obliku kacige
Izrežite i lemite LED diode u obliku kacige
Izrežite i lemite LED diode u obliku kacige
Izrežite i lemite LED diode u obliku kacige
Izrežite i lemite LED diode u obliku kacige
Izrežite i lemite LED diode u obliku kacige

Na svom projektu sam odlučio dodati LED diode u kacigu na X način s dodatnim trokutima izvana, planiram poboljšati taj dizajn s načinom na koji muzika svira. Dakle, ovaj korak se odnosi na rezanje LED traka na željenu dužinu i njihovo lemljenje zajedno na oznakama za rezanje kako biste napravili uglove. Morao sam to učiniti 10 -ak puta i oduzima puno vremena, posebno kada se radi o malim žicama. Ovo je napredak u ovom koraku

Korak 3: Ožičite i testirajte LED diode na kacigi

Ožičite i testirajte LED diode na kacigi
Ožičite i testirajte LED diode na kacigi
Ožičite i testirajte LED diode na kacigi
Ožičite i testirajte LED diode na kacigi

U ovom koraku povezao sam i testirao LED diode na arduinu, zvučnu ploču i izrezane LED diode kako bih se uvjerio da rezovi i lemljenje rade ispravno

Korak 4: Besplatna elektronika s pločice

Besplatna elektronika s pločice
Besplatna elektronika s pločice
Besplatna elektronika s pločice
Besplatna elektronika s pločice
Besplatna elektronika s pločice
Besplatna elektronika s pločice

U ovom koraku fokusirao sam se na skidanje sve elektronike s ploče. Zalemio sam sve žice koje je potrebno lemiti i produžio žice kacige tako da budete u mogućnosti nositi kacigu pričvršćenu na Arduino. Najvažnija stvar koju nisam mogao shvatiti je vanjsko napajanje, pokušao sam s baterijama u različitim konfiguracijama, ali ništa mi nije dalo rezultat koji mi je trebao, neki bi svjetla poludjeli, a neki bi bili različitih boja. Nažalost, to može biti posljedica mog poznavanja sklopova, ali odlučio sam zadržati snagu za Arduino koja dolazi s ploče računala. Zvučna ploča se napaja iz baterije i to dobro radi

Korak 5: Konačna konfiguracija

Final Configuration
Final Configuration

za ovaj posljednji korak, pročitao sam vrijednosti koje dolaze sa zvučne ploče i izmijenio kôd tako da odgovara novim vrijednostima koje su promijenile sve što je skinuto s ploče. Zalijepila sam LED trake na kacigu gdje su prije bile zalijepljene i na kraju sam ih ponovo testirala.

Korak 6: Kod (Arduino)

// NeoPixel Ring jednostavna skica (c) 2013 Shae Erisson

// Objavljeno pod licencom GPLv3 kako bi odgovaralo ostatku

// Adafruit NeoPixel biblioteka

#include

#ifdef _AVR_ #include // Potrebno za 16 MHz Adafruit Trinket #endif

// Koji je pin na Arduinu spojen na NeoPixels?

#define PIN 3 // Na Trinket -u ili Gemmi predložite promjenu na 1

// Koliko je NeoPixela priključeno na Arduino?

#define NUMPIXELS 166 // Popularna NeoPixel veličina prstena

Adafruit_NeoPixel pikseli (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

#define DELAYVAL 500 // Vrijeme (u milisekundama) za pauziranje između piksela

void setup () {

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

clock_prescale_set (clock_div_1); #endif // KRAJ specifičnog koda za Trinket.

pixels.begin (); // INICIALIZE NeoPixel strip objekt (OBAVEZNO)

Serial.begin (9600); }

void loop () {{100} {101}

int sensorValue = analogRead (A1);

int sensorValue2 = digitalRead (7); Serial.println (sensorValue); // kašnjenje (5); //pixels.clear (); // Sve boje piksela postavite na "isključeno"

if (sensorValue2 == 1) {

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

}

za (int i = 48; i <81; i ++) {piksela.setPixelColor (i, 15, 0, 50);

}

za (int i = 102; i <129; i ++) {piksela.setPixelColor (i, 15, 0, 50);

}

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

}

za (int i = 48; i <81; i ++) {piksela.setPixelColor (i, 0, 0, 0);

}

za (int i = 102; i <129; i ++) {piksela.setPixelColor (i, 0, 0, 0);

}

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

}

za (int i = 82; i <101; i ++) {piksela.setPixelColor (i, 255, 0, 0);

}

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

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

}

za (int i = 82; i <101; i ++) {piksela.setPixelColor (i, 0, 155, 155);

}

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

}

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

}

za (int i = 82; i <101; i ++) {piksela.setPixelColor (i, 0, 0, 0);

}

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

Preporučuje se: