Tartalomjegyzék:
- Kellékek
- 1. lépés: Az ötlet
- 2. lépés: Vázlatos és hangfeldolgozás
- 3. lépés: LED kerék
- 4. lépés: Vizualizációk
- 5. lépés: Érintőgombok
- 6. lépés: Beat Detection és Servo "tánc"
- 7. lépés: 3D alakzatok
- 8. lépés: Tápegység
- 9. lépés: Bluetooth -vezérlés
- 10. lépés: Vezérlőalkalmazás a Blynk alapján
- 11. lépés: Vázlatok és könyvtárak
- 12. lépés: Jövőbeli fejlesztések
Videó: Hordozható partyfények: 12 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Tinkercad projektek »
Tudsz fényt hozni egy buliba, és szórakoztatóbbá tenni?
Ez volt a kérdés. És a válasz: IGEN (természetesen).
Ez az útmutató egy hordozható eszköz készítéséről szól, amely zenét hallgat és zenei vizualizációt hoz létre a Neopixel LED -ek koncentrikus gyűrűiből.
Kísérletet tettek arra, hogy az eszközt "táncolják", azaz mozogjanak a zene ütemére, de az ütésfelismerés bonyolultabb feladatnak bizonyult, mint amilyennek hangzik (szójáték nem szándékolt), így a "tánc" kissé kínos, de még mindig ott van.
A készülék Bluetooth-kompatibilis, és válaszol a szöveges parancsokra. Nem volt időm írni egy alkalmazást a Party Lights vezérléséhez (Android vagy iOS). Ha hozzáért a feladathoz - kérem jelezze !!!
Ha tetszik ez az oktatható, kérjük, szavazzon rá a Make It Glow versenyen!
Kellékek
A Party Lights építéséhez szüksége lesz:
- STM32F103RCBT6 Leaflabs Leaf Maple Mini USB ARM Cortex -M3 modul Arduino számára (link itt) - a készülék agya. Ezek a viszonylag olcsó eszközök olyan erősek, hogy nem világos, miért menne vissza egy Arduino -hoz.
- MSGEQ7 sávú grafikus ekvalizer IC DIP-8 MSGEQ7 (link itt)
- HC-05 vagy HC-06 Bluetooth modul (link itt)
- Adafruit MAX9814 mikrofon (link itt)
- Egy szabványos szervomotor (link itt) azt szeretné, hogy a készülék "táncoljon"
- CJMCU 61 bites WS2812 5050 RGB LED illesztőprogram -fejlesztő tábla (link itt)
- TTP223 érintőgombos modul kapacitív beállítható önzáró/zárolás nélküli kapcsolópanel (link itt)
-
Ultra kompakt 5000 mAh-s kettős USB-kimenet Szuper vékony tápegység (link itt)
- Ellenállások, kondenzátorok, vezetékek, ragasztó, csavarok, prototípus -táblák, stb.
1. lépés: Az ötlet
Az ötlet az, hogy legyen egy hordozható eszköz, amelyet egy zenei forrás közelébe lehet helyezni, és amely színes zenei vizualizációkat hoz létre. Képesnek kell lennie az eszköz viselkedésének vezérlésére gombokkal (érintés) és Bluetooth -on keresztül.
Jelenleg a Party Lights 7 vizualizációt valósított meg (ha több ötlete van, tudassa velem!):
- Koncentrikus színes körök
- Máltai kereszt
- Pulzáló fények
- Kandalló (személyes kedvencem)
- Futófények
- Világos fák
- Oldalsó szegmensek
Alapértelmezés szerint az eszköz percenként körbejárja a vizualizációkat. A felhasználó azonban választhat, hogy ragaszkodik -e egy vizualizációhoz, és/vagy manuálisan végigböngészi azokat.
A színpalettát forgató vizualizációk is „lefagyhatnak”, ha a felhasználónak tetszik egy adott színkombináció.
És néhány további vezérlőként a felhasználó megváltoztathatja a mikrofon érzékenységét, és engedélyezheti/letilthatja a szervomotoros "tánc" módot.
2. lépés: Vázlatos és hangfeldolgozás
Egy frizuráló sematikus fájl a csomagban található a Githubon a "fájlok" almappában.
Alapvetően az MSEQ7 chip végzi a hangfeldolgozást, és felosztja az audiojelet 7 sávra: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2,5 kHz, 6,25 kHz és 16 kHz
A mikrokontroller ezt a 7 sávot használja különféle vizualizációk készítésére, alapvetően a megfelelő sáv amplitúdóit a LED fényintenzitására és színkombinációira leképezve.
A hangforrás egy mikrofon, 3 fokozatú erősítés szabályozással. Az erősítés beállításai között a gombok egyikével léphet, attól függően, hogy milyen messze/hangos a hangforrás.
A mikrokontroller megkísérli "ütés" érzékelését is végrehajtani a 63 Hz -es "basszus" sávon. Továbbra is azon dolgozom, hogy megbízható módon észleljem és tartsam a ütemek igazítását.
Az "érintőgombok" használata kísérlet volt. Szerintem elég jól működnek, azonban a sajtóvisszajelzések hiánya némileg zavaró.
3. lépés: LED kerék
A megjelenítés magja egy 61 LED -es kerék.
Kérjük, vegye figyelembe, hogy az alkatrészt gyűrűként szállítják, amelyeket össze kell szerelni. Én inkább rézhuzalokat használtam az elektromos vezetékekhez (amelyek szintén szépen összefogják a gyűrűket), és vékony jelvezetékeket.
A LED -ek 0 -tól 60 -ig vannak számozva, az alsó külső LED -től kezdve, és az óramutató járásával megegyező irányban befelé haladva. A középső LED 60.
Minden vizualizáció kétdimenziós adattömbökön alapul, amelyek minden LED-et a cél-vizualizációs szegmens meghatározott pozíciójába képeznek le.
Például koncentrikus körök esetén 5 szegmens létezik:
- Külső kör, LED -ek 0 - 23, 24 LED hosszú
- Második külső kör, LED -ek 24 - 39, 16 LED hosszúak
- Harmadik kör (középen), LED -ek 40 - 51, 12 LED hosszú
- Második belső kör, LED -ek 52 - 59, 8 LED hosszúak
- Belső LED, LED 60, 1 LED hosszú
A vizualizáció a 7 audiocsatornából 5 -öt feltérképez, és fokozatosan világít a LED -eknek a kör alakú sávban elfoglalt helyzetüknek megfelelően, arányosan a sáv hangszintjével.
Más vizualizációk különböző adatstruktúrákat és formátumokat használnak, de az ötlet mindig az, hogy a vizualizációkat az adattömbök vezéreljék, nem annyira a kód. Ily módon a vizualizációk különböző formákhoz igazíthatók (több vagy kevesebb LED, több EQ sáv) a kód megváltoztatása nélkül, csak az adattömbök értékei.
Például a vizualizáció adatstruktúrája így néz ki a vázlatban:
// 1. és 3. vizualizáció - teljes 5 körkörös bájt 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. lépés: Vizualizációk
Eddig 7 vizualizáció és egy induló animáció létezik:
Indító animáció
A készülék bekapcsolásakor megjelenik egy tűzijáték utánzat. Ez egy LED és Servo teszt szekvencia volt, de később az ilyen teszt animált változatává fejlődött
Koncentrikus színes körök
A lámpák koncentrikus körökben mennek körbe a kijelzőn, az adott egyenérték sáv amplitúdójával arányosan. Véletlenszerű váltás az óramutató járásával ellentétes irányba és az óramutató járásával ellentétes irányba, és lassan forgatva a színeket a 256 színkörön
Máltai kereszt
Az egyik sáv a középső LED. Egy másik sáv a LED -ek függőleges és vízszintes vonalai, a többi szegmens pedig egy -egy EQ sávot képvisel. Minden szegmens forgó színű, 128 eltolásban, hogy kontraszt maradjon.
Pulzáló fények
Minden kör egyidejűleg világít az összes LED -en egy külön eq sávhoz, miközben lassan forognak a színek, enyhe eltolódással. Az EQ sávok fokozatosan eltolódnak az egyik körről a másikra, és kifelé haladnak.
Kandalló
A sávok félkörök, amelyek alulról felfelé világítanak, kezdve élénkpiros színnel, és sárgával a felfelé menet, a kandallóban égő tüzet szimulálva. Időnként fényes fehér "szikra" véletlenszerűen lő fel. Nincs színforgatás
Futófények
Minden koncentrikus kör egy külön EQ sáv. A vezető LED -ek a középső LED alatti függőleges vonalon találhatók. Amint a LED a sáv amplitúdójával arányosan világít, elkezd "futni" a megfelelő kör körül, lassan csökken az intenzitás. Mind az óramutató járásával ellentétes, mind az óramutató járásával ellentétes irányú elforgatás támogatott, véletlenszerű váltás.
Világos fák
A szegmensek egyenes vonalban világítanak az alsó LED-től felfelé, majd oldalra koncentrikus félkörökben, pálmafákat imitálva. Színforgatás.
Oldalsó szegmensek
Ez a korábbi Máltai Kereszt változata, mindössze 2 átlós szegmenst használva. Állítólag hasonlít a hanghullámok ikonjára.
5. lépés: Érintőgombok
4 érintésérzékeny gomb található:
- Váltogassa végig a vizualizációkat, és tartsa az aktuálisat addig, amíg egy másikat ki nem választ (alapértelmezés szerint a vizualizációs ciklus 30 másodpercenként)
- "Fagyasztás" / "feloldás" jelenlegi színséma - ha tetszik egy adott színkombináció, akkor le is fagyaszthatja - a színforgatás le van tiltva, és a megjelenítés ezzel a színpalettával folytatódik
- Állítsa be a mikrofon érzékenységét
- Kapcsolja be / ki a "tánc üzemmódot"
Táncos módban a készülék megpróbálja érzékelni az éppen játszott zene "ütését", és az ütemnek megfelelően elfordítani a fejét. Eddig a "tánc" inkább kínos, mint szép, hogy őszinte legyek.
6. lépés: Beat Detection és Servo "tánc"
A készülék folyamatosan próbálja érzékelni az aktuális dallam "ütését", mint a 63 Hz -es sáv egymást követő csúcsai közötti távolságot. Az észlelést követően (és csak akkor, ha a tánc üzemmód be van kapcsolva), a készülék aktiválja szervomotorját, hogy véletlenszerűen balra vagy jobbra forduljon az ütemnek megfelelően.
Szívesen fogadunk minden világos ötletet, hogyan lehet ezt megbízhatóbbá tenni!
A „Music_Test_LED” vázlat 7 EQ sávot ad ki az Arduino IDE használatával történő ábrázoláshoz.
7. lépés: 3D alakzatok
Az egész Party Lights szerelvényt a semmiből tervezték az Autodesk TinkerCAD használatával.
Az eredeti dizájn itt található. A github.com "files/3D" mappája az STL modelleket tartalmazza.
Ez a kialakítás szemlélteti, hogyan néz ki a készülék összeszerelve.
Az összes alkatrészt kinyomtatták, majd összeszerelték/összeragasztották.
A "kupola" a mikrokontrollert, a Bluetooth táblát és a mikrofont tartalmazza. A mikrokontrollert 40 mm x 60 mm -es táblára helyezték, és kijelölt sínek támasztják alá.
A szervó a kupola "lábában", míg a gombok az alapban találhatók.
Az elemtartó rekesz kifejezetten a Kellékek részben említett típusú akkumulátorra van nyomtatva. Ha egy másik akkumulátort használ, akkor a rekeszt ennek megfelelően kell átalakítani.
8. lépés: Tápegység
Az ultrakompakt 5000 mAh-s kettős USB-kimenet, a Super Slim Power Bank úgy tűnik, elegendő energiát biztosít órákon át tartó működéshez.
Az elemtartó rekesz úgy van kialakítva, hogy leválik a készülék többi részéről, és lecserélhető egy másik típusú akkumulátorra.
Az USB-csatlakozót a helyére helyezték és a helyére ragasztották, hogy az akkumulátort becsúsztatás közben becsatolja.
9. lépés: Bluetooth -vezérlés
A készülékhez HC-05 modul tartozik, amely lehetővé teszi az eszköz vezeték nélküli vezérlését.
Bekapcsolt állapotban a készülék létrehoz egy "LEDDANCE" nevű Bluetooth -kapcsolatot, amellyel párosíthatja telefonját.
Ideális esetben olyan alkalmazásnak kell lennie, amely lehetővé teszi a PartyLights vezérlését (színpaletta kiválasztása, gombnyomások szimulálása stb.). Viszont egyet még nem írtam.
Ha szeretne segíteni egy Android vagy iOS alkalmazás létrehozásában a Party Lights számára, kérjük, tudassa velem!
Az eszköz vezérléséhez jelenleg használhatja a Bluetooth terminál alkalmazást, és elküldheti a következő parancsokat:
- LEDDBUTT - ahol az "1", "2", "3" vagy "4" szimulálja a megfelelő gomb megnyomását. Például: LEDDBUTT1
- LEDDCOLRc - ahol c 0 -tól 255 -ig terjedő szám - a kívánt szín helyzete egy színkörön. A készülék a megadott LED színre vált.
-
LEDDSTAT - 3 karakteres számot ad vissza, amely csak 0 -ból és 1 -ből áll:
- első pozíció: '0' - a színek nem forognak, '1' - a színek forognak
- második pozíció: '0' - a táncmód ki van kapcsolva, '1' - a tánc mód be van kapcsolva
- harmadik pozíció: '0' - a mikrofon normál erősítésben van, '1' - a mikrofon nagy erősítésben van
10. lépés: Vezérlőalkalmazás a Blynk alapján
A Blynk (blynk.io) egy hardver-agnosztikus IoT-platform. A Blynk -t használtam az IoT automatikus növényi öntözőrendszerben, és lenyűgözött a platform könnyűsége és robusztussága.
A Blynk támogatja a szélső eszközökhöz való Bluetooth -on keresztüli csatlakozást - pontosan erre van szükségünk a PartyLights számára.
Ha még nem tette meg, töltse le a Blynk alkalmazást, regisztráljon és hozza létre újra a Blynk PartyLights alkalmazást az ehhez a lépéshez mellékelt képernyőképek segítségével. Kérjük, győződjön meg arról, hogy a virtuális tűk hozzárendelése megegyezik a képernyőképeken láthatókkal, különben az alkalmazás gombjai nem fognak megfelelően működni.
A "blynk_settings.h" fájl tartalmazza a személyes Blynk UID azonosítómat. A projekt létrehozásakor egy újat rendel hozzá, amelyet használhat.
Töltse fel a PartyLightsBlynk.ino vázlatot, indítsa el az alkalmazást. Párosítsa Bluetooth -eszközzel, és élvezze a bulit.
11. lépés: Vázlatok és könyvtárak
A fő vázlat és a támogató fájlok a Github.com webhelyen találhatók.
A Party Lights vázlatában a következő könyvtárakat használták:
- TaskScheduler - kooperatív multitasking - itt (én fejlesztettem)
- AverageFilter - sablonozott átlagos szűrő - itt (én fejlesztettem)
- A Servo - Servo control - egy szabványos Arduino könyvtár
- WS2812B -NEOPixel vezérlés - az STM32 csomag része
Ez a Wiki oldal elmagyarázza, hogyan kell használni az STM32 táblákat Arduino IDE -vel.
12. lépés: Jövőbeli fejlesztések
Ebben a kialakításban néhány dolgon lehetne javítani, amelyeket érdemes megfontolni, ha belekezd a projektbe:
- Használja az ESP32 -t Maple Mini tábla helyett. Az ESP32 2 CPU -val, Bluetooth és WiFi kötegekkel rendelkezik, és képes 60MHz, 120MHz és akár 240MHz frekvencián is futni.
- Kisebb kialakítás - az így kapott eszköz nagyméretű. Kompaktabb lehet (különösen, ha elhagyja a táncos ötletet és a hozzá tartozó szervót)
- Az ütésérzékelés végtelenül javítható. Ami nekünk, embereknek magától értetődik, nehéz feladatnak tűnik a számítógép számára
- Sokkal több vizualizációt lehetne kitalálni és megvalósítani.
- És természetesen egy App is írható az eszköz vezeték nélküli vezérléséhez egy hűvös felhasználói felületen.
Ajánlott:
Hordozható Bluetooth 2.1 Boombox: 16 lépés (képekkel)
Hordozható Bluetooth 2.1 Boombox: Sziasztok! Ebben a konstrukcióban úgy döntöttem, hogy egy hordozható Bluetooth boombox -ot hozok létre, amelynek újratölthető akkumulátora és nagy teljesítménye lenne. Ez a hangszóró Paul Carmody Isetta hangszórókon alapul, amelyet kissé átalakítottam, hogy megfeleljen
Hordozható Bluetooth hangszóró - MKBoom DIY készlet: 5 lépés (képekkel)
Hordozható Bluetooth hangszóró | MKBoom DIY Kit: Sziasztok mindenkinek! Annyira jó, hogy hosszú szünet után visszatérhetek egy újabb hangszóróprojekthez. Mivel a legtöbb építéshez elég sok eszközre van szükség, ezúttal úgy döntöttem, hogy egy hordozható hangszórót építek egy könnyen megvásárolható készlet segítségével. Gondoltam
Hordozható Bluetooth hangszóró - Korom: 5 lépés (képekkel)
Hordozható Bluetooth hangszóró | Korom: Szia! Nemrég építettem egy hordozható Bluetooth hangszórót a bátyám születésnapjára, ezért arra gondoltam, miért nem osztod meg veled a részleteket? Nyugodtan nézd meg a YouTube -on a hangszóró készítéséről szóló videómat !: Hordozható Bluetooth hangszóróépítés
Hordozható Bluetooth hangszóró (ingyenes tervek): 9 lépés (képekkel)
Hordozható Bluetooth hangszóró (ingyenes tervek): Üdv mindenkinek! Ebben az utasításban megmutatom, hogyan építettem fel ezt a hordozható Bluetooth hangszórót, amely olyan jól hangzik, mint amilyennek látszik. Felvettem az építési terveket, a lézervágási terveket, valamint minden olyan linket a termékekhez, amelyekre szüksége lesz a specifikáció elkészítéséhez
Hordozható Disco V2 -Hangvezérelt LED -ek: 11 lépés (képekkel)
Hordozható Disco V2 -Hangvezérelt LED -ek: Hosszú utat tettem meg az elektronikai úton, mióta elkészítettem az első hordozható diszkót. Az eredeti felépítésben feltörtem egy áramkört a prototípus táblán, és sikerült felépítenem egy ügyes, kis zsebdiszkót. Ezúttal saját PCB -t terveztem