Talaan ng mga Nilalaman:

Portable Party Lights: 12 Hakbang (na may Mga Larawan)
Portable Party Lights: 12 Hakbang (na may Mga Larawan)

Video: Portable Party Lights: 12 Hakbang (na may Mga Larawan)

Video: Portable Party Lights: 12 Hakbang (na may Mga Larawan)
Video: 15 CAMPERS THAT OFFER A NEXT-LEVEL CAMPING EXPERIENCE 2024, Nobyembre
Anonim
Image
Image
Ang ideya
Ang ideya

Mga Proyekto ng Tinkercad »

Maaari ka bang magdala ng ilaw sa isang pagdiriwang at gawin itong mas masaya?

Iyon ang tanong. At ang sagot ay oo (syempre).

Ang itinuturo na ito ay tungkol sa paggawa ng isang portable na aparato na nakikinig sa musika at lumilikha ng visualization ng musika mula sa mga concentric ring ng Neopixel LEDs.

Isang pagtatangka ay ginawa upang gawing "sayaw" ang aparato, ibig sabihin, lumipat sa tugtog ng musika, ngunit ang detection ng beat ay pinatunayan na isang mas kumplikadong gawain kaysa sa tunog (walang nilalayon na pun), kaya't ang "pagsayaw" ay medyo mahirap, pero nandiyan parin.

Ang aparato ay pinagana ng Bluetooth at tutugon sa mga utos ng teksto. Wala akong oras upang sumulat ng isang App upang makontrol ang Mga ilaw ng Party (alinman sa Android o iOS). Kung nasa iyo ang gawain - mangyaring ipaalam sa akin !!!

Kung nais mo ng pagtuturo na ito, mangyaring iboto ito sa paligsahan ng Make It Glow!

Mga gamit

Upang mabuo ang Mga Ilaw ng Partido kakailanganin mo:

  • STM32F103RCBT6 Leaflabs Leaf Maple Mini USB ARM Cortex-M3 Module para sa Arduino (link dito) - ang utak ng aparato. Ang mga medyo murang aparato ay napakalakas, hindi malinaw kung bakit ka babalik sa isang Arduino.
  • MSGEQ7 Band Graphic Equalizer IC DIP-8 MSGEQ7 (mag-link dito)
  • HC-05 o HC-06 Bluetooth module (mag-link dito)
  • Adafruit MAX9814 mikropono (mag-link dito)
  • Isang karaniwang servo motor (link dito) nais mong "sumayaw" ang iyong aparato
  • Ang CJMCU 61 Bit WS2812 5050 RGB LED Driver Development Board (mag-link dito)
  • TTP223 Touch Key Module Capacitive Settable Self-Lock / No-Lock Switch Board (mag-link dito)
  • Ultra Compact 5000-mah Dual USB Outputs Super Slim Power Bank (mag-link dito)
  • Mga resistor, capacitor, wire, pandikit, turnilyo, prototyping board, atbp.

Hakbang 1: Ang Ideya

Ang ideya
Ang ideya

Ang ideya ay magkaroon ng isang portable na aparato na maaaring mailagay malapit sa isang mapagkukunan ng musika, at lilikha ng mga makukulay na visualization ng musika. Dapat mong makontrol ang pag-uugali ng aparato sa pamamagitan ng mga pindutan (pindutin) at Bluetooth.

Sa kasalukuyan, ang Mga Ilaw ng Partido ay mayroong 7 pagpapakita na ipinatupad (ipaalam sa akin kung mayroon kang higit pang mga ideya!):

  1. Concentric na makulay na mga bilog
  2. Maltese krus
  3. Mga ilaw ng pulso
  4. Fireplace (aking personal na paborito)
  5. Tumatakbo na ilaw
  6. Magaan na mga puno
  7. Mga patagilid na segment

Bilang default, ikot ng aparato ang mga visualization bawat minuto. Gayunpaman, ang isang gumagamit ay maaaring pumili upang manatili sa isang visualization at / o manu-manong ikot sa pamamagitan ng mga ito.

Ang mga visualization na paikutin ang kanilang color palette ay maaari ding maging "frozen" kung gusto ng isang gumagamit ang isang partikular na kumbinasyon ng kulay.

At bilang isang pares ng higit pang mga kontrol, maaaring baguhin ng gumagamit ang pagiging sensitibo ng mikropono at paganahin / huwag paganahin ang mode na "sayaw" ng servo motor.

Hakbang 2: Pagpoproseso ng Skema at Tunog

Pagpoproseso ng Skema at Tunog
Pagpoproseso ng Skema at Tunog
Pagpoproseso ng Skema at Tunog
Pagpoproseso ng Skema at Tunog
Pagpoproseso ng Skema at Tunog
Pagpoproseso ng Skema at Tunog
Pagpoproseso ng Skema at Tunog
Pagpoproseso ng Skema at Tunog

Ang isang fritzing eskematiko file ay kasama sa pakete sa Github sa "file" subfolder.

Talaga, ginagawa ng isang maliit na tilad ng MSEQ7 ang pagproseso ng audio, paghati ng isang audio signal sa 7 mga banda: 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz, at 16kHz

Gumagamit ang microcontroller ng 7 mga banda upang lumikha ng iba't ibang mga visualization, karaniwang pagmamapa ng kani-kanilang mga amplitude ng banda sa LED light intensity at mga kumbinasyon ng kulay.

Ang pinagmulan ng tunog ay isang mikropono na may 3 mga antas ng kontrol na makakuha. Maaari mong paikutin ang mga setting ng pagkakaroon ng paggamit ng isa sa mga pindutan depende sa kung gaano kalayo / malakas ang pinagmulan ng tunog.

Sinusubukan din ng microcontroller na gumanap ng "matalo" na pagtuklas sa 63Hz "bass" band. Gumagawa pa rin ako sa isang maaasahang paraan upang makita at mapanatili ang pagkakahanay ng beat.

Ang paggamit ng mga pindutang "pindutin" ay isang eksperimento. Sa palagay ko gumagana sila ng maayos, subalit, ang kakulangan ng puna sa pag-press ay medyo nakalilito.

Hakbang 3: LED Wheel

LED Wheel
LED Wheel
LED Wheel
LED Wheel
LED Wheel
LED Wheel

Ang core ng visualization ay isang 61 LED wheel.

Mangyaring tandaan na ang bahagi ay dumating bilang mga indibidwal na singsing kung saan kailangan mong pagsamahin. Ginamit ko sa halip na isipin ang mga wire na tanso para sa mga linya ng kuryente (na magkakasama ring hawakan ang mga singsing), at manipis na mga wire ng signal.

Ang mga LED ay may bilang na 0 hanggang 60 na nagsisimula mula sa ilalim ng panlabas na LED at papasok sa pakanan pataas. Ang center LED ay bilang 60.

Ang bawat visualization ay nakasalalay sa dalawang-dimensional na mga array ng data, na kung saan ang mapa ng bawat LED sa isang tukoy na posisyon para sa target na segment ng visualization.

Halimbawa, para sa mga bilog na concentric, mayroong 5 mga segment:

  • Panlabas na bilog, LEDs 0 - 23, 24 LEDs ang haba
  • Pangalawang panlabas na bilog, LEDs 24 - 39, 16 LEDs ang haba
  • Pangatlong bilog (gitna), LEDs 40 - 51, 12 LEDs ang haba
  • Pangalawang bilog sa loob, LEDs 52 - 59, 8 LEDs haba
  • Sa loob ng LED, LED 60, 1 LED ang haba

Ang visualization ay nagma-map ng 5 sa 7 mga audio channel at nag-iilaw ng mga LED nang paunawa ayon sa kanilang posisyon sa pabilog na band na proporsyonado sa antas ng tunog sa banda.

Ang iba pang mga visualization ay gumagamit ng iba't ibang mga istraktura at format ng data, ngunit ang ideya ay palaging na hinihimok ng mga visual data, hindi gaanong ng code. Sa ganitong paraan maaaring maiakma ang mga visualization sa iba't ibang mga hugis (higit pa o mas kaunting mga LED, higit pang mga EQ band) nang hindi binabago ang code, ang mga halaga lamang sa mga array ng data.

Halimbawa, ganito ang hitsura ng istraktura ng data para sa visualization 1 sa sketch:

// Visualization 1 & 3 - buong 5 circleconst 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}};

Hakbang 4: Mga Pagpapakita

Mga Visualization
Mga Visualization
Mga Visualization
Mga Visualization
Mga Visualization
Mga Visualization
Mga Visualization
Mga Visualization

Sa ngayon mayroong 7 mga visualization at isang start-up na animasyon:

Animasyon ng pagsisimula

Kapag ang aparato ay nakabukas, isang imitasyon ng isang firework ay ipinakita. Ito ay dapat na isang LED at Servo na pagkakasunud-sunod ng pagsubok, ngunit kalaunan ay nagbago sa isang animated na bersyon ng naturang pagsubok

Concentric na makulay na mga bilog

Ang mga ilaw ay umiikot sa display sa mga concentric na bilog na proporsyonado sa amplitude ng kani-kanilang eq band. Random na paglipat sa pagitan ng orasan at counter-orasan at mabagal na paikutin ang mga kulay sa 256 color wheel

Maltese krus

Ang isang banda ay ang gitnang LED. Ang isa pang banda ay ang patayo at pahalang na mga linya ng LEDs, at ang natitirang mga segment na kumakatawan sa bawat isang EQ band. Ang lahat ng mga segment ay umiikot na mga kulay sa 128 offset upang manatiling kaibahan.

Mga ilaw ng pulso

Ang bawat bilog ay nagbibigay-ilaw sa lahat ng mga LED nang magkakasabay para sa isang nakalaang eq band, habang dahan-dahang umiikot na mga kulay na may isang bahagyang offset. Ang mga EQ band ay unti-unting inililipat mula sa isang bilog patungo sa susunod na paglikha ng panlabas na pag-unlad.

Fireplace

Ang mga banda ay semi-bilog na naiilawan mula sa ilalim hanggang sa itaas na nagsisimula sa isang maliwanag na pula at pagdaragdag ng dilaw sa daan pa gayahin ang isang nasusunog na apoy sa isang fireplace. Paminsan-minsang maliwanag na puting "spark" nang sapalarang nag-shoot up. Walang pag-ikot ng kulay

Tumatakbo na ilaw

Ang bawat bilog na concentric ay isang hiwalay na EQ band. Ang mga nangungunang LED ay ang nasa patayong linya sa ibaba ng gitnang LED. Kapag ang LED ay naiilawan nang katimbang sa band amplitude, nagsisimula itong "tumakbo" sa paligid ng kani-kanilang bilog na dahan-dahang bumabawas ng kasidhian. Sinusuportahan ang parehong pag-ikot ng orasan at pabalik na direksyon, sapalarang lumilipat.

Magaan na mga puno

Ang mga segment ay naiilawan sa isang tuwid na linya mula sa ilalim ng LED up at pagkatapos ay patagilid sa concentric semi-bilog na panggagaya sa mga puno ng palma. Pag-ikot ng kulay.

Mga patagilid na segment

Ito ay isang bersyon ng nakaraang Maltese Cross na may 2 diagonal na segment lamang ang ginamit. Ipinapalagay na maging katulad ng icon para sa mga sound wave.

Hakbang 5: Mga Kontrol sa Button na Pindutin

Mga Kontrol sa Button na Pindutin
Mga Kontrol sa Button na Pindutin

Mayroong 4 na mga pindutan na sensitibo sa ugnayan:

  1. Paikot sa pamamagitan ng mga visualization at panatilihin ang kasalukuyang pagpunta hanggang sa napili ang isa pa (sa pamamagitan ng default na visualization cycle bawat 30 segundo)
  2. Kasalukuyang scheme ng kulay na "freeze" / "freeze" - kung gusto mo ng isang partikular na kombinasyon ng kulay maaari mo itong i-freeze - hindi pinagana ang pag-ikot ng kulay at magpapatuloy ang visualization sa pamamagitan lamang ng color palette na ito
  3. Ayusin ang pagkasensitibo ng mikropono
  4. I-on / i-off ang "mode na pagsayaw."

Sa mode ng pagsayaw, susubukan ng aparato na tuklasin ang "beat" ng kasalukuyang tumutugtog na musika at iikot ang ulo nito ayon sa beat. Sa ngayon ang "pagsasayaw" ay medyo mahirap kaysa sa maganda, upang maging matapat.

Hakbang 6: Talunin ang Detection at "pagsayaw" ng Servo

Beat Detection at Servo
Beat Detection at Servo

Patuloy na sinusubukan ng aparato na tuklasin ang "beat" ng kasalukuyang tono bilang isang distansya sa pagitan ng magkakasunod na mga tuktok ng 63Hz band. Kapag napansin (at kung ang mode ng sayaw ay ON), isasaaktibo ng aparato ang servo motor nito upang sapalarang lumiko pakaliwa o pakanan ayon sa beat.

Anumang maliliwanag na ideya sa kung paano ito gawing mas maaasahan ay maligayang pagdating!

Ang sketch na 'Music_Test_LED' ay naglalabas ng 7 mga EQ band sa paraang angkop para sa paglalagay gamit ang Arduino IDE.

Hakbang 7: Mga 3D na Hugis

Mga 3D na Hugis
Mga 3D na Hugis
Mga 3D na Hugis
Mga 3D na Hugis
Mga 3D na Hugis
Mga 3D na Hugis

Ang buong pagpupulong ng Party Lights ay dinisenyo mula sa simula gamit ang Autodesk TinkerCAD.

Ang orihinal na disenyo ay matatagpuan dito. Ang folder na "files / 3D" sa github.com ay naglalaman ng mga modelo ng STL.

Inilalarawan ng disenyo na ito kung paano ang hitsura ng aparato ay binuo.

Ang lahat ng mga bahagi ay naka-print at pagkatapos ay binuo / nakadikit.

Ang "simboryo" ay nagho-host ng microcontroller, Bluetooth board, at isang mikropono. Ang microcontroller ay inilalagay sa isang 40mm x 60 mm board at sinusuportahan ng mga itinalagang daang-bakal.

Ang servo ay matatagpuan sa "binti" ng simboryo, habang ang mga pindutan ay matatagpuan sa base.

Ang kompartimento ng baterya ay partikular na naka-print para sa uri ng baterya na nabanggit sa seksyon ng Mga Panustos. Kung pinili mong gumamit ng ibang baterya, ang kompartimento ay kailangang muling idisenyo nang naaayon.

Hakbang 8: Supply ng Kuryente

Power Supply
Power Supply
Power Supply
Power Supply

Ang isang Ultra-Compact 5000-mah Dual USB Output na Super Slim Power Bank ay tila nagbibigay ng sapat na lakas para sa oras ng operasyon.

Ang kompartimento ng baterya ay idinisenyo sa isang paraan na nakakahiwalay ito mula sa natitirang bahagi ng aparato at maaaring mapalitan ng isa na idinisenyo para sa isang iba't ibang uri ng baterya.

Ang USB plug ay nakaposisyon at mai-nakadikit sa lugar upang ikonekta ang baterya habang dumadulas ito.

Hakbang 9: Pagkontrol sa Bluetooth

Control ng Bluetooth
Control ng Bluetooth

Ang isang module na HC-05 ay idinagdag upang magbigay ng isang paraan upang makontrol ang aparato nang wireless.

Kapag nasa, ang aparato ay lumilikha ng isang koneksyon sa Bluetooth na tinatawag na "LEDDANCE", kung saan maaari mong ipares ang iyong telepono.

Sa isip, dapat mayroong isang App na nagbibigay-daan sa pagkontrol sa PartyLights (pagpili ng isang paleta ng kulay, paggaya ng mga pagpindot sa pindutan, atbp.). Gayunpaman, wala pa akong naisusulat.

Kung interesado ka sa pagtulong sa pagsusulat ng isang Android o iOS App para sa Mga Party Lights, mangyaring ipaalam sa akin!

Upang makontrol ang aparato, maaari mo ngayong magamit ang Bluetooth terminal app, at ipadala ang mga sumusunod na utos:

  • Ang LEDDBUTT - nasaan ang '1', '2', '3', o '4' na tumutulad sa pagpindot sa kani-kanilang pindutan. Hal.: LEDDBUTT1
  • LEDDCOLRc - kung saan ang c ay isang numero mula 0 hanggang 255 - posisyon ng nais na kulay sa isang kulay ng gulong. Ang aparato ay lilipat sa tinukoy na kulay ng LED.
  • LEDDSTAT - nagbabalik ng isang 3 numero ng character na binubuo ng '0's at' 1's lamang:

    • unang posisyon: '0' - ang mga kulay ay hindi umiikot, '1' - umiikot ang mga kulay
    • pangalawang posisyon: '0' - patay ang mode ng pagsayaw, '1' - nakabukas ang mode na pagsayaw
    • pangatlong posisyon: '0' - ang mikropono ay nasa normal na nakuha, '1' - mataas ang nakuha ng mikropono

Hakbang 10: Kontrolin ang App Na Batay sa Blynk

Kontrolin ang App Batay sa Blynk
Kontrolin ang App Batay sa Blynk
Kontrolin ang App Batay sa Blynk
Kontrolin ang App Batay sa Blynk
Kontrolin ang App Batay sa Blynk
Kontrolin ang App Batay sa Blynk
Kontrolin ang App Batay sa Blynk
Kontrolin ang App Batay sa Blynk

Ang Blynk (blynk.io) ay isang hardware-agnostic na IoT platform. Ginamit ko ang Blynk sa aking IoT Automatic Plant Irrigation System na itinuturo at humanga sa kadalian at katibayan ng platform.

Sinusuportahan ng Blynk ang pagkonekta sa mga edge na aparato sa pamamagitan ng Bluetooth - eksakto kung ano ang kailangan namin para sa PartyLights.

Kung hindi mo pa nagagawa, mangyaring mag-download ng Blynk App, magrehistro at muling likhain ang Blynk PartyLights App gamit ang mga screenshot na naka-attach sa hakbang na ito. Mangyaring tiyakin na ang mga pagtatalaga ng virtual pin ay pareho sa mga screenshot, kung hindi man, ang mga pindutan sa app ay hindi gagana tulad ng nilalayon.

Ang file na "blynk_settings.h" ay naglalaman ng aking personal na Blynk UID. Kapag nilikha mo ang iyong proyekto, bibigyan ito ng bago para magamit mo.

I-upload ang PartyLightsBlynk.ino sketch, sunugin ang App. Ipares sa Bluetooth device at tangkilikin ang pagdiriwang.

Hakbang 11: Mga Sketch at Aklatan

Mga Sketch at Aklatan
Mga Sketch at Aklatan

Ang pangunahing sketch at sumusuporta sa mga file ay matatagpuan sa Github.com dito.

Ang mga sumusunod na aklatan ay ginamit sa sketch ng Mga Lights ng Party:

  • TaskScheduler - kooperatiba multitasking - dito (binuo ko)
  • AverageFilter - naka-template ng average na filter - dito (binuo ko)
  • Ang Servo - Servo control - ay isang pamantayang Arduino library
  • WS2812B -NEOPixel control - ay dumating bilang bahagi ng STM32 package

Ipinapaliwanag ng pahinang ito ng Wiki kung paano gamitin ang mga board ng STM32 gamit ang Arduino IDE.

Hakbang 12: Mga Pagpapabuti sa Hinaharap

Mga Pagpapabuti sa Hinaharap
Mga Pagpapabuti sa Hinaharap

Ang ilang mga bagay ay maaaring mapabuti sa disenyo na ito, na maaari mong isaalang-alang kung magsimula ka sa proyektong ito:

  • Gumamit ng ESP32 sa halip na Maple Mini board. Ang ESP32 ay mayroong 2 CPU, Bluetooth at WiFi stack, at maaaring tumakbo sa 60MHz, 120MHz at kahit 240MHz.
  • Mas maliit na disenyo - ang nagresultang aparato ay malaki. Maaaring maging mas siksik (lalo na kung ihulog mo ang ideya sa pagsayaw at nauugnay na servo)
  • Ang pagtuklas ng Beat ay maaaring mapabuti nang walang hanggan. Kung ano ang natural na dumarating sa atin na mga tao, tila isang mahirap na gawain para sa isang computer
  • Marami pang visualization ang maaaring malikha at maipatupad.
  • At, syempre, maaaring isulat ang isang App upang makontrol ang aparato nang wireless gamit ang isang cool na UI.

Inirerekumendang: