Orodha ya maudhui:

Taa za Sherehe za Kubebeka: Hatua 12 (na Picha)
Taa za Sherehe za Kubebeka: Hatua 12 (na Picha)

Video: Taa za Sherehe za Kubebeka: Hatua 12 (na Picha)

Video: Taa za Sherehe za Kubebeka: Hatua 12 (na Picha)
Video: MAIDS WAINGIA BILA VIATU UKUMBINI !! NA WANAVYOJUA KURINGA SASA! |GadsonAndSalome |MCKATOKISHA 2024, Novemba
Anonim
Image
Image
Wazo
Wazo

Miradi ya Tinkercad »

Je! Unaweza kuleta mwangaza kwenye sherehe na kuifurahisha zaidi?

Hilo ndilo swali. Na jibu ni NDIYO (bila shaka).

Mafundisho haya ni juu ya kutengeneza kifaa kinachoweza kusikika ambacho kinasikiliza muziki na huunda taswira ya muziki kutoka kwa pete zenye umakini za LED za Neopixel.

Jaribio lilifanywa kukifanya kifaa "densi", yaani, kuhamia kwenye upigaji wa muziki, lakini kugundua kupiga ilionekana kuwa kazi ngumu zaidi kuliko inavyosikika (hakuna pun iliyopangwa), kwa hivyo "kucheza" ni ngumu kidogo, lakini bado iko.

Kifaa kimewezeshwa na Bluetooth na kitajibu amri za maandishi. Sikuwa na wakati wa kuandika App kudhibiti Taa za Chama (iwe Android au iOS). Ikiwa una jukumu hili - tafadhali nijulishe !!!

Ikiwa ungependa hii inayoweza kufundishwa, tafadhali ipigie kura katika shindano la Make It Glow!

Vifaa

Ili kujenga Taa za Chama utahitaji:

  • STM32F103RCBT6 Leaflabs Leaf Maple Mini USB ARM Cortex-M3 Module for Arduino (kiungo hapa) - ubongo wa kifaa. Vifaa hivi vya bei rahisi ni vya nguvu sana, haijulikani kwa nini unaweza kurudi Arduino.
  • MSGEQ7 Band Graphic Equalizer IC DIP-8 MSGEQ7 (kiungo hapa)
  • HC-05 au HC-06 moduli ya Bluetooth (kiungo hapa)
  • Kipaza sauti ya Adafruit MAX9814 (kiungo hapa)
  • Gari ya kawaida ya servo (kiungo hapa) unataka kifaa chako "kucheza"
  • CJMCU 61 Bit WS2812 5050 RGB Bodi ya Maendeleo ya Dereva wa LED (kiungo hapa)
  • Moduli ya Ufunguo wa TTP223 ya Kuweka Uwezo wa Kujifunga / Hakuna-Kubadilisha Bodi (kiungo hapa)
  • Ultra Compact 5000-mah Dual USB Output Super Slim Power Bank (kiungo hapa)

  • Resistors, capacitors, waya, gundi, screws, prototyping bodi, nk nk.

Hatua ya 1: Wazo

Wazo
Wazo

Wazo ni kuwa na kifaa kinachoweza kubeba ambacho kinaweza kuwekwa karibu na chanzo cha muziki, na ambacho kingeunda taswira ya muziki yenye rangi. Unapaswa kudhibiti tabia ya kifaa kupitia vifungo (kugusa) na Bluetooth.

Hivi sasa, Taa za Chama zina vielelezo 7 vilivyotekelezwa (nijulishe ikiwa una maoni zaidi!):

  1. Duru zenye rangi ya kuvutia
  2. Msalaba wa Kimalta
  3. Taa za kusukuma
  4. Fireplace (kipenzi changu binafsi)
  5. Taa za kukimbia
  6. Miti nyepesi
  7. Sehemu za kando

Kwa chaguo-msingi, kifaa kitazunguka kupitia taswira kila dakika. Walakini, mtumiaji anaweza kuchagua kushikamana na taswira moja na / au mzunguko wa mikono kupitia hizo.

Vielelezo vinavyozunguka palette yao ya rangi pia vinaweza "kugandishwa" ikiwa mtumiaji anapenda mchanganyiko fulani wa rangi.

Na kama vidhibiti kadhaa, mtumiaji anaweza kubadilisha uelewa wa kipaza sauti na kuwezesha / kuzima hali ya "densi" ya servo motor.

Hatua ya 2: Usindikaji wa Mpangilio na Sauti

Usindikaji wa Kimkakati na Sauti
Usindikaji wa Kimkakati na Sauti
Usindikaji wa Kimkakati na Sauti
Usindikaji wa Kimkakati na Sauti
Usindikaji wa Kimkakati na Sauti
Usindikaji wa Kimkakati na Sauti
Usindikaji wa Kimkakati na Sauti
Usindikaji wa Kimkakati na Sauti

Faili ya skirat ya kujumuisha imejumuishwa kwenye kifurushi kwenye Github kwenye folda ndogo ya "faili".

Kimsingi, chip ya MSEQ7 hufanya usindikaji wa sauti, ikigawanya ishara ya sauti katika bendi 7: 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz, na 16kHz

Mdhibiti mdogo hutumia bendi hizo 7 kuunda vielelezo anuwai, kimsingi kupanga ramani za amplitude za bendi katika kiwango cha mwangaza wa LED na mchanganyiko wa rangi.

Chanzo cha sauti ni kipaza sauti na viwango 3 vya udhibiti wa faida. Unaweza kuzunguka kupitia mipangilio ya faida ukitumia kitufe kimoja kulingana na jinsi chanzo cha sauti kinavyokuwa / kwa sauti kubwa.

Mdhibiti mdogo pia anajaribu kufanya "kugonga" kugundua kwenye bendi ya "bass" ya 63Hz. Bado ninafanya kazi kwa njia ya kuaminika ya kugundua na kudumisha mpangilio wa kipigo.

Matumizi ya vifungo vya "kugusa" ilikuwa jaribio. Nadhani zinafanya kazi vizuri, hata hivyo, ukosefu wa maoni ya waandishi wa habari unachanganya kwa kiasi fulani.

Hatua ya 3: Gurudumu la LED

Gurudumu la LED
Gurudumu la LED
Gurudumu la LED
Gurudumu la LED
Gurudumu la LED
Gurudumu la LED

Msingi wa taswira ni gurudumu 61 la LED.

Tafadhali kumbuka kuwa sehemu hiyo inakuja kama pete za kibinafsi ambazo itabidi uweke pamoja. Nilikuwa nikifikiria waya wa shaba kwa laini za umeme (ambazo pia hushikilia pete hizo vizuri), na waya nyembamba za ishara.

LED zinahesabiwa 0 hadi 60 kuanzia chini ya nje ya LED na kwenda ndani saa moja kwa moja. Kituo cha LED ni nambari 60.

Kila taswira hutegemea safu za data za pande mbili, ambazo zinaweka ramani kila LED katika nafasi maalum kwa sehemu ya taswira inayolengwa.

Kwa mfano, kwa duru zenye umakini, kuna sehemu 5:

  • Mzunguko wa nje, LED 0 - 23, 24 za LED kwa muda mrefu
  • Mzunguko wa pili wa nje, LED 24 - 39, 16 za LED ndefu
  • Mzunguko wa tatu (katikati), LED 40 - 51, 12 za LED kwa muda mrefu
  • Mzunguko wa pili wa ndani, LED 52 - 59, 8 za LED kwa muda mrefu
  • Ndani ya LED, LED 60, 1 LED ndefu

Ramani za taswira 5 kati ya vituo 7 vya sauti na huangaza mwangaza wa LED kulingana na msimamo wao katika bendi ya duara kulingana na kiwango cha sauti kwenye bendi.

Maonyesho mengine hutumia miundo na muundo tofauti wa data, lakini wazo daima huwa na taswira inayoendeshwa na safu za data, sio sana na nambari. Njia hii vielelezo vinaweza kubadilishwa kwa maumbo tofauti (LEDs zaidi au chache, bendi zaidi za EQ) bila kubadilisha nambari, maadili tu katika safu za data.

Kwa mfano, hivi ndivyo muundo wa data wa taswira 1 unavyoonekana katika mchoro:

// Taswira 1 & 3 - miduara 5 kamili ya byte 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}};

Hatua ya 4: Maonyesho

Maonyesho
Maonyesho
Taswira
Taswira
Taswira
Taswira
Maonyesho
Maonyesho

Hadi sasa kuna vielelezo 7 na uhuishaji wa kuanza:

Anza uhuishaji

Wakati kifaa kimewashwa, uigaji wa fataki huonyeshwa. Hii ilitakiwa kuwa mlolongo wa mtihani wa LED na Servo, lakini baadaye ikabadilika kuwa toleo la michoro ya jaribio kama hilo

Duru zenye rangi ya kuvutia

Taa huzunguka maonyesho katika miduara iliyozingatia sawia na ukubwa wa bendi ya eq husika. Kubadilika bila mpangilio kati ya saa-na saa-ya-saa-macho na polepole kupokezana rangi juu ya gurudumu la rangi 256

Msalaba wa Kimalta

Bendi moja ni kituo cha LED. Bendi nyingine ni mistari ya wima na usawa ya LED, na sehemu zilizobaki zinazowakilisha kila bendi ya EQ. Sehemu zote zina rangi zinazozunguka katika 128 kukabiliana ili kubaki tofauti.

Taa za kusukuma

Kila mduara huangazia LED zote kwa pamoja kwa bendi ya kujitolea, wakati inazunguka polepole na rangi kidogo. Bendi za EQ hubadilishwa kutoka kwa duara moja hadi nyingine na kuunda maendeleo ya nje.

Fireplace

Bendi hizo ni duara za nusu nuru zilizoangaziwa kutoka chini hadi juu ukianza na nyekundu nyekundu na kuongeza njano njiani ukiiga moto unaowaka mahali pa moto. Mara kwa mara "cheche" nyeupe nyeupe huibuka kwa nasibu. Hakuna mzunguko wa rangi

Taa za kukimbia

Kila mzunguko unaozingatia ni bendi tofauti ya EQ. LED zinazoongoza ni zile kwenye mstari wa wima chini ya kituo cha LED. Mara tu LED inapowashwa sawia na kiwango cha bendi, huanza "kukimbia" kuzunguka mduara husika kupungua kwa nguvu. Mzunguko wote wa saa-na kinyume cha saa unasaidiwa, ukibadilika bila mpangilio.

Miti nyepesi

Sehemu hizo zimewashwa kwa laini moja kwa moja kutoka chini ya LED juu na kisha kando kwenye miduara ya nusu inayoiga mitende. Mzunguko wa rangi.

Sehemu za kando

Hii ni toleo la Msalaba wa Kimalta uliopita na sehemu mbili tu za diagonal zilizotumiwa. Inadaiwa inafanana na ikoni ya mawimbi ya sauti.

Hatua ya 5: Udhibiti wa vifungo

Udhibiti wa Kitufe
Udhibiti wa Kitufe

Kuna vifungo 4 vya kugusa:

  1. Zungusha kupitia taswira na endelea ile ya sasa hadi nyingine ichaguliwe (kwa mzunguko wa taswira chaguomsingi kila sekunde 30)
  2. Mpangilio wa rangi wa sasa wa "Freeze" / "freeze" - ikiwa unapenda mchanganyiko fulani wa rangi unaweza kuugandisha - mzunguko wa rangi umezimwa na taswira itaendelea na rangi hii tu ya rangi
  3. Rekebisha unyeti wa maikrofoni
  4. Washa / zima "mode ya kucheza"

Katika hali ya kucheza, kifaa kitajaribu kugundua "beat" ya muziki unaocheza sasa na kugeuza kichwa chake kulingana na kipigo. Hadi sasa "kucheza" ni ngumu zaidi kuliko nzuri, kusema ukweli.

Hatua ya 6: Kugundua Beat na "kucheza" kwa Servo

Kugundua Beat na Servo
Kugundua Beat na Servo

Kifaa kinajaribu kila wakati kugundua "pigo" la tune ya sasa kama umbali kati ya kilele mfululizo cha bendi ya 63Hz. Mara tu ikigunduliwa (na ikiwa tu hali ya kucheza imewashwa), kifaa kitawasha gari lake la servo kugeuza kushoto au kulia kwa nasibu kulingana na kipigo.

Mawazo yoyote mazuri juu ya jinsi ya kufanya hii kuaminika zaidi yanakaribishwa!

Mchoro wa 'Music_Test_LED' hutoa bendi 7 za EQ kwa njia inayofaa kupanga njama kwa kutumia Arduino IDE.

Hatua ya 7: Maumbo ya 3D

Maumbo ya 3D
Maumbo ya 3D
Maumbo ya 3D
Maumbo ya 3D
Maumbo ya 3D
Maumbo ya 3D

Mkutano mzima wa Taa za Chama ulibuniwa kutoka mwanzoni kwa kutumia Autodesk TinkerCAD.

Ubunifu wa asili uko hapa. Folda ya "faili / 3D" kwenye github.com ina mifano ya STL.

Ubunifu huu unaonyesha jinsi kifaa kinaonekana kukusanyika.

Vipengele vyote vilichapishwa na kisha kukusanywa / kushikamana pamoja.

"Kuba" ni mwenyeji wa microcontroller, bodi ya Bluetooth, na kipaza sauti. Mdhibiti mdogo amewekwa kwenye bodi ya 40mm x 60 mm na inasaidiwa na reli zilizoteuliwa.

Servo iko katika "mguu" wa kuba, wakati vifungo viko kwenye msingi.

Sehemu ya betri imechapishwa haswa kwa aina ya betri iliyotajwa katika sehemu ya Ugavi. Ikiwa unachagua kutumia betri tofauti, sehemu hiyo italazimika kutengenezwa upya ipasavyo.

Hatua ya 8: Ugavi wa Umeme

Ugavi wa Umeme
Ugavi wa Umeme
Ugavi wa Umeme
Ugavi wa Umeme

Ultra-Compact 5000-mah Dual USB Outputs Super Slim Power Bank inaonekana kutoa nguvu ya kutosha kwa masaa ya kazi.

Sehemu ya betri imeundwa kwa njia ambayo hutengana na vifaa vyote na inaweza kubadilishwa na ile iliyoundwa kwa aina tofauti ya betri.

Kuziba USB ilikuwa imewekwa vizuri na imechomwa moto mahali ili kuunganisha betri inapoteleza.

Hatua ya 9: Udhibiti wa Bluetooth

Udhibiti wa Bluetooth
Udhibiti wa Bluetooth

Moduli ya HC-05 imeongezwa ili kutoa njia ya kudhibiti kifaa bila waya.

Wakati umewashwa, kifaa huunda unganisho la Bluetooth linaloitwa "LEDDANCE", ambalo unaweza kuoanisha simu yako na.

Kwa kweli, inapaswa kuwa na Programu inayoruhusu kudhibiti Taa za Sherehe (kuchagua rangi ya rangi, kuiga vitufe vya vitufe, n.k.). Walakini, bado sijaandika moja.

Ikiwa una nia ya kusaidia kuandika Programu ya Android au iOS ya Taa za Sherehe, tafadhali nijulishe!

Ili kudhibiti kifaa, kwa sasa unaweza kutumia programu ya terminal ya Bluetooth, na tuma amri zifuatazo:

  • LEDDBUTT - iko wapi '1', '2', '3', au '4' inaiga kubonyeza kitufe husika. Mfano: LEDDBUTT1
  • LEDDCOLRc - ambapo c ni nambari kutoka 0 hadi 255 - nafasi ya rangi inayotakiwa kwenye gurudumu la rangi. Kifaa kitabadilika kwenda kwenye rangi ya LED iliyoainishwa.
  • LEDDSTAT - inarudi nambari ya herufi 3 iliyo na '0 na' 1's tu:

    • nafasi ya kwanza: '0' - rangi hazizunguki, '1' - rangi zinazunguka
    • nafasi ya pili: '0' - hali ya kucheza imezimwa, '1' - hali ya kucheza imewashwa
    • nafasi ya tatu: '0' - kipaza sauti iko katika faida ya kawaida, '1' - kipaza sauti iko katika faida kubwa

Hatua ya 10: Dhibiti Programu kulingana na Blynk

Kudhibiti App Kulingana na Blynk
Kudhibiti App Kulingana na Blynk
Kudhibiti App Kulingana na Blynk
Kudhibiti App Kulingana na Blynk
Kudhibiti App Kulingana na Blynk
Kudhibiti App Kulingana na Blynk
Kudhibiti App Kulingana na Blynk
Kudhibiti App Kulingana na Blynk

Blynk (blynk.io) ni jukwaa la IoT la vifaa vya ujenzi. Nilitumia Blynk katika Mfumo wangu wa Umwagiliaji wa Kiotomatiki wa IoT unaofundishwa na nilivutiwa na urahisi na uimara wa jukwaa.

Blynk inasaidia kuunganisha vifaa vya makali kupitia Bluetooth - haswa kile tunachohitaji kwa Taa za Sherehe.

Ikiwa haujafanya hivyo, tafadhali pakua Programu ya Blynk, sajili na urejeshe programu ya Blynk PartyLights ukitumia viwambo vya skrini vilivyoambatanishwa na hatua hii. Tafadhali hakikisha mgawo wa pini halisi ni sawa na kwenye viwambo vya skrini, vinginevyo, vifungo kwenye programu havitafanya kazi kama ilivyokusudiwa.

Faili "blynk_settings.h" ina Blynk UID yangu binafsi. Unapounda mradi wako, itapewa mpya utakayotumia.

Pakia mchoro wa PartyLightsBlynk.ino, choma App. Unganisha na kifaa cha Bluetooth na ufurahie sherehe.

Hatua ya 11: Mchoro na Maktaba

Michoro na Maktaba
Michoro na Maktaba

Mchoro kuu na faili zinazounga mkono ziko kwenye Github.com hapa.

Maktaba zifuatazo zilitumika katika mchoro wa Taa za Chama:

  • TaskScheduler - ushirika multitasking - hapa (iliyotengenezwa na mimi)
  • WastaniFilter - kichungi wastani cha wastani - hapa (imetengenezwa na mimi)
  • Servo - Udhibiti wa Servo - ni maktaba ya kawaida ya Arduino
  • Udhibiti wa WS2812B -NEOPixel - huja kama sehemu ya kifurushi cha STM32

Ukurasa huu wa Wiki unaelezea jinsi ya kutumia bodi za STM32 na Arduino IDE.

Hatua ya 12: Maboresho ya Baadaye

Maboresho ya Baadaye
Maboresho ya Baadaye

Vitu kadhaa vinaweza kuboreshwa katika muundo huu, ambayo unaweza kuzingatia ikiwa utaanza mradi huu:

  • Tumia ESP32 badala ya bodi ya Maple Mini. ESP32 ina 2 CPU, Bluetooth na mwingi wa WiFi, na inaweza kukimbia kwa 60MHz, 120MHz na hata 240MHz.
  • Ubunifu mdogo - kifaa kinachosababisha ni kubwa-ish. Inaweza kuwa thabiti zaidi (haswa ikiwa utaacha wazo la kucheza na servo inayohusiana)
  • Kugundua Beat inaweza kuboreshwa sana. Kinachokuja kawaida kwetu wanadamu, inaonekana kuwa kazi ngumu kwa kompyuta
  • Maonyesho mengi zaidi yanaweza kubuniwa na kutekelezwa.
  • Na, kwa kweli, Programu inaweza kuandikwa kudhibiti kifaa bila waya na UI baridi.

Ilipendekeza: