Satura rādītājs:

Pārnēsājamās ballīšu gaismas: 12 soļi (ar attēliem)
Pārnēsājamās ballīšu gaismas: 12 soļi (ar attēliem)

Video: Pārnēsājamās ballīšu gaismas: 12 soļi (ar attēliem)

Video: Pārnēsājamās ballīšu gaismas: 12 soļi (ar attēliem)
Video: NANDO pied. Edavārdi - Fizikas skolotājs (Official video) 2024, Novembris
Anonim
Image
Image
Ideja
Ideja

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
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!):

  1. Koncentriski krāsaini apļi
  2. Maltas krusts
  3. Pulsējošas gaismas
  4. Kamīns (mans personīgais favorīts)
  5. Skriešanas gaismas
  6. Gaiši koki
  7. 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

Shēma un skaņas apstrāde
Shēma un skaņas apstrāde
Shēma un skaņas apstrāde
Shēma un skaņas apstrāde
Shēma un skaņas apstrāde
Shēma un skaņas apstrāde
Shēma un skaņas apstrāde
Shēma 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

LED ritenis
LED ritenis
LED ritenis
LED ritenis
LED ritenis
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

Vizualizācijas
Vizualizācijas
Vizualizācijas
Vizualizācijas
Vizualizācijas
Vizualizācijas
Vizualizācijas
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

Pieskārienu pogu vadīklas
Pieskārienu pogu vadīklas

Ir 4 skārienjutīgas pogas:

  1. 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)
  2. 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
  3. Pielāgojiet mikrofona jutību
  4. 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"

Sitienu noteikšana un servo
Sitienu noteikšana un servo

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

3D formas
3D formas
3D formas
3D formas
3D formas
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

Enerģijas padeve
Enerģijas padeve
Enerģijas padeve
Enerģijas padeve

Šķ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

Bluetooth vadī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

Kontroles lietotne, kuras pamatā ir Blynk
Kontroles lietotne, kuras pamatā ir Blynk
Kontroles lietotne, kuras pamatā ir Blynk
Kontroles lietotne, kuras pamatā ir Blynk
Kontroles lietotne, kuras pamatā ir Blynk
Kontroles lietotne, kuras pamatā ir Blynk
Kontroles lietotne, kuras pamatā ir Blynk
Kontroles lietotne, 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

Skices un bibliotēkas
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

Turpmākie uzlabojumi
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: