Satura rādītājs:
- Piegādes
- 1. solis: ideja
- 2. darbība: shematiska un skaņas apstrāde
- 3. solis: LED ritenis
- 4. solis: vizualizācijas
- 5. darbība: pieskārienu pogu vadība
- 6. darbība: sitienu noteikšana un servo "dejošana"
- 7. solis: 3D formas
- 8. solis: barošanas avots
- 9. darbība: Bluetooth vadība
- 10. darbība: kontrolējiet lietotni, kuras pamatā ir Blynk
- 11. darbība. Skices un bibliotēkas
- 12. solis. Turpmākie uzlabojumi
Video: Pārnēsājamās ballīšu gaismas: 12 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Tinkercad projekti »
Vai jūs varat ienest ballītē gaismu un padarīt to jautrāku?
Tāds bija jautājums. Un atbilde ir JĀ (protams).
Šī pamācība ir saistīta ar pārnēsājamas ierīces izveidi, kas klausās mūziku un rada mūzikas vizualizāciju no koncentriskajiem Neopixel gaismas diodes gredzeniem.
Ierīce tika mēģināta likt „dejot”, proti, pāriet uz mūzikas ritmu, taču sitienu noteikšana izrādījās sarežģītāks uzdevums, nekā izklausās (nav paredzēts puns), tāpēc „dejot” ir mazliet neērti, bet joprojām ir tur.
Ierīce ir aprīkota ar Bluetooth un reaģēs uz teksta komandām. Man nebija laika uzrakstīt lietotni Party Lights kontrolei (vai nu Android, vai iOS). Ja esi uzdevuma augstumos - lūdzu, dari man zināmu !!!
Ja jums patīk šī pamācība, lūdzu, balsojiet par to konkursā Make It Glow!
Piegādes
Lai izveidotu ballīšu gaismas, jums būs nepieciešams:
- STM32F103RCBT6 Leaflabs Leaf Maple Mini USB ARM Cortex -M3 modulis Arduino (saite šeit) - ierīces smadzenes. Šīs salīdzinoši lētās ierīces ir tik jaudīgas, ka nav skaidrs, kāpēc jūs kādreiz atgrieztos Arduino.
- MSGEQ7 joslas grafiskais ekvalaizers IC DIP-8 MSGEQ7 (saite šeit)
- HC-05 vai HC-06 Bluetooth modulis (saite šeit)
- Adafruit MAX9814 mikrofons (saite šeit)
- Standarta servomotors (saite šeit) ir tas, ka vēlaties, lai jūsu ierīce "dejotu"
- CJMCU 61 bitu WS2812 5050 RGB LED draivera izstrādes padome (saite šeit)
- TTP223 skārientaustiņu moduļa kapacitatīvi iestatāms pašbloķēšanas/bez bloķēšanas slēdžu panelis (saite šeit)
-
Īpaši kompakts 5000 mAh divkāršs USB izejas Super Slim Power Bank (saite šeit)
- Rezistori, kondensatori, vadi, līme, skrūves, prototipēšanas dēļi utt.
1. solis: ideja
Ideja ir izveidot pārnēsājamu ierīci, ko varētu novietot tuvu mūzikas avotam un kas radītu krāsainas mūzikas vizualizācijas. Jums vajadzētu būt iespējai kontrolēt ierīces darbību, izmantojot pogas (pieskārienu) un Bluetooth.
Pašlaik Party Lights ir ieviestas 7 vizualizācijas (dariet man zināmu, ja jums ir vairāk ideju!):
- Koncentriski krāsaini apļi
- Maltas krusts
- Pulsējošas gaismas
- Kamīns (mans personīgais favorīts)
- Skriešanas gaismas
- Gaiši koki
- Sānu segmenti
Pēc noklusējuma ierīce katru minūti vizualizēs ciklu. Tomēr lietotājs var izvēlēties pieturēties pie vienas vizualizācijas un/vai manuāli pārvietoties pa tām.
Vizualizācijas, kas rotē to krāsu paleti, var tikt arī “iesaldētas”, ja lietotājam patīk kāda konkrēta krāsu kombinācija.
Un kā vēl pāris vadīklas, lietotājs var mainīt mikrofona jutību un iespējot/atspējot servomotoru "deju" režīmu.
2. darbība: shematiska un skaņas apstrāde
Fritzing shematisks fails ir iekļauts Github iepakojumā apakšmapes "faili".
Būtībā MSEQ7 mikroshēma veic audio apstrādi, sadalot audio signālu 7 joslās: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2,5 kHz, 6,25 kHz un 16 kHz
Mikrokontrolleris izmanto šīs 7 joslas, lai izveidotu dažādas vizualizācijas, pamatā kartējot attiecīgās joslas amplitūdas LED gaismas intensitātē un krāsu kombinācijās.
Skaņas avots ir mikrofons ar 3 līmeņu pastiprinājuma kontroli. Jūs varat pārvietoties pa pastiprinājuma iestatījumiem, izmantojot vienu no pogām atkarībā no tā, cik tālu/skaļš ir skaņas avots.
Mikrokontrolleris arī mēģina veikt "sitienu" noteikšanu 63 Hz "basa" joslā. Es joprojām strādāju pie uzticama veida, kā noteikt un uzturēt sitienu izlīdzināšanu.
"Pieskārienu" pogu izmantošana bija eksperiments. Es domāju, ka tie darbojas diezgan labi, tomēr preses atsauksmju trūkums nedaudz mulsina.
3. solis: LED ritenis
Vizualizācijas kodols ir 61 LED ritenis.
Lūdzu, ņemiet vērā, ka detaļa ir atsevišķi gredzeni, kas jums būs jāsaliek kopā. Es elektropārvades līnijām drīzāk izmantoju vara vadus (kas arī labi tur gredzenus kopā) un plānus signāla vadus.
Gaismas diodes ir numurētas no 0 līdz 60, sākot no apakšējās ārējās gaismas diodes un virzoties pulksteņrādītāja virzienā. Centrālais LED ir numurs 60.
Katra vizualizācija balstās uz divdimensiju datu masīviem, kas kartē katru gaismas diodi noteiktā pozīcijā mērķa vizualizācijas segmentam.
Piemēram, koncentriskiem apļiem ir 5 segmenti:
- Ārējais aplis, gaismas diodes 0 - 23, 24 gaismas diodes
- Otrais ārējais aplis, gaismas diodes 24 - 39, 16 gaismas diodes
- Trešais aplis (centrā), gaismas diodes 40 - 51, 12 gaismas diodes
- Otrais iekšējais aplis, gaismas diodes 52 - 59, 8 gaismas diodes
- Inside LED, LED 60, 1 LED garš
Vizualizācija kartē 5 no 7 audio kanāliem un pakāpeniski iedegas gaismas diodes atbilstoši to atrašanās vietai apļveida joslā proporcionāli skaņas līmenim joslā.
Citās vizualizācijās tiek izmantotas dažādas datu struktūras un formāti, taču ideja vienmēr ir tāda, lai vizualizācijas virzītu datu masīvi, nevis kods. Tādā veidā vizualizācijas var pielāgot dažādām formām (vairāk vai mazāk gaismas diodes, vairāk EQ joslu), nemainot kodu, tikai vērtības datu masīvos.
Piemēram, skicē izskatās datu vizualizācijas 1 struktūra:
// 1. un 3. vizualizācija - pilni 5 apļi, kas sastāv no baita 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. solis: vizualizācijas
Līdz šim ir 7 vizualizācijas un sākuma animācija:
Sākuma animācija
Kad ierīce ir ieslēgta, tiek parādīta uguņošanas imitācija. Tam vajadzēja būt LED un Servo testa secībai, bet vēlāk tas kļuva par šāda testa animētu versiju
Koncentriski krāsaini apļi
Gaismas ap displeju koncentriskos apļos proporcionāli attiecīgās ekvivalences joslas amplitūdai. Nejauši pārslēdzieties starp pulksteņrādītāju un pretēji pulksteņrādītāja virzienam un lēnām pagriežot krāsas 256 krāsu ritenī
Maltas krusts
Viena josla ir centrālais LED. Vēl viena josla ir gaismas diodes vertikālās un horizontālās līnijas, un atlikušie segmenti attēlo katru EQ joslu. Visi segmenti ir rotējošas krāsas 128 nobīdēs, lai saglabātu kontrastu.
Pulsējošas gaismas
Katrs aplis vienlaicīgi iedegas visas gaismas diodes, lai izveidotu īpašu ekvivalentu joslu, vienlaikus lēnām rotējot krāsas ar nelielu nobīdi. EQ joslas tiek pakāpeniski pārvietotas no viena apļa uz otru, radot progresu uz āru.
Kamīns
Joslas ir daļēji apļi, kas izgaismoti no apakšas uz augšu, sākot ar spilgti sarkanu un pievienojot dzeltenu augšupceļā, imitējot degošu uguni kamīnā. Reizēm spilgti balta "dzirkstele" nejauši izšauj. Nav krāsu rotācijas
Skriešanas gaismas
Katrs koncentrisks aplis ir atsevišķa EQ josla. Vadošās gaismas diodes ir tās, kas atrodas vertikālā līnijā zem centrālās gaismas diodes. Kad gaismas diode iedegas proporcionāli joslas amplitūdai, tā sāk "darboties" ap attiecīgo loku, lēnām samazinot intensitāti. Tiek atbalstīti gan pulksteņa rādītāja, gan pretēji pulksteņrādītāja kustības virzieni, nejauši pārslēdzoties.
Gaiši koki
Segmenti ir izgaismoti taisnā līnijā no apakšējās gaismas diodes uz augšu un pēc tam uz sāniem koncentriskos puslokos, imitējot palmas. Krāsu rotācija.
Sānu segmenti
Šī ir iepriekšējā Maltas krusta versija, kurā izmantoti tikai 2 diagonāli segmenti. Domājams, līdzinās skaņas viļņu ikonai.
5. darbība: pieskārienu pogu vadība
Ir 4 skārienjutīgas pogas:
- Ciklējiet vizualizācijas un turpiniet pašreizējo, līdz tiek izvēlēta cita (pēc noklusējuma vizualizācijas cikls ik pēc 30 sekundēm)
- Pašreizējā krāsu shēma "iesaldēt" / "atsaldēt" - ja jums patīk kāda konkrēta krāsu kombinācija, varat to iesaldēt - krāsu pagriešana ir atspējota un vizualizācija turpināsies tikai ar šo krāsu paleti
- Pielāgojiet mikrofona jutību
- Ieslēdziet / izslēdziet deju režīmu
Dejošanas režīmā ierīce mēģinās noteikt pašlaik atskaņotās mūzikas "sitienu" un pagriezt galvu atbilstoši ritmam. Līdz šim "dejošana" ir diezgan neērta nekā skaista, ja godīgi.
6. darbība: sitienu noteikšana un servo "dejošana"
Ierīce nepārtraukti cenšas noteikt pašreizējās melodijas "sitienu" kā attālumu starp 63 Hz joslas secīgajām virsotnēm. Kad ierīce ir konstatēta (un tikai tad, ja dejas režīms ir ieslēgts), ierīce aktivizēs servomotoru, lai nejauši pagrieztos pa kreisi vai pa labi atbilstoši ritmam.
Gaidītas jebkuras gaišas idejas, kā to padarīt uzticamāku!
“Music_Test_LED” skice izvada 7 EQ joslas tādā veidā, kas piemērots zīmēšanai, izmantojot Arduino IDE.
7. solis: 3D formas
Visa Party Lights montāža tika izstrādāta no jauna, izmantojot Autodesk TinkerCAD.
Sākotnējais dizains atrodas šeit. Vietnē github.com esošā mape "files/3D" satur STL modeļus.
Šis dizains parāda, kā ierīce izskatās samontēta.
Visas sastāvdaļas tika izdrukātas un pēc tam samontētas/salīmētas.
"Kupolā" atrodas mikrokontrolleris, Bluetooth dēlis un mikrofons. Mikrokontrolleris ir novietots uz 40 mm x 60 mm plāksnes, un to atbalsta noteiktas sliedes.
Servo atrodas kupola "kājā", bet pogas atrodas pamatnē.
Akumulatora nodalījums ir uzdrukāts speciāli akumulatora tipam, kas minēts sadaļā Piegādes. Ja izvēlaties izmantot citu akumulatoru, nodalījums būs attiecīgi jāpārveido.
8. solis: barošanas avots
Šķiet, ka īpaši kompakta 5000 mAh dubultā USB izeja Super Slim Power Bank nodrošina pietiekamu jaudu stundām ilgi.
Akumulatora nodalījums ir veidots tā, lai tas atdalītos no pārējās ierīces un to varētu aizstāt ar citu, kas paredzēts cita veida akumulatoram.
USB spraudnis tika novietots un karsti pielīmēts vietā, lai pievienotu akumulatoru, kad tas slīd.
9. darbība: Bluetooth vadība
Ir pievienots HC-05 modulis, lai nodrošinātu ierīces bezvadu vadību.
Kad ierīce ir ieslēgta, tā izveido Bluetooth savienojumu ar nosaukumu “LEDDANCE”, ar kuru varat savienot tālruni pārī.
Ideālā gadījumā vajadzētu būt lietotnei, kas ļauj kontrolēt PartyLights (krāsu paletes izvēle, pogu simulācijas simulēšana utt.). Tomēr es vēl neesmu uzrakstījis nevienu.
Ja vēlaties palīdzēt rakstīt Android vai iOS lietotni ballīšu gaismām, lūdzu, informējiet mani!
Lai kontrolētu ierīci, pašlaik varat izmantot Bluetooth termināļa lietotni un nosūtīt šādas komandas:
- LEDDBUTT - kur ir '1', '2', '3' vai '4' simulē attiecīgās pogas nospiešanu. Piemēram: LEDDBUTT1
- LEDDCOLRc - kur c ir skaitlis no 0 līdz 255 - vēlamās krāsas pozīcija uz krāsu riteņa. Ierīce pārslēgsies uz norādīto LED krāsu.
-
LEDDSTAT - atgriež 3 rakstzīmju skaitli, kas sastāv tikai no '0' un '1':
- pirmā pozīcija: '0' - krāsas negriežas, '1' - krāsas rotē
- otrā pozīcija: '0' - deju režīms ir izslēgts, '1' - deju režīms ir ieslēgts
- trešā pozīcija: '0' - mikrofons ir normālā pastiprinājumā, '1' - mikrofons ir lielā pastiprinājumā
10. darbība: kontrolējiet lietotni, kuras pamatā ir Blynk
Blynk (blynk.io) ir aparatūras agnostiķu IoT platforma. Es izmantoju Blynk savā norādītajā IoT automātiskajā augu apūdeņošanas sistēmā, un mani pārsteidza platformas vieglums un izturība.
Blynk atbalsta savienojumu ar malas ierīcēm, izmantojot Bluetooth - tieši tas, kas mums nepieciešams PartyLights.
Ja vēl neesat to izdarījis, lūdzu, lejupielādējiet lietotni Blynk, reģistrējieties un atjaunojiet lietotni Blynk PartyLights, izmantojot šim darbam pievienotos ekrānuzņēmumus. Lūdzu, pārliecinieties, vai virtuālās tapas ir tādas pašas kā ekrānuzņēmumos, pretējā gadījumā lietotnes pogas nedarbosies, kā paredzēts.
Fails "blynk_settings.h" satur manu personīgo Blynk UID. Kad izveidojat savu projektu, tam tiks piešķirts jauns, ko izmantot.
Augšupielādējiet PartyLightsBlynk.ino skici, aktivizējiet lietotni. Savienojiet pārī ar Bluetooth ierīci un izbaudiet ballīti.
11. darbība. Skices un bibliotēkas
Galvenā skice un atbalsta faili atrodas vietnē Github.com.
Party Lights skicē tika izmantotas šādas bibliotēkas:
- TaskScheduler - daudzuzdevumu kooperatīvs - šeit (izstrādāju es)
- AverageFilter - veidnes vidējais filtrs - šeit (es izstrādāju)
- Servo - Servo vadība - ir standarta Arduino bibliotēka
- WS2812B -NEOPixel control - nāk kā daļa no STM32 paketes
Šajā Wiki lapā ir paskaidrots, kā izmantot STM32 dēļus ar Arduino IDE.
12. solis. Turpmākie uzlabojumi
Šajā dizainā varētu uzlabot dažas lietas, kuras jūs varētu apsvērt, ja sākat šo projektu:
- Maple Mini dēļa vietā izmantojiet ESP32. ESP32 ir 2 procesori, Bluetooth un WiFi kaudzes, un tas var darboties ar frekvenci 60 MHz, 120 MHz un pat 240 MHz.
- Mazāks dizains - iegūtā ierīce ir liela izmēra. Varētu būt kompaktāks (īpaši, ja atmetat dejas ideju un ar to saistīto servo)
- Sitienu noteikšanu varētu bezgalīgi uzlabot. Tas, kas dabiski nāk mums, cilvēkiem, šķiet, ir grūts datora uzdevums
- Varētu izdomāt un īstenot daudz vairāk vizualizācijas.
- Un, protams, varētu uzrakstīt lietotni, lai vadītu ierīci bezvadu režīmā ar vēsu lietotāja interfeisu.
Ieteicams:
Eduarduino dejojošo ballīšu robots!: 5 soļi
Eduarduino dejojošo ballīšu robots!: Vai cenšaties kļūt slavens vietnē Tik-Tok? Mums ir risinājums jums! Eduarduino ir jūsu personīgais Tik-Tok starpniekserveris! Viņš ir dejojošs robots, kurš spēj izpildīt visas dejas kustības, kuras jūs nevarat! Eduarduino augstas precizitātes kustību sistēmu iedvesmoja t
Pārnēsājamas Bluetooth austiņas: 4 soļi
Pārnēsājamās Bluetooth austiņas: nesen es nejauši salauzu tālruņa audio ligzdu. Tas bija tik neapmierinoši, ka visi veikali tika slēgti koronavīrusa pandēmijas dēļ un ka es nevarēju to labot. Bet man nācās mācīties tiešsaistē. Es nekādi nevarēju traucēt
Vairāk nekā 8 jūdzes pirmās universālās magnētiskās pārnēsājamās tapas!: 5 soļi
Vairāk nekā 8 jūdzes pirmās universālās magnētiskās pārnēsājamās tapas !: Hei! Mans vārds ir Džordžina Jeboa, un es nesen izveidoju šīs magnētiskās tapas, pamatojoties uz manas tīmekļa komiksas “Vairāk nekā 8 jūdzes” rakstzīmēm! Saiti uz tīmekļa komiksa galveno lapu varat atrast zem šī ievada un saites Tapas. Es izveidoju šīs tapas kā
Kā automātiski palaist pārnēsājamas lietotnes no kompaktdiska: 7 soļi
Kā automātiski palaist pārnēsājamas lietotnes no kompaktdiska: šeit varat uzzināt, kā ievietot bezmaksas lietotnes kompaktdiskā. Jūs varat palaist lietojumprogrammu, neradot datorā nekādus failus, tāpēc varat to ielādēt un izņemt no datora, neradot traucējumus. Tas ir arī lieliski, ja dators, ar kuru vēlaties strādāt, ir atpūties
Brilles ar lukturiem un divu ballīšu režīmu: 12 soļi
Brilles ar priekšējiem lukturiem un divu ballīšu režīms: šeit ir norādījumi no gala līdz galam, lai izveidotu savas DIY brilles, kas aizstās jūs ar nepatīkamo veco galvas lukturi, ar papildu funkcijām, kas padarīs jūs par zvaigzni nākamajā Helovīna ballītē, izmantojot divu ballīšu režīmu . Un tas var aiziet tik tālu, ka aizstājot y