Kazalo:
- Zaloge
- 1. korak: Ideja
- 2. korak: Shematska in zvočna obdelava
- 3. korak: LED kolo
- 4. korak: Vizualizacije
- 5. korak: Dotaknite se gumbov za upravljanje
- 6. korak: zaznavanje utripov in servo "ples"
- 7. korak: 3D oblike
- 8. korak: Napajanje
- 9. korak: Nadzor Bluetooth
- 10. korak: Nadzirajte aplikacijo na podlagi Blynka
- 11. korak: Skice in knjižnice
- 12. korak: Prihodnje izboljšave
Video: Prenosne luči za zabave: 12 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Tinkercad projekti »
Lahko prinesete luč na zabavo in jo naredite bolj zabavno?
To je bilo vprašanje. In odgovor je DA (seveda).
Ta pouk govori o izdelavi prenosne naprave, ki posluša glasbo in ustvarja vizualizacijo glasbe iz koncentričnih obročev LED diod Neopixel.
Naredili so poskus, da bi naprava "zaplesala", torej se premaknila v ritmu glasbe, vendar se je odkrivanje utripov izkazalo za bolj zapleteno nalogo, kot se sliši (brez besedne igre), zato je "ples" nekoliko nerodno, ampak še vedno je tam.
Naprava podpira Bluetooth in se bo odzvala na besedilne ukaze. Nisem imel časa za pisanje aplikacije za nadzor Party Lights (Android ali iOS). Če ste kos nalogi - prosim, sporočite mi !!!
Če vam je ta pouk všeč, ga glasujte na natečaju Make It Glow!
Zaloge
Za izdelavo Party Lights potrebujete:
- STM32F103RCBT6 Leaflabs Leaf Maple Mini USB ARM Cortex -M3 Modul za Arduino (povezava tukaj) - možgani naprave. Te relativno poceni naprave so tako močne, da ni jasno, zakaj bi se kdaj vrnili na Arduino.
- MSGEQ7 Pasovni grafični izenačevalnik IC DIP-8 MSGEQ7 (povezava tukaj)
- Modul Bluetooth HC-05 ali HC-06 (povezava tukaj)
- Mikrofon Adafruit MAX9814 (povezava tukaj)
- Standardni servo motor (povezava tukaj) želite, da vaša naprava "pleše"
- CJMCU 61 -bitna WS2812 5050 RGB LED gonilna plošča za razvoj (povezava tukaj)
- TTP223 Modul s tipko na dotik Kapacitivna nastavljiva samozaporna/stikalna plošča brez zaklepanja (povezava tukaj)
-
Ultra kompaktni 5000-mah dvojni USB izhod Super Slim Power Bank (povezava tukaj)
- Upori, kondenzatorji, žice, lepilo, vijaki, plošče za izdelavo prototipov itd.
1. korak: Ideja
Zamisel je, da bi imeli prenosno napravo, ki bi jo lahko postavili blizu glasbenega vira in bi ustvarili pisane glasbene vizualizacije. Vedenje naprave bi morali nadzorovati z gumbi (na dotik) in Bluetooth.
Trenutno ima Party Lights izvedenih 7 vizualizacij (sporočite mi, če imate več idej!):
- Koncentrični pisani krogi
- Malteški križ
- Utripajoče luči
- Kamin (meni osebno najljubši)
- Tekalne luči
- Svetla drevesa
- Stranski segmenti
Privzeto bo naprava vsako minuto krožila po vizualizacijah. Uporabnik pa se lahko odloči za eno vizualizacijo in/ali ročno premikanje po njej.
Vizualizacije, ki zasučejo njihovo barvno paleto, bi lahko bile tudi "zamrznjene", če je uporabniku všeč določena barvna kombinacija.
Kot nekaj dodatnih kontrol lahko uporabnik spremeni občutljivost mikrofona in omogoči/onemogoči način "plesa" servo motorja.
2. korak: Shematska in zvočna obdelava
Shematska datoteka z rezanjem je vključena v paket na Githubu v podmapi "datoteke".
V bistvu čip MSEQ7 izvaja obdelavo zvoka in razdeli zvočni signal na 7 pasov: 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz in 16kHz
Mikrokrmilnik uporablja teh 7 pasov za ustvarjanje različnih vizualizacij, ki v osnovi preslikajo ustrezne amplitude pasov v jakost LED svetlobe in barvne kombinacije.
Vir zvoka je mikrofon s tremi stopnjami nadzora ojačanja. Nastavitve ojačanja lahko preklapljate z enim od gumbov, odvisno od tega, kako daleč/glasen je vir zvoka.
Mikrokrmilnik poskuša tudi zaznati "beat" na 63Hz "bas" pasu. Še vedno delam na zanesljivem načinu odkrivanja in vzdrževanja poravnave utripov.
Uporaba gumbov na dotik je bil poskus. Mislim, da delujejo precej dobro, vendar je pomanjkanje povratnih informacij tiska nekoliko zmedeno.
3. korak: LED kolo
Jedro vizualizacije je 61 LED kolo.
Upoštevajte, da je del v obliki posameznih obročev, ki jih boste morali sestaviti. Včasih sem mislil, da so bakrene žice za daljnovode (ki tudi lepo držijo obroče skupaj) in tanke signalne žice.
Svetleče diode so oštevilčene od 0 do 60, začenši od spodnje zunanje LED in gredo navznoter v smeri urinega kazalca. Osrednja LED je številka 60.
Vsaka vizualizacija temelji na dvodimenzionalnih podatkovnih nizih, ki preslikajo vsako LED v določen položaj za ciljni segment vizualizacije.
Na primer, za koncentrične kroge obstaja 5 segmentov:
- Zunanji krog, LED dolžine 0 - 23, 24 LED
- Drugi zunanji krog, LED diode 24 - 39, dolge 16 LED
- Tretji krog (na sredini), LED diode 40 - 51, dolge 12 LED
- Drugi notranji krog, LED diode 52 - 59, dolge 8 LED
- Notranja LED, LED 60, dolga 1 LED
Vizualizacija preslika 5 od 7 zvočnih kanalov in postopoma prižge LED glede na njihov položaj v krožnem pasu, sorazmerno s stopnjo zvoka v pasu.
Druge vizualizacije uporabljajo različne strukture podatkov in oblike, vendar je ideja vedno, da vizualizacije poganjajo podatkovni nizi, ne toliko koda. Na ta način bi lahko vizualizacije prilagodili različnim oblikam (več ali manj LED, več pasov EQ) brez spreminjanja kode, samo vrednosti v podatkovnih nizih.
Tako je na primer struktura podatkov za vizualizacijo 1 videti na skici:
// Vizualizacija 1 in 3 - polnih 5 bajtov kroga conconst 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}};
4. korak: Vizualizacije
Doslej je na voljo 7 vizualizacij in zagonska animacija:
Začetna animacija
Ko je naprava vklopljena, se prikaže imitacija ognjemeta. To naj bi bilo testno zaporedje LED in servo, kasneje pa se je razvilo v animirano različico takega testa
Koncentrični pisani krogi
Luči obkrožajo zaslon v koncentričnih krogih, sorazmernih z amplitudo ustreznega pasu eq. Naključno preklapljanje med uro in uro in počasi vrtenje barv na 256 barvnem kolesu
Malteški križ
En pas je osrednja LED. Drug pas so navpične in vodoravne črte LED, preostali segmenti pa predstavljajo vsak EQ pas. Vsi segmenti se vrtijo v 128 odmikih, da ostanejo kontrastni.
Utripajoče luči
Vsak krog soglasno prižge vse LED diode za namenski pas eq, medtem ko se barve počasi vrtijo z rahlim odmikom. EQ pasovi se postopoma premikajo iz enega kroga v drugega, kar ustvarja napredovanje navzven.
Ognjišče
Trakovi so polkrogi, osvetljeni od spodaj navzgor, začenši s svetlo rdečo in na poti navzgor dodajo rumeno, ki simulira goreč ogenj v kaminu. Občasno se naključno požene gor svetlo bela "iskra". Barvne rotacije ni
Tekalne luči
Vsak koncentrični krog je ločen pas EQ. Vodilne LED so tiste na navpični črti pod sredinsko LED. Ko LED zasveti sorazmerno z amplitudo pasu, začne "teči" po ustreznem krogu in počasi zmanjšuje intenzivnost. Podprta sta vrtenja v smeri urnega kazalca in v nasprotni smeri urinega kazalca, ki se naključno preklapljajo.
Svetla drevesa
Segmenti so osvetljeni v ravni črti od spodnje LED navzgor in nato stransko v koncentričnih polkrogih, ki posnemajo palme. Vrtenje barve.
Stranski segmenti
To je različica prejšnjega malteškega križa, v katerem sta bila uporabljena samo 2 diagonalna segmenta. Menda je podoben ikoni za zvočne valove.
5. korak: Dotaknite se gumbov za upravljanje
Obstajajo 4 tipke, občutljive na dotik:
- Premikajte se po vizualizacijah in obdržite trenutno, dokler ni izbrana druga (privzeto ciklus vizualizacij poteka vsakih 30 sekund)
- "Zamrzni" / "odmrzni" trenutno barvno shemo - če vam je všeč določena barvna kombinacija, jo lahko zamrznete - vrtenje barve je onemogočeno in vizualizacija se bo nadaljevala samo s to barvno paleto
- Prilagodite občutljivost mikrofona
- Vklopite / izklopite "plesni način"
V plesnem načinu bo naprava poskušala zaznati "utrip" trenutno predvajane glasbe in obrniti glavo glede na utrip. Če sem iskren, je "ples" doslej bolj neroden kot lep.
6. korak: zaznavanje utripov in servo "ples"
Naprava nenehno poskuša zaznati "utrip" trenutne melodije kot razdaljo med zaporednimi vrhovi pasu 63Hz. Ko je zaznana (in samo, če je plesni način VKLOPLJEN), bo naprava aktivirala svoj servo motor, da bo naključno zavila levo ali desno glede na utrip.
Kakršne koli svetle ideje, kako to narediti bolj zanesljivo, so dobrodošle!
Skica "Music_Test_LED" oddaja 7 pasov EQ na način, ki je primeren za risanje s pomočjo Arduino IDE.
7. korak: 3D oblike
Celoten sklop Party Lights je bil zasnovan iz nič z uporabo Autodesk TinkerCAD.
Prvotna zasnova se nahaja tukaj. Mapa "files/3D" na github.com vsebuje modele STL.
Ta zasnova ponazarja, kako je naprava sestavljena.
Vse komponente so bile natisnjene in nato sestavljene/zlepljene.
"Kupola" gosti mikrokrmilnik, ploščo Bluetooth in mikrofon. Mikrokrmilnik je nameščen na plošči 40 mm x 60 mm in je podprt z določenimi tirnicami.
Servo se nahaja v "nogi" kupole, gumbi pa na dnu.
Predal za baterije je natisnjen posebej za vrsto baterije, omenjeno v razdelku Potrošni material. Če se odločite za uporabo druge baterije, bo treba prostor ustrezno prilagoditi.
8. korak: Napajanje
Zdi se, da izjemno kompaktna 5000-mah dvojna USB izhoda Super Slim Power Bank zagotavljata dovolj energije za ure delovanja.
Predal za baterije je zasnovan tako, da se loči od preostale naprave in ga je mogoče zamenjati s tistim, ki je zasnovan za drugo vrsto baterije.
Vtič USB je bil nameščen in vroče lepljen, da priključi baterijo, ko vstopi.
9. korak: Nadzor Bluetooth
Za brezžično upravljanje naprave je dodan modul HC-05.
Ko je naprava vklopljena, ustvari povezavo Bluetooth, imenovano "LEDDANCE", s katero lahko povežete telefon.
V idealnem primeru bi morala obstajati aplikacija, ki omogoča nadzor PartyLights (izbira barvne palete, simulacija pritiskanja gumbov itd.). Nisem pa ga še napisal.
Če želite pomagati pri pisanju aplikacije za Android ali iOS za Party Lights, mi to sporočite!
Za nadzor naprave lahko trenutno uporabljate terminalno aplikacijo Bluetooth in pošljete naslednje ukaze:
- LEDDBUTT - kjer je "1", "2", "3" ali "4" simulira pritisk na ustrezen gumb. Npr.: LEDDBUTT1
- LEDDCOLRc - kjer je c številka od 0 do 255 - položaj želene barve na barvnem kolesu. Naprava bo preklopila na določeno barvo LED.
-
LEDDSTAT - vrne 3 -mestno številko, ki je sestavljena samo iz '0' in '1':
- prvi položaj: '0' - barve se ne vrtijo, '1' - barve se vrtijo
- drugo mesto: '0' - plesni način je izklopljen, '1' - plesni način je vklopljen
- tretji položaj: '0' - mikrofon je v normalnem pojačanju, '1' - mikrofon ima visoko ojačanje
10. korak: Nadzirajte aplikacijo na podlagi Blynka
Blynk (blynk.io) je strojno-agnostična platforma IoT. Uporabil sem Blynk v svojem avtomatskem namakalnem sistemu IoT za namakanje rastlin in bil sem navdušen nad enostavnostjo in robustnostjo platforme.
Blynk podpira povezovanje z robnimi napravami prek Bluetootha - točno tisto, kar potrebujemo za PartyLights.
Če tega še niste storili, prenesite aplikacijo Blynk, se registrirajte in znova ustvarite aplikacijo Blynk PartyLights s pomočjo posnetkov zaslona, priloženih temu koraku. Prepričajte se, da so dodelitve navideznih pin enake kot na posnetkih zaslona, sicer gumbi v aplikaciji ne bodo delovali, kot je predvideno.
Datoteka "blynk_settings.h" vsebuje moj osebni UID Blynk. Ko ustvarite svoj projekt, vam bo dodeljen nov za uporabo.
Naložite skico PartyLightsBlynk.ino, zaženite aplikacijo. Seznanite se z napravo Bluetooth in uživajte v zabavi.
11. korak: Skice in knjižnice
Glavna skica in podporne datoteke so na Github.com tukaj.
V skici Party Lights so bile uporabljene naslednje knjižnice:
- TaskScheduler - kooperativno večopravilnost - tukaj (razvil sem ga)
- AverageFilter - povprečni filter s predlogo - tukaj (razvil sem ga)
- Servo - Servo nadzor - je standardna knjižnica Arduino
- WS2812B -NEOPixel nadzor - je del paketa STM32
Ta stran Wiki pojasnjuje, kako uporabljati plošče STM32 z Arduino IDE.
12. korak: Prihodnje izboljšave
V tej zasnovi bi lahko izboljšali nekaj stvari, o katerih bi lahko razmislili, če se lotite tega projekta:
- Namesto Maple Mini plošče uporabite ESP32. ESP32 ima 2 procesorja, Bluetooth in Wi -Fi niz in lahko deluje pri 60MHz, 120MHz in celo 240MHz.
- Manjša oblika - nastala naprava je velika. Lahko bi bil bolj kompakten (še posebej, če opustite plesno idejo in s tem povezan servo)
- Odkrivanje utripov bi lahko neskončno izboljšali. Kar se nam, ljudem, naravno zdi, je za računalnik težka naloga
- Lahko bi zasnovali in izvedli veliko več vizualizacij.
- In seveda bi lahko napisali aplikacijo za brezžično upravljanje naprave s kul uporabniškim vmesnikom.
Priporočena:
Prenosne lučke LED Disco V2 -11 korakov (s slikami)
Prenosni disko diski V2 -LED z zvočnim nadzorom: Odkar sem naredil svojo prvo prenosno diskoteko, sem z elektroniko prišel daleč. V prvotni zgradbi sem skupaj zlomil vezje na prototipni plošči in uspel zgraditi lepo, malo žepno diskoteko. Tokrat sem oblikoval lastno tiskano vezje in
LED lučka za aktivne glasbene zabave in zvočnik Bluetooth s sijajem v temi PLA: 7 korakov (s slikami)
Aktivna glasbena zabava LED svetilka in Bluetooth zvočnik s sijajem v temi PLA: Pozdravljeni in hvala, ker ste se vključili v moj Instructable! Vsako leto naredim zanimiv projekt s svojim sinom, ki ima 14 let. Zgradili smo Quadcopter, plavalno uro (ki je tudi poučen), CNC omarica za ohišje in Fidget Spinners
LED plašč za zabave: 15 korakov (s slikami)
LED Party Coat: New York City je končno razveljavil svoj zelo zastarel zakon kabareja. Torej, zaplešimo. Za to priložnost boste potrebovali pravo obleko. Ta plašč je divji modni kos z nepričakovano sposobnostjo: zasveti, ko se okoliška svetloba zatemni . Kot bitje z
LED luči temnih luči: 7 korakov
LED luči za temne luči: LED ne sveti le, ko je napajanje, ampak tudi ustvari majhno napetost, ko je svetloba. Za nadzor te napetosti lahko uporabite mikrokrmilnik PICAXE. Pokazal vam bom, kako narediti elektronsko svečo, ki bo utripala LED, ko
Božične luči DIY, uglašene - koreografirane hišne luči: 15 korakov (s slikami)
Božične luči DIY nastavljene na glasbo - Koreografske hišne luči: Božične luči DIY na glasbo - Koreografske hišne luči To NI začetnik sam. Potrebovali boste dobro razumevanje elektronike, vezja, BASIC programiranja in splošnega znanja o električni varnosti. Ta DIY je za izkušeno osebo, zato