INHOUDSOPGAWE:
- Voorrade
- Stap 1: Die idee
- Stap 2: Skematiese en klankverwerking
- Stap 3: LED -wiel
- Stap 4: Visualisasies
- Stap 5: aanraakknoppies
- Stap 6: Beat Detection en servo "dans"
- Stap 7: 3D -vorms
- Stap 8: Kragtoevoer
- Stap 9: Bluetooth -beheer
- Stap 10: Beheer -app gebaseer op Blynk
- Stap 11: Sketse en biblioteke
- Stap 12: Toekomstige verbeterings
Video: Draagbare partytjie -ligte: 12 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Tinkercad -projekte »
Kan u lig na 'n partytjie bring en dit nog lekkerder maak?
Dit was die vraag. En die antwoord is JA (natuurlik).
Hierdie instruksie handel oor die maak van 'n draagbare toestel wat na musiek luister en musiekvisualisering skep uit konsentriese ringe van Neopixel LED's.
Daar is probeer om die toestel te laat "dans", dit wil sê op die maat van die musiek, maar dit is 'n meer ingewikkelde taak as wat dit klink (geen woordspeling bedoel), so "dans" is 'n bietjie ongemaklik, maar is nog steeds daar.
Die toestel is Bluetooth-geaktiveer en reageer op teksopdragte. Ek het nie die tyd gehad om 'n app te skryf om Party Lights (Android of iOS) te beheer nie. Laat weet my as u klaar is met die taak !!!
As u van hierdie instruksies hou, stem dan daarvoor in die Make It Glow -wedstryd!
Voorrade
Om partytjie -ligte te bou, benodig u:
- STM32F103RCBT6 Leaflabs Leaf Maple Mini USB ARM Cortex -M3 -module vir Arduino (skakel hier) - die brein van die toestel. Hierdie relatief goedkoop toestelle is so kragtig dat dit onduidelik is waarom u ooit na 'n Arduino sou terugkeer.
- MSGEQ7 Band Graphic Equalizer IC DIP-8 MSGEQ7 (skakel hier)
- HC-05 of HC-06 Bluetooth-module (skakel hier)
- Adafruit MAX9814 mikrofoon (skakel hier)
- 'N Standaard servomotor (skakel hier) is dat u wil hê dat u toestel moet "dans"
- CJMCU 61 bit WS2812 5050 RGB LED bestuurderontwikkelingskaart (skakel hier)
- TTP223 aanraaktoetsmodule Kapasitief instelbaar self-sluit/nie-sluit skakelbord (skakel hier)
-
Ultra kompakte 5000 mah dubbele USB-uitsette Super Slim Power Bank (skakel hier)
- Weerstande, kapasitors, drade, gom, skroewe, prototipe borde, ens.
Stap 1: Die idee
Die idee is om 'n draagbare toestel te hê wat naby 'n musiekbron geplaas kan word, en wat kleurvolle musiekvisualisasies kan veroorsaak. U moet die toestel se gedrag kan beheer deur middel van knoppies (aanraak) en Bluetooth.
Tans het Party Lights sewe visualisasies geïmplementeer (laat weet my as u meer idees het!):
- Konsentrieke kleurvolle sirkels
- Maltese kruis
- Pulserende ligte
- Kaggel (my persoonlike gunsteling)
- Lopende ligte
- Ligte bome
- Sywaarts segmente
Die toestel gaan standaard elke minuut deur die visualisering. 'N Gebruiker kan egter kies om by een visualisering te bly en/of handmatig daardeur te blaai.
Visualisasies wat hul kleurpalet draai, kan ook 'gevries' word as 'n gebruiker van 'n spesifieke kleurkombinasie hou.
En as 'n paar meer kontroles, kan die gebruiker die mikrofoongevoeligheid verander en die servomotoriese "dans" -modus in/uitskakel.
Stap 2: Skematiese en klankverwerking
'N Skitterende skematiese lêer is ingesluit in die pakket op Github in die' lêers 'submap.
Eintlik verwerk 'n MSEQ7 -chip die klankverwerking en verdeel 'n klanksignaal in 7 bande: 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz en 16kHz
Die mikrobeheerder gebruik die 7 bande om verskillende visualisasies te skep, en basies die onderskeie bandamplituden in LED -ligintensiteit en kleurkombinasies in kaart te bring.
Die klankbron is 'n mikrofoon met 3 vlakke van versterkingsbeheer. U kan deur die versterkingsinstellings blaai met een van die knoppies, afhangende van hoe ver/hard die klankbron is.
Die mikrobeheerder poog ook om 'klop' -opsporing uit te voer op die 63Hz' bas' -band. Ek werk nog steeds aan 'n betroubare manier om maatlynbelyning op te spoor en te handhaaf.
Die gebruik van 'aanraak' knoppies was 'n eksperiment. Ek dink hulle werk redelik goed, maar 'n gebrek aan persterugvoer is ietwat verwarrend.
Stap 3: LED -wiel
Die kern van visualisering is 'n 61 LED -wiel.
Let daarop dat die onderdeel afsonderlike ringe is wat u aanmekaar moet sit. Ek gebruik eerder koperdrade vir kragdrade (wat ook die ringe mooi bymekaar hou) en dun seindrade.
Die LED's is 0 tot 60 genommer, vanaf die onderste buitenste LED en met die kloksgewys na binne. Die middelste LED is nommer 60.
Elke visualisering maak staat op tweedimensionele data-skikkings, wat elke LED in 'n spesifieke posisie vir die doelvisualisasiesegment in kaart bring.
Byvoorbeeld, vir konsentriese sirkels is daar 5 segmente:
- Buitekring, LED's 0 - 23, 24 LED's lank
- Tweede buitenste sirkel, LED's 24 - 39, 16 LED's lank
- Derde sirkel (middel), LED's 40 - 51, 12 LED's lank
- Tweede binnekring, LED's 52 - 59, 8 LED's lank
- Binne LED, LED 60, 1 LED lank
Die visualisering karteer 5 uit 7 klankkanale en brand LED's geleidelik volgens hul posisie in die sirkelvormige band wat in verhouding is tot die klankvlak in die band.
Ander visualisasies gebruik verskillende datastrukture en -formate, maar die idee is altyd om visualisasies te laat dryf deur die data -skikkings, nie soseer deur die kode nie. Op hierdie manier kan visualisasies in verskillende vorms aangepas word (meer of minder LED's, meer EQ -bande) sonder om die kode te verander, net die waardes in die data -skikkings.
So lyk die datastruktuur vir visualisering 1 byvoorbeeld in die skets:
// Visualisering 1 & 3 - volle 5 sirkels konstante greep 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}};
Stap 4: Visualisasies
Tot dusver is daar 7 visualisasies en 'n aanvangsanimasie:
Begin-animasie
As die toestel aangeskakel word, word 'n nabootsing van 'n vuurwerk vertoon. Dit was veronderstel om 'n LED- en Servo -toetsreeks te wees, maar het later ontwikkel tot 'n geanimeerde weergawe van so 'n toets
Konsentrieke kleurvolle sirkels
Die ligte gaan rondom die skerm in konsentriese sirkels in verhouding tot die amplitude van die onderskeie eq -band. Willekeurig om tussen klok- en teen-kloksgewys te skakel en die kleure stadig oor die 256-kleurwiel te draai
Maltese kruis
Een band is die middelste LED. 'N Ander band is die vertikale en horisontale lyne van LED's, en die oorblywende segmente wat elk 'n EQ -band verteenwoordig. Alle segmente draai in kleure in 128 verreken om kontras te bly.
Pulserende ligte
Elke sirkel verlig alle LED's in eenstemmigheid vir 'n spesiale eq -band, terwyl die kleure stadig draai met 'n effense offset. EQ -bande word geleidelik van een sirkel na die volgende verskuif, wat uiterlike vordering veroorsaak.
Kaggel
Die bande is halfsirkels verlig van onder na bo, begin met 'n helderrooi en geel toevoeging op die pad na bo, wat 'n brandende vuur in 'n kaggel simuleer. Af en toe skiet helder wit "vonk" lukraak op. Daar is geen kleurrotasie nie
Werkligte
Elke konsentriese sirkel is 'n aparte EQ -band. Die voorste LED's is die op die vertikale lyn onder die middelste LED. Sodra die LED in verhouding tot die bandamplitude aangesteek is, begin dit "hardloop" om die onderskeie sirkel en neem die intensiteit stadig af. Beide rotasies met die kloksgewys en teen die kloksgewys word ondersteun, en willekeurig verander.
Ligte bome
Die segmente word reguit van die onderste LED tot bo en dan sywaarts verlig in konsentriese halfsirkels wat palmbome naboots. Kleur rotasie.
Sywaartse segmente
Dit is 'n weergawe van die vorige Maltese kruis met slegs 2 diagonale segmente. Dit lyk asof dit lyk soos die ikoon vir klankgolwe.
Stap 5: aanraakknoppies
Daar is 4 aanraakgevoelige knoppies:
- Blaai deur visualisasies en hou die huidige aan totdat 'n ander gekies is (standaard visualiseer elke 30 sekondes)
- Die huidige kleurskema "vries" / "ontvries" - as u van 'n spesifieke kleurkombinasie hou, kan u dit vries - die kleurrotasie is uitgeskakel en die visualisering gaan voort met net hierdie kleurpalet
- Pas die mikrofoongevoeligheid aan
- Skakel die "dansmodus" aan / uit
In die dansmodus sal die toestel probeer om die "maat" van die musiek wat tans speel, op te spoor en sy kop te draai volgens die maat. Tot dusver is die "dans" eerder ongemaklik as mooi, om eerlik te wees.
Stap 6: Beat Detection en servo "dans"
Die toestel probeer voortdurend die 'maat' van die huidige deuntjie opspoor as 'n afstand tussen opeenvolgende pieke van die 63Hz -band. Sodra dit opgespoor is (en slegs as die dansmodus AAN is), sal die toestel sy servomotor aktiveer om willekeurig links of regs te draai volgens die maat.
Enige helder idees oor hoe om dit meer betroubaar te maak, is welkom!
'Music_Test_LED' skets lewer 7 EQ -bande uit op 'n manier wat geskik is vir plotte met behulp van Arduino IDE.
Stap 7: 3D -vorms
Die hele Party Lights -vergadering is van nuuts af ontwerp met Autodesk TinkerCAD.
Die oorspronklike ontwerp is hier geleë. Die gids "files/3D" op github.com bevat die STL -modelle.
Hierdie ontwerp illustreer hoe die toestel saamgestel lyk.
Al die komponente is gedruk en dan aanmekaar geplak/vasgeplak.
Die "koepel" huisves die mikrokontroleerder, Bluetooth -bord en 'n mikrofoon. Die mikrokontroleerder word op 'n 40 mm x 60 mm bord geplaas en word ondersteun deur aangewese relings.
Die servo is in die "been" van die koepel geleë, terwyl knoppies in die basis is.
Die batterykompartement word spesifiek gedruk vir die tipe battery wat in die afdeling benodigdhede genoem word. As u kies om 'n ander battery te gebruik, moet die kompartement dienooreenkomstig herontwerp word.
Stap 8: Kragtoevoer
Dit lyk asof 'n ultra-kompakte 5000-mah dubbele USB-uitsette, 'n Super Slim Power Bank, genoeg krag bied vir ure se werking.
Die batterykompartement is so ontwerp dat dit loskom van die res van die toestel en vervang kan word met die wat ontwerp is vir 'n ander tipe battery.
Die USB-prop is geplaas en warm vasgeplak om die battery aan te sluit terwyl dit ingeskuif word.
Stap 9: Bluetooth -beheer
'N HC-05-module word bygevoeg om die toestel draadloos te beheer.
As dit aan is, skep die toestel 'n Bluetooth -verbinding genaamd "LEDDANCE" waarmee u u telefoon kan koppel.
Ideaal gesproke moet daar 'n app wees waarmee PartyLights beheer kan word ('n kleurpalet kies, knoppies druk, ens.). Ek het egter nog nie een geskryf nie.
Laat weet my as u belangstel om 'n Android- of iOS -app vir partytjie -ligte te skryf!
Om die toestel te beheer, kan u tans die Bluetooth -terminale -app gebruik en die volgende opdragte stuur:
- LEDDBUTT - waar '1', '2', '3' of '4' simuleer, druk op 'n onderskeie knoppie. Byvoorbeeld: LEDDBUTT1
- LEDDCOLRc - waar c 'n getal is van 0 tot 255 - posisie van die gewenste kleur op 'n kleurwiel. Die toestel skakel oor na die gespesifiseerde LED -kleur.
-
LEDDSTAT - gee 'n nommer van 3 tekens wat slegs uit '0's en' 1's bestaan:
- eerste posisie: '0' - kleure draai nie, '1' - kleure draai
- tweede posisie: '0' - dansmodus is af, '1' - dansmodus is aan
- derde posisie: '0' - mikrofoon is in normale versterking, '1' - mikrofoon is in hoë wins
Stap 10: Beheer -app gebaseer op Blynk
Blynk (blynk.io) is 'n hardeware-agnostiese IoT-platform. Ek het Blynk in my IoT -outomatiese plantbesproeiingstelsel gebruik en was onder die indruk van die gemak en robuustheid van die platform.
Blynk ondersteun die verbinding met randtoestelle via Bluetooth - presies wat ons nodig het vir PartyLights.
As u dit nog nie gedoen het nie, laai die Blynk -app af, registreer en herskep die Blynk PartyLights -app met behulp van die skermkiekies wat by hierdie stap aangeheg is. Maak seker dat die virtuele penopdragte dieselfde is as op die kiekies, anders werk die knoppies op die app nie soos bedoel nie.
Die lêer "blynk_settings.h" bevat my persoonlike Blynk UID. As u u projek skep, word 'n nuwe een aan u toegewys.
Laai die PartyLightsBlynk.ino -skets op, maak die app aan. Kombineer met 'n Bluetooth -toestel en geniet die partytjie.
Stap 11: Sketse en biblioteke
Die belangrikste skets- en ondersteuningslêers is hier op Github.com.
Die volgende biblioteke is gebruik in die Party Lights -skets:
- TaskScheduler - koöperatiewe multitasking - hier (ontwikkel deur my)
- AverageFilter - sjabloon gemiddelde filter - hier (ontwikkel deur my)
- Servo - Servo control - is 'n standaard Arduino -biblioteek
- WS2812B -NEOPixel -beheer - kom as deel van die STM32 -pakket
Hierdie Wiki -bladsy verduidelik hoe u STM32 -borde met Arduino IDE kan gebruik.
Stap 12: Toekomstige verbeterings
'N Paar dinge kan verbeter word in hierdie ontwerp, wat u kan oorweeg as u met hierdie projek begin:
- Gebruik ESP32 in plaas van Maple Mini -bord. ESP32 het 2 CPU's, Bluetooth- en WiFi -stapels en kan op 60MHz, 120MHz en selfs 240MHz werk.
- Kleiner ontwerp - die gevolglike toestel is groot. Kan meer kompak wees (veral as u die dansidee en die verwante servo laat val)
- Klitsopsporing kan oneindig verbeter word. Wat natuurlik vir ons mense voorkom, blyk 'n moeilike taak vir 'n rekenaar te wees
- Baie meer visualisasies kan bedink en geïmplementeer word.
- En natuurlik kan 'n app geskryf word om die toestel draadloos te beheer met 'n koel UI.
Aanbeveel:
FuseLight: draai oud/versmelt tubelight in studio/partytjie -lig: 3 stappe (met foto's)
FuseLight: verander ou/gesmelte tubelight in studio/partytjie -lig: hier het ek 'n gesmelte tubelight in 'n studio/part -lig verander met behulp van basiese gereedskap, rgb -ligte en 3D -afdrukke
Partytjie veilig hierdie somer met 'n Arduino bloed-alkohol reaktiewe LED-beker: 10 stappe
Partytjie veilig hierdie somer met 'n Arduino bloed-alkohol reaktiewe LED-beker: Projekvlak Moeilikheid: intermediêr Vaardighede benodig:- Lees en herhaal 'n diagram- Soldeer as u besluit om nie vooraf gesoldeerde onderdele te koop Projekinleiding In die Verenigde State en oor die hele wêreld het alkohol ernstige gesondheidsbedreigings inhou
Miniatuur draagbare sluitversterker (en sonarstelsel vir draagbare, ens.): 7 stappe
Miniatuur draagbare sluitversterker (en sonarstelsel vir draagbare, ens.): Bou 'n miniatuur laekoste-versterker wat ingebed kan word in 'n brilraam en om 'n sonarsigstelsel vir blindes te skep, of 'n eenvoudige ultraklank masjien wat u hart voortdurend monitor en mens-masjienleer gebruik om te waarsku
Draagbare draagbare retropie: 7 stappe
Portable Handheld Retropie: Dit is die video waarvan ons gegaan het. Ons het byna dieselfde materiaal gebruik as die persoon in hierdie gids. As die video u help om beter te verstaan hoe u 'n draagbare retropie kan maak, kan u dit eerder kyk. Uiteindelik behoort u iets te hê
Die partytjie -knoppie: 6 stappe
The Party Button: Stel jou voor: jy en jou instrucatbles -vriende het pas die beste instruksies op die planeet gepubliseer. Watter beter manier om fees te vier as om jou nuwe PARTY -KNOPPIE uit te sweep !!!!! P.S. Ek vra by voorbaat verskoning vir sommige van hierdie foto's