Sadržaj:

Prijenosna svjetla za zabave: 12 koraka (sa slikama)
Prijenosna svjetla za zabave: 12 koraka (sa slikama)

Video: Prijenosna svjetla za zabave: 12 koraka (sa slikama)

Video: Prijenosna svjetla za zabave: 12 koraka (sa slikama)
Video: Maja Marinkovic pesma koreografija 💃 2024, Studeni
Anonim
Image
Image
Ideja
Ideja

Tinkercad projekti »

Možete li unijeti svjetlo u zabavu i učiniti je zabavnijom?

To je bilo pitanje. A odgovor je DA (naravno).

Ova instrukcija govori o izradi prijenosnog uređaja koji sluša glazbu i stvara vizualizaciju glazbe od koncentričnih prstenova Neopixel LED dioda.

Pokušalo se učiniti da uređaj "zaigra", tj. Pomakne se u ritmu glazbe, no otkrivanje otkucaja pokazalo se kao složeniji zadatak nego što zvuči (bez namjere igre riječi), pa je "plesanje" pomalo neugodno, ali još uvijek postoji.

Uređaj ima omogućen Bluetooth i reagirat će na tekstualne naredbe. Nisam imao vremena za pisanje aplikacije za upravljanje Party Lights (Android ili iOS). Ako ste na visini zadatka - javite mi !!!

Ako vam se sviđa ovo uputstvo, glasajte za njega na natječaju Make It Glow!

Pribor

Za izradu Party Lights trebat će vam:

  • STM32F103RCBT6 Leaflabs Leaf Maple Mini USB ARM Cortex -M3 modul za Arduino (link ovdje) - mozak uređaja. Ovi relativno jeftini uređaji su toliko moćni da je nejasno zašto biste se ikada vratili na Arduino.
  • MSGEQ7 Band Grafički ekvilajzer IC DIP-8 MSGEQ7 (veza ovdje)
  • HC-05 ili HC-06 Bluetooth modul (veza ovdje)
  • Adafruit MAX9814 mikrofon (veza ovdje)
  • Standardni servo motor (veza ovdje) želite li da vaš uređaj "pleše"
  • CJMCU 61 -bitna WS2812 5050 RGB LED ploča za razvoj upravljačkih programa (link ovdje)
  • TTP223 Modul dodirnog ključa Kapacitivna podesiva ploča za samozaključavanje/blokiranje bez zaključavanja (veza ovdje)
  • Ultra kompaktni dvostruki USB izlazi od 5000 mah Super tanka banka napajanja (link ovdje)

  • Otpornici, kondenzatori, žice, ljepilo, vijci, ploče za izradu prototipa itd. Itd.

Korak 1: Ideja

Ideja
Ideja

Ideja je imati prijenosni uređaj koji bi se mogao postaviti blizu izvora glazbe i koji bi stvorio šarene vizualizacije glazbe. Trebali biste moći kontrolirati ponašanje uređaja putem gumba (dodir) i Bluetootha.

Trenutno Party Lights ima 7 implementiranih vizualizacija (javite mi ako imate još ideja!):

  1. Koncentrični šareni krugovi
  2. Malteški križ
  3. Pulsirajuća svjetla
  4. Kamin (meni osobno najdraži)
  5. Svjetla za trčanje
  6. Svjetlo drveće
  7. Bočni segmenti

Prema zadanim postavkama, uređaj će svake minute prolaziti kroz vizualizacije. Međutim, korisnik se može odlučiti za jednu vizualizaciju i/ili ručno kretanje kroz nju.

Vizualizacije koje zakreću paletu boja također se mogu "zamrznuti" ako se korisniku sviđa određena kombinacija boja.

I kao par dodatnih kontrola, korisnik može promijeniti osjetljivost mikrofona i omogućiti/onemogućiti "dance" način rada servo motora.

Korak 2: Shematska i zvučna obrada

Shematska i zvučna obrada
Shematska i zvučna obrada
Shematska i zvučna obrada
Shematska i zvučna obrada
Shematska i zvučna obrada
Shematska i zvučna obrada
Shematska i zvučna obrada
Shematska i zvučna obrada

Shematska datoteka prevrtanja uključena je u paket na Githubu u podmapu "datoteke".

U osnovi, MSEQ7 čip vrši obradu zvuka, dijeleći audio signal na 7 opsega: 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz i 16kHz

Mikrokontroler koristi tih 7 pojaseva za stvaranje različitih vizualizacija, u osnovi preslikavajući odgovarajuće amplitude pojasa u jačinu LED svjetla i kombinacije boja.

Izvor zvuka je mikrofon s 3 razine kontrole pojačanja. Možete se kretati kroz postavke pojačanja pomoću jedne od tipki, ovisno o udaljenosti/glasnosti izvora zvuka.

Mikrokontroler također pokušava izvesti "beat" detekciju na 63Hz "bas" opsegu. Još uvijek radim na pouzdanom načinu otkrivanja i održavanja poravnanja ritma.

Korištenje "touch" gumba bilo je eksperiment. Mislim da rade prilično dobro, međutim, nedostatak povratnih informacija novinara donekle je zbunjujući.

Korak 3: LED kotačić

LED kotač
LED kotač
LED kotač
LED kotač
LED kotač
LED kotač

Jezgra vizualizacije je 61 LED kotač.

Imajte na umu da dio dolazi kao pojedinačni prstenovi koje ćete morati sastaviti. Prije sam mislio da su bakrene žice za dalekovode (koje također lijepo drže prstenove zajedno) i tanke signalne žice.

LED diode su označene brojevima od 0 do 60 počevši od donje vanjske LED diode i idu prema smjeru kazaljke na satu prema unutra. Središnja LED dioda je broj 60.

Svaka vizualizacija oslanja se na dvodimenzionalne nizove podataka, koji preslikavaju svaku LED diodu u određeni položaj za ciljni segment vizualizacije.

Na primjer, za koncentrične krugove postoji 5 segmenata:

  • Vanjski krug, LED diode dugačke 0 - 23, 24 LED diode
  • Drugi vanjski krug, LED diode 24 - 39, dugačke 16 LED
  • Treći krug (u sredini), LED diode 40 - 51, dugačke 12 LED dioda
  • Drugi unutarnji krug, LED diode 52 - 59, dugačke 8 LED dioda
  • Unutrašnja LED, LED 60, 1 LED duga

Vizualizacija prikazuje 5 od 7 audio kanala i progresivno svijetli LED diode prema njihovom položaju u kružnom pojasu proporcionalno razini zvuka u pojasu.

Druge vizualizacije koriste različite strukture podataka i formate, ali ideja je uvijek imati vizualizacije koje pokreću nizovi podataka, a ne toliko kôd. Na ovaj način vizualizacije se mogu prilagoditi različitim oblicima (više ili manje LED dioda, više EQ opsega) bez promjene koda, samo vrijednosti u nizovima podataka.

Na primjer, ovako struktura skice za vizualizaciju 1 izgleda na skici:

// Vizualizacija 1 i 3 - punih 5 bajtova za krug TOTAL_LAYERS1 = 5; const byte LAYERS1 [TOTAL_LAYERS1] [25] = {// 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 {24, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}, {16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39}, {12, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51}, {8, 52, 53, 54, 55, 56, 57, 58, 59}, {1, 60}};

Korak 4: Vizualizacije

Vizualizacije
Vizualizacije
Vizualizacije
Vizualizacije
Vizualizacije
Vizualizacije
Vizualizacije
Vizualizacije

Do sada postoji 7 vizualizacija i početna animacija:

Animacija pri pokretanju

Kad je uređaj uključen, prikazuje se imitacija vatrometa. Ovo je trebao biti LED i Servo test niz, ali je kasnije evoluirao u animiranu verziju takvog testa

Koncentrični šareni krugovi

Svjetla se oko ekrana kreću u koncentričnim krugovima proporcionalnim amplitudi odgovarajućeg eq pojasa. Nasumično prebacivanje između kazaljke na satu i obrnuto i polako rotiranje boja preko kotača u boji 256

Malteški križ

Jedan pojas je središnja LED dioda. Drugi pojas su okomite i vodoravne linije LED dioda, a preostali segmenti predstavljaju svaki EQ pojas. Svi segmenti rotiraju boje u 128 pomaka kako bi ostali kontrastni.

Pulsirajuća svjetla

Svaki krug osvjetljava sve LED diode zajedno za namjenski eq band, dok se boje polako okreću s blagim pomakom. EQ pojasevi postupno se pomiču iz jednog kruga u drugi stvarajući vanjsku progresiju.

Kamin

Trake su polukrugovi osvijetljeni od dna do vrha koji počinju svijetlocrvenom bojom i dodaju žutu boju na putu prema gore simulirajući goruću vatru u kaminu. Povremeno se svijetlo bijela "iskra" nasumično pojavi. Nema rotacije boje

Svjetla za trčanje

Svaki koncentrični krug zaseban je EQ pojas. Vodeće LED diode su one na okomitoj liniji ispod središnje LED diode. Nakon što se LED upali proporcionalno amplitudi pojasa, počinje "trčati" po odgovarajućem krugu polako smanjujući intenzitet. Podržane su i rotacije u smjeru kazaljke na satu i nasumično se mijenjaju.

Svjetlo drveće

Segmenti su osvijetljeni ravnom linijom od donje LED diode prema gore, a zatim bočno u koncentričnim polukružnicama oponašajući palme. Rotacija boja.

Bočni segmenti

Ovo je verzija prethodnog malteškog križa sa samo 2 iskošena segmenta. Pretpostavlja se da sliči ikoni za zvučne valove.

Korak 5: Upravljanje tipkama na dodir

Upravljanje tipkama na dodir
Upravljanje tipkama na dodir

Postoje 4 tipke osjetljive na dodir:

  1. Prođite kroz vizualizacije i zadržite trenutnu dok se ne odabere druga (prema zadanim postavkama vizualizacije se kreću svakih 30 sekundi)
  2. "Zamrzni" / "odmrzne" trenutnu shemu boja - ako vam se sviđa određena kombinacija boja, možete je zamrznuti - rotacija boje je onemogućena, a vizualizacija će se nastaviti samo s ovom paletom boja
  3. Podesite osjetljivost mikrofona
  4. Uključite / isključite "način plesa"

U plesnom načinu rada uređaj će pokušati otkriti "ritam" trenutno reproducirane glazbe i okrenuti glavu prema ritmu. Da budem iskren, do sada je "ples" više neugodan nego lijep.

Korak 6: Otkrivanje otkucaja i servo "ples"

Otkrivanje otkucaja i servo
Otkrivanje otkucaja i servo

Uređaj neprestano pokušava otkriti "otkucaje" trenutne melodije kao udaljenost između uzastopnih vrhova pojasa 63Hz. Kada se detektira (i samo ako je način plesa UKLJUČEN), uređaj će aktivirati svoj servo motor kako bi nasumično skrenuo ulijevo ili udesno prema ritmu.

Sve svijetle ideje o tome kako to učiniti pouzdanijim su dobrodošle!

Skica 'Music_Test_LED' emitira 7 EQ opsega na način prikladan za iscrtavanje pomoću Arduino IDE -a.

Korak 7: 3D oblici

3D oblici
3D oblici
3D oblici
3D oblici
3D oblici
3D oblici

Cijeli sklop Party Lights dizajniran je od nule pomoću Autodesk TinkerCAD -a.

Originalni dizajn nalazi se ovdje. Mapa "files/3D" na github.com sadrži STL modele.

Ovaj dizajn ilustrira kako uređaj izgleda sastavljen.

Sve su komponente ispisane, a zatim sastavljene/zalijepljene.

"Kupola" sadrži mikrokontroler, Bluetooth ploču i mikrofon. Mikrokontroler je postavljen na ploču 40 mm x 60 mm i podržan je odgovarajućim šinama.

Servo se nalazi u "nozi" kupole, dok su gumbi smješteni u podnožju.

Odjeljak za baterije je ispisan posebno za vrstu baterije spomenutu u odjeljku Potrošni materijal. Ako odlučite koristiti drugu bateriju, pretinac će se morati prema tome ponovno dizajnirati.

Korak 8: Napajanje

Napajanje
Napajanje
Napajanje
Napajanje

Čini se da Ultra-Compact 5000-mah dvostruki USB izlazi Super Slim Power Bank pružaju dovoljno snage za sate rada.

Odjeljak za bateriju dizajniran je na takav način da se odvaja od ostatka uređaja i može se zamijeniti onim namijenjenim za drugu vrstu baterije.

USB utikač postavljen je i vruće zalijepljen za spajanje baterije dok klizi.

Korak 9: Bluetooth kontrola

Bluetooth kontrola
Bluetooth kontrola

Dodaje se HC-05 modul koji pruža način bežičnog upravljanja uređajem.

Kada je uključen, uređaj stvara Bluetooth vezu pod nazivom "LEDDANCE", s kojom možete upariti telefon.

U idealnom slučaju, trebala bi postojati aplikacija koja omogućuje upravljanje PartyLights (odabir palete boja, simuliranje pritiska tipki itd.). Međutim, još nisam napisao nijedan.

Ako ste zainteresirani za pisanje Android ili iOS aplikacije za Party Lights, javite mi!

Za upravljanje uređajem trenutačno možete koristiti aplikaciju Bluetooth terminala i slati sljedeće naredbe:

  • LEDDBUTT - gdje je '1', '2', '3' ili '4' simulira pritisak na odgovarajuću tipku. Npr.: LEDDBUTT1
  • LEDDCOLRc - gdje je c broj od 0 do 255 - položaj željene boje na kotačiću u boji. Uređaj će se prebaciti na navedenu LED boju.
  • LEDDSTAT - vraća broj od 3 znaka koji se sastoji samo od '0 i' 1:

    • prva pozicija: '0' - boje se ne rotiraju, '1' - boje se rotiraju
    • druga pozicija: '0' - način plesa je isključen, '1' - način plesa je uključen
    • treća pozicija: '0' - mikrofon je u normalnom pojačanju, '1' - mikrofon je u visokom pojačanju

Korak 10: Upravljajte aplikacijom na temelju Blynka

Upravljačka aplikacija temeljena na Blynku
Upravljačka aplikacija temeljena na Blynku
Upravljačka aplikacija temeljena na Blynku
Upravljačka aplikacija temeljena na Blynku
Upravljačka aplikacija temeljena na Blynku
Upravljačka aplikacija temeljena na Blynku
Upravljačka aplikacija temeljena na Blynku
Upravljačka aplikacija temeljena na Blynku

Blynk (blynk.io) je hardversko-agnostička IoT platforma. Koristio sam Blynk u svom IoT automatskom sustavu za navodnjavanje biljaka i bio sam impresioniran lakoćom i robusnošću platforme.

Blynk podržava povezivanje s rubnim uređajima putem Bluetootha - upravo ono što nam treba za PartyLights.

Ako to već niste učinili, preuzmite aplikaciju Blynk, registrirajte se i ponovno stvorite aplikaciju Blynk PartyLights koristeći snimke zaslona priložene ovom koraku. Provjerite jesu li dodjele virtualnih pribadača iste kao na snimkama zaslona, inače gumbi u aplikaciji neće raditi kako je predviđeno.

Datoteka "blynk_settings.h" sadrži moj osobni Blynk UID. Kad kreirate svoj projekt, bit će vam dodijeljen novi za korištenje.

Prenesite skicu PartyLightsBlynk.ino, pokrenite aplikaciju. Uparite Bluetooth uređaj i uživajte u zabavi.

Korak 11: Skice i knjižnice

Skice i knjižnice
Skice i knjižnice

Glavna skica i datoteke za podršku nalaze se na Github.com ovdje.

U skici Party Lights korištene su sljedeće knjižnice:

  • TaskScheduler - kooperativni višezadaćnost - ovdje (razvio sam)
  • AverageFilter - filtar s prosječnim uzorkom - ovdje (razvio sam)
  • Servo - Servo kontrola - standardna je Arduino knjižnica
  • WS2812B -NEOPixel control - dolazi kao dio STM32 paketa

Ova Wiki stranica objašnjava kako se koriste STM32 ploče s Arduino IDE -om.

Korak 12: Buduća poboljšanja

Buduća poboljšanja
Buduća poboljšanja

Nekoliko stvari moglo bi se poboljšati u ovom dizajnu, što biste mogli uzeti u obzir ako se upustite u ovaj projekt:

  • Koristite ESP32 umjesto Maple Mini ploče. ESP32 ima 2 procesora, Bluetooth i WiFi nizove, a može raditi na 60MHz, 120MHz pa čak i 240MHz.
  • Manji dizajn - rezultirajući uređaj je velik. Moglo bi biti kompaktnije (pogotovo ako odbacite plesnu ideju i pripadajući servo)
  • Otkrivanje otkucaja moglo bi se beskonačno poboljšati. Ono što nama ljudima prirodno dolazi čini se da je teško računalo za računalo
  • Moglo bi se osmisliti i implementirati mnogo više vizualizacija.
  • I, naravno, mogla bi se napisati aplikacija za bežično upravljanje uređajem s cool korisničkim sučeljem.

Preporučeni: