INHOUDSOPGAWE:

Interaksiewe musiekfleshouer met verstelbare ligte: 14 stappe
Interaksiewe musiekfleshouer met verstelbare ligte: 14 stappe

Video: Interaksiewe musiekfleshouer met verstelbare ligte: 14 stappe

Video: Interaksiewe musiekfleshouer met verstelbare ligte: 14 stappe
Video: Kuier Rapport Matriekklas: Besigheidstudies Les 13 2024, Julie
Anonim
Image
Image
Interaksiewe musiekfleshouer met verstelbare ligte
Interaksiewe musiekfleshouer met verstelbare ligte
Interaksiewe musiekfleshouer met verstelbare ligte
Interaksiewe musiekfleshouer met verstelbare ligte

'N Ruk gelede het 'n vriend van my 'n 16-bits LED-ring bestel om mee te peuter, en terwyl hy dit doen, het hy die idee gekry om 'n bottel bo-op te sit. Toe ek dit sien, was ek gefassineer deur die voorkoms van die lig wat die fles verlig en onthou ek die wonderlike projek "Mc Lighting" deur die Hackaday -gebruiker Tobias Blum:

hackaday.io/project/122568-mc-lighting

Een aspek van sy projek was om die WS2812 LED's via 'n selfgeskrewe web-koppelvlak te beheer sonder om eksterne dienste te gebruik. Geïnspireer deur sy benadering tot die bestuur van 'n LED-ring, het ek besluit om die twee idees te kombineer en na 'n volgende vlak te bring. modusse, insluitend modusse wat interaksie het met omringende musiek. Om 'n draagbare toestel te skep, word dit aangedryf deur 'n Li-Ion-batterysel.

In hierdie instruksies sal ek deur die bouproses gaan en u leer oor die onderliggende funksie daarvan. Daarna moet u u eie weergawe kan bou en 'n idee hê van hoe u webbeheer by 'n projek kan voeg sonder om eksterne dienste te gebruik.

Stap 1: Bou -opsies

As dit kom by die elektronika van hierdie projek, kan u óf 'n NodeMCU-bord gebruik, wat maklik is om te gebruik en redelik goedkoop is, óf u kan u eie bord bou soos ek. Daar is geen besondere voordeel daaraan nie; ek het net 'n ESP8226-12E-chip laat lê en besluit om dit te gebruik, sodat ek die NodeMCU-bord kan hou vir 'n vinnige prototipe. Daar is net een groot verskil: u benodig 'n 3.3V USB na seriële bord om die selfgemaakte beheerbord te programmeer. Ten spyte daarvan maak dit nie 'n verskil watter tipe u kies nie, maar hou dit in gedagte wanneer dit by die vereiste onderdele kom.

Daar is egter 'n opsie wat die groot verskil maak: die musiekmodus. As u besluit om dit by te voeg, kan die bottelstandaard as 'n VU-meter gebruik word en kan die LED's ook verander wanneer die bas se musiek 'n gegewe drempel bereik. Dit benodig egter 'n paar ekstra hardeware. U moet 'n versterker bou wat die uitset van 'n kondensatormikrofoonkapsel en 'n laagdoorlaatfilter vir die basfrekwensies versterk. Alhoewel dit dalk moeilik klink, is dit regtig nie. Dit benodig geen spesiale onderdele nie, en ek beveel sterk aan dat u hierdie kring insluit, aangesien dit die toestel baie verbeter.

Stap 2: Vereiste onderdele en materiaal

Vereiste onderdele en materiaal
Vereiste onderdele en materiaal

Die geval:

Miskien is die moeilikste deel van hierdie projek die geval. Omdat ek iets nuuts wou probeer, het ek besluit om MDF -plate met 'n dikte van 18 mm te gebruik en dit te verf. In vergelyking met ander soorte hout/materiaal, het MDF die voordeel dat die oppervlak besonder glad geskuur kan word en die verf daarop baie glansend kan lyk. Boonop benodig u 'n akrielglas met 'n dikte van 4 mm om die LED -ringe te bedek.

Die omhulsel is 33 cm lank en 9 cm breed, dus ek beveel 'n bord met die volgende afmetings aan:

MDF-plaat 400 x 250 x 18 mm

Die LED-ringdeksels het 'n deursnee van ongeveer 70 mm, sodat u bord akrielglas ten minste die volgende afmetings moet hê:

Akrielplaat 250 x 100 x 4 mm

Om dit te verf, het ek 125 ml wit akrielverf en 125 ml glansende helderlaag gekry, en ek beveel u aan om 'n skuimrol te gebruik, aangesien dit die verf meer egalig kan toedien. Vir die skuurgedeelte gebruik ek vel skuurpapier met 'n korrel van 180, een met 320 en een met 600.

Elektronika:

Vir die elektronika benodig u drie 16-bits WS2812 LED-ringe. Wees net versigtig, want ek het twee soorte 16-bits LED-ringe gevind; u benodig dié met 'n groter deursnee (ongeveer 70 mm), en dus die groter gaping tussen die LED's.

Vir die kragtoevoer benodig u 'n Li-Ion-batterysel, 'n ooreenstemmende laaier en 'n skakelaar. Boonop benodig u 'n 3.3 V -spanningsreguleerder met 'n lae uitsakspanning (LDO) en twee kapasitors om die mikrobeheerder aan te dryf. Ek verduidelik waarom u die stap -7 -reguleerder nodig het.

As u besluit om die opsionele musiekversterker en filterbaan te bou, benodig u 'n Op-Amp en 'n paar passiewe komponente. En as u kies om u eie beheereenheid te skep, benodig u die ESP -chip, 'n uitbreekbord, 'n paar weerstande, 'n knoppie en 'n paar penne.

En ek beveel 'n stuk perfboard sterk aan om alles daarop te soldeer.

LED-ring

3.7V Li-Ion sel (ek het een van die tipe TW18650 uit 'n ongebruikte battery gered)

Li-Ion laaier

Skakelaar (niks besonders nie; ek gebruik 'n ou een wat ek uit 'n stukkende stel luidsprekers gered het)

LDO spanningsreguleerder (addisioneel die kapasitors genoem in die datablad: 2 x 1uF keramiek kondensator)

perfboard

Musiekbaan (opsioneel):

Volgens skematiese

Mikrobeheerder:

NodeMCU

ESP8266 12E (adapterplaat, knoppie, weerstande en penne volgens skema)

USB na serieel (benodig om selfgemaakte beheerbord te programmeer, as u reeds een het, hoef u nie nog een te kry nie)

Stap 3: Maal die kas

Maal die kas
Maal die kas
Maal die kas
Maal die kas
Maal die kas
Maal die kas

'N Vriend van my het vir hom 'n MP-CNC gebou en was so gaaf om die twee MDF-dele en die drie akrielringe vir my te maal. Die houtonderdele is aan die bokant en onderkant van 'n pilvormige boks. Bo-op die boks is daar drie plekke vir die LED-ringe en hul akrielbedekkings. Aangesien hierdie verdiepings slegs 'n fraksie groter as die PCB's is, pas hulle op hul plek sonder dat gom of skroewe nodig is. Dieselfde geld vir die akrielbedekkings. Omdat hulle 'n groter deursnee het as die LED-ringe, word hulle op 'n rand bo die LED's geplaas (sien prentjie).

Stap 4: Voltooi die saak

Voltooi die saak
Voltooi die saak
Voltooi die saak
Voltooi die saak
Voltooi die saak
Voltooi die saak
Voltooi die saak
Voltooi die saak

U het miskien opgemerk dat daar tans verskeie dinge ontbreek by die gemaalde kas. Dinge soos gate vir die ring se kabels, 'n gat vir die USB -aansluiting en 'n sak vir die battery. Verder, as u kies om die musiekkringbaan in te sluit, is ook 'n gat vir die mikrofoon nodig. Boonop beveel ek u aan om gate onder die LED-ringe te boor, sodat u dit uit die kas kan druk. Ek het 'n roterende slypinstrument gebruik om die bogenoemde gate by te voeg.

Op die derde prentjie kan u die 'onderhoud' en kabelgate vir die ring sien. Soos u miskien al opgemerk het, het ek twee kabelgate gemaak. Dit was nie doelbewus nie. Dit was in 'n vroeë stadium waar ek gedink het dat die hoeke van die ringe onbelangrik sou wees, maar dit is nie so nie. Monteer al drie met hul kabels aan dieselfde kant. Ek het dit uiteindelik aan die voorkant aangebring.

Belangrik: dra altyd 'n stofmasker wanneer u in MDF saag, boor of maal. Dieselfde geld vir skuur.

Stap 5: Voltooi die saak

Afwerking van die saak
Afwerking van die saak
Afwerking van die saak
Afwerking van die saak
Afwerking van die saak
Afwerking van die saak

Nou word die saak geverf. Voordat u dit doen, beveel ek aan dat u 'n handleiding hieroor kyk of lees, aangesien dit bewys het dat dit moeiliker is as wat ek gedink het. Hierdie een dek alles wat u moet weet oor die onderwerp.

Skuur eers die buitekant van die MDF -dele deeglik. Ek het die korrel 160 -papier hiervoor gebruik. Daarna word dit in baie tutoriale aanbeveel om die oppervlak, veral aan die rande, met 'n spesiale MDF -onderlaag te verseël. Ek het hierdie deel oorgeslaan, aangesien die onderlaag redelik duur is, en alhoewel die resultaat nie so goed was as wat dit kon gewees het nie, sou ek dit weer doen.

Daarna kan u die oppervlak in die gewenste kleur begin verf. Ek het besluit om myne in 'n helder wit te verf. Wag totdat die kleur droog is, skuur dit dan met fyn skuurpapier (ek gebruik die korrel 320), stof dit af en pas die volgende laag kleur toe. Herhaal hierdie proses totdat u tevrede is met die ondeursigtigheid van die kleurstof. Ek het vier lae kleur aangebring.

Na die laaste laag kleur, skuur dit met nog fyner skuurpapier as voorheen (in my geval die korrel 600) en verwyder al die stof wat op die oppervlak bly. Daarna kan u die eerste laag van die glansende helderlaag aanbring. Soos met die kleur, pas soveel lae toe as wat dit nodig is om u tevrede te stel. Ek het drie aan die bokant en die sye gebruik, en twee aan die onderkant. U kan die resultaat op een van die foto's sien. Alhoewel die oppervlak gladder kan wees (meer skuur en MDF -onderlaag), is ek tevrede met die bereikte glans -effek.

Stap 6: Berei die ringe voor

Berei die ringe voor
Berei die ringe voor
Berei die ringe voor
Berei die ringe voor

Parallel met die droogproses van die eerste laag kleur, kan u die akrielglasringe skuur. Daarna versprei hierdie ringe die lig wat deur die LED-ringe uitgestraal word. As ek daarvan gepraat het, het ek ondervind dat die PCB's van hierdie ringe 'n paar ongewenste rande van die produksieproses het, sodat u dit moontlik moet ontrafel. Anders pas hulle nie in die saak nie.

Daarna moet 'n paar drade aan die ringe gesoldeer word. Ek beveel aan dat u buigsame draad gebruik. Ek het 'n stywe een gebruik en het die probleem gehad dat hulle die twee dele van die omhulsel uitmekaar stoot, wat lelike buiging vereis. Boonop is die kans groter dat stywe draad breek, wat 'n nare soldeerproses tot gevolg het, aangesien u die ooreenstemmende ring en die beheerbord uit die kas moet haal.

Stap 7: Kragtoevoer

Kragtoevoer
Kragtoevoer

'N Enkele Li-Ion-batterysel word as 'n kragbron gebruik. Dit word via die laaikring gelaai. Hierdie kring beskik oor 'n oorontlading en oorstroombeskerming. Om die toestel af te skakel, is 'n skakelaar ingebou wat die positiewe uitset van die laaibord onderbreek.

Aangesien die maksimum spanning van die batterysel 4,2V is, kan die ESP8266 nie direk gevoed word nie. Die spanning is te hoog vir die 3.3V -mikrobeheerder, aangesien dit slegs spanning tussen 3.0V - 3.6V oorleef. 'N Lae uitval (LDO) spanningsreguleerder is 'n spanningsreguleerder wat werk, selfs as die ingangsspanning naby die gespesifiseerde uitsetspanning is. Dus, 'n uitvalspanning van 200 mV vir 'n 3.3V LDO beteken dat dit 3.3V uitset solank die ingangsspanning bo 3.5V is. As dit hierdie waarde onderdruk, begin die uitsetspanning afneem. Aangesien die ESP8266 werk met spannings tot 3,0V, werk dit totdat die ingangsspanning van die LDO tot ongeveer 3,3V daal (die afname is nie lineêr nie). Dit stel ons in staat om die beheerder via die batterysel aan te dryf totdat dit heeltemal ontlaai is.

Stap 8: Microcontroller Board

Mikrobeheerraad
Mikrobeheerraad

As u 'n NodeMCU-bord gebruik, is hierdie stap redelik eenvoudig. Koppel net die 3.3V -uitgang en die grond van die kragtoevoer aan een van die 3V- en G -penne. Verder beveel ek aan om die bord op 'n stuk bord te soldeer, want dit maak dit makliker om alles aan te sluit.

As u besluit om u eie beheerbord te bou, is die eerste stap om die ESP -chip aan die adapterplaat te soldeer. Voeg daarna al die komponente en verbindings by soos in die skema getoon. Die twee knoppies is nodig om die beheerder te herstel en te flits. U kan op die volgende foto's sien dat ek slegs een knoppie gebruik. Die rede hiervoor is dat ek net een gevind het, so in plaas van die knoppie vir GPIO0, gebruik ek twee penne en 'n trui.

U kan my voltooide baan in die volgende stap sien.

Stap 9: Musiekbaan (opsioneel)

Musiekbaan (opsioneel)
Musiekbaan (opsioneel)
Musiekbaan (opsioneel)
Musiekbaan (opsioneel)
Musiekbaan (opsioneel)
Musiekbaan (opsioneel)

As 'n invoer vir die musiek word 'n eenvoudige kondensatormikrofoonkapsel gebruik. Dit word aangedryf deur 'n stroombeperkende weerstand wat gekoppel is aan die 3.3V -kragrail. In 'n neutedop werk die kapsule soos 'n kondensator, dus as klankgolwe sy diafragma tref, verander die kapasiteit en analoog daarvan die spanning. Hierdie spanning is so laag dat ons dit skaars kan meet met die ESP's analoog na digitaal omskakelaar (ADC). Om dit te verander, versterk ons die sein met 'n Op-Amp. Die versterkte uitgangsspanning word dan gefiltreer deur 'n passiewe laagdoorlaatfilter van die eerste orde met 'n afsnyfrekwensie van ongeveer 70Hz.

As u besluit om 'n NodeMCU-kaart te gebruik, kan u die uitset van die bogenoemde stroombaan aan die A0-pen van die bord koppel. As u u eie beheerbord wil bou, moet u 'n spanningsverdeler by die stroombaan voeg. Die rede hiervoor is die ESP's aan boord van die ADC met 'n maksimum ingangsspanning van 1V. Die NodeMCU het hierdie spanningsverdeler reeds ingebou, sodat die kode en die versterker op beide borde kan funksioneer, het die selfgemaakte een dit ook nodig.

Stap 10: Voltooi en monteer die elektronika

Voltooi en monteer die elektronika
Voltooi en monteer die elektronika
Voltooi en monteer die elektronika
Voltooi en monteer die elektronika
Voltooi en monteer die elektronika
Voltooi en monteer die elektronika

Plaas eers die LED-ringe in die aangewese verdiepings bo-op die omhulsel. Koppel daarna die kragtoevoer, die mikrobeheerder, die ringe en, as u dit gebou het, die versterkerkring volgens die skema.

Waarskuwing: Voordat u dit doen, moet u seker maak of u die krag met die skakelaar afgeskakel het. Ek het dit vergeet en 'n LDO -reguleerder gebraai terwyl ek soldeer. Daarna is u gereed om die elektronika in die kas te monteer.

Ek het begin deur die batterysel met warm gom aan die kas vas te maak. Daarna het ek die laaikring geplaas en gekyk of ek 'n USB -kabel kon aansluit of nie. Aangesien ek nie die warm gom vertrou het om die kabel te druk nie, het ek dun spykers versigtig deur die soldeerblokkies van die laaier gehamer vir die ingangsspanning. Na die laaier het ek die mikrofoonkapsule vasgeplak.

Daarna het ek 'n paar gebuig draadpenne gebruik om die mikrobeheerder reg te maak. Met hierdie metode kan ek die beheerder uit die kas haal vir herstelwerk wanneer ek moet, sonder dat ek deur warm gom hoef te sny en die MDF te verwoes.

Nou het ek 'n paar kabelbinders en buigde draadpenne gebruik om die drade te monteer. Die laaste ding wat u moet doen, is om die dekringe van akriel te plaas. Wees versigtig terwyl u dit doen, sodat u nie die verf beskadig nie, aangesien dit redelik styf pas. U kan selfs die binneste en/of buitedeursnee van die akrielringe verminder, aangesien die MDF -bord verf opneem en die verdiepings effens kleiner word.

Stap 11: Flits die mikrobeheerder

Flits die mikrobeheerder
Flits die mikrobeheerder

Nadat u die hardeware -opbou voltooi het, bly die sagteware net oor. Ek het die Arduino IDE daarvoor gebruik. Maar voordat u die beheerder kan programmeer, moet u 'n paar biblioteke byvoeg en die regte bord kies.

Biblioteke

U kan die IDE's Library Manager (Sketch -> Include Libraries -> Mange Libraries) gebruik om dit by te voeg, of u laai dit af en skuif dit na u IDEs biblioteekmap. Ek beveel die bestuurder aan, aangesien dit geriefliker is, en u alle nodige biblioteke daar kan vind.

DNSServer deur Kristijan Novoselic (nodig vir WiFiManager)

WiFiManager deur tzapu en tablatronix (maak 'n AP oop waar u u plaaslike WiFi se geloofsbriewe kan invoer)

WebSockets deur Markus Sattler (nodig vir die kommunikasie tussen gebruikersapparaat en bottelstand)

Adafruit NeoPixel van Adafruit (nodig vir die beheer van die LED-ringe)

Raad

Maak nie saak watter tipe kontroleerderbord u gekies het om te gebruik nie, onder Tools -> Board, kies NodeMCU 1.0 (ESP -12E Module). Maak seker dat die flitsgrootte ingestel is op 4M (1M SPIFFS) en die oplaaisnelheid op 115200.

Flitsend

Om die NodeMCU-bord te flits, koppel dit eenvoudig aan u rekenaar, kies die korrekte poort en laai die program op. Om die selfgemaakte beheerbord te flits, is 'n bietjie ingewikkelder. Koppel u USB na Serial -omskakelaar aan die drie penne van die bord. Koppel GND en GND, RX en TX, en TX en RX. Om die flitsmodus van die beheerder te betree, herlaai dit met die RST-knoppie en hou die GPIO0-knoppie ingedruk terwyl u dit doen. Maak dan seker dat u omskakelbord ingestel is op 3.3V. Voltooi die proses deur die program op te laai.

Belangrik: Skakel u toestel aan voordat dit flikker.

Stap 12: Laai die webblad op

Laai die webblad op
Laai die webblad op
Laai die webblad op
Laai die webblad op
Laai die webblad op
Laai die webblad op

Die lêers wat vir die webblad benodig word, word op die geheue van die mikrobeheerders gestoor. Voor die eerste gebruik moet u dit met die hand oplaai. Om dit te doen, skakel die toestel aan (miskien moet u dit eers laai). Die LED's moet rooi skyn (as gevolg van my kamera lyk dit soos oranje op die foto), wat beteken dat die bottelhouer nie aan 'n netwerk gekoppel is nie. Na 'n kort tydjie moet 'n WiFi -toegangspunt met die naam "bottleStandAP" oopmaak. Die standaard wagwoord is "12345678", u kan dit in die ino -lêer verander. Koppel u slimfoon/tablet/skootrekenaar daaraan. 'N Kennisgewing moet verskyn en u na 'n webblad stuur. As so iets nie gebeur nie, maak eenvoudig u blaaier oop en tik 192.168.4.1 in. Klik op hierdie bladsy op Configure WiFi en voer u netwerkbewyse in. Daarna moet die toegangspunt sluit en die LED's verander hul kleur na 'n ligblou. Dit beteken dat die toestel suksesvol aan u netwerk gekoppel is.

Nou moet u die IP -adres van die toestelle bepaal. Om dit te kan doen, kan u dit aan u rekenaar koppel, die Serial Monitor van die Arduino IDE (baud rate is 115200) oopmaak en die toestel weer begin. U kan ook die webblad van u WiFi-router oopmaak. Nadat u die toestel se IP geken het, maak u u blaaier oop en tik xxx.xxx.xxx.xxx/upload in (waar die xs staan vir die bottelstande -IP). Pak die lêers uit die.rar en laai dit almal op. Tik daarna die IP van u toestel in, en die kontrolebladsy moet oopmaak. En daarmee het u u eie bottelstand klaar gebou. Baie geluk!

Stap 13: Die webblad

Die webblad
Die webblad
Die webblad
Die webblad

Met die webblad kan u u bottelhouer beheer. As u die hoofblad oopmaak, kan u drie blou sirkels in die boonste middel sien. Hiermee kan u kies watter ring se instellings u wil verander. Die kleurwiel verander die gekose ringe se kleur as u daarop klik. Die veld hieronder toon die kleur wat u gekies het. Deur op die ewekansige knoppie te druk, word die geselekteerde ringe in die willekeurige kleurmodus gestel. Dit beteken dat die kleur verander wanneer 'n siklus van die asemmodus verby is.

Op die tweede bladsy kan u die verskillende modusse kies. Vaste kleur en vaste helderheid doen presies wat hul naam impliseer. Die asemmodus skep 'n 'asemhaling' -effek, wat beteken dat die helderheid van die ringe oor 'n aangepaste tyd tot die maksimum toeneem, en dan tot die minimum daal. Die siklusmodus brand slegs een LED vir 'n gegewe tyd, dan brand die volgende, dan die volgende en so aan. Die musiekdrempelmodus verander die kleur wanneer die mikrofoon 'n sein hoër as 'n pasgemaakte drempel opspoor. Nie net musiek kan dit veroorsaak nie, dit kan byvoorbeeld ook klap. In die VU -metermodus hang die aantal LED's wat brand, af van die volume van die musiek se bas.

Opmerking: u kan die liniale gebruik sonder om die ooreenstemmende modusse te aktiveer. Byvoorbeeld: as u die siklusmodus gebruik en die helderheid verander via die liniaal van vaste helderheid, bly die ringe in die siklusmodus, maar verander die helderheid daarvan ooreenkomstig wat u ingestel het.

Stap 14: Hoe werk dit alles?

Die funksionele beginsel is redelik maklik om te verstaan. Elke keer as u die webblad oopmaak, stuur die ESP8266 die weblêers na u toestel. As u dan iets op die bladsy verander, word 'n spesiale karakter, meestal gevolg deur 'n heelgetalwaarde, via 'n websocket -verbinding na die mikrobeheerder gestuur. Die beheerder verwerk dan hierdie data en verander die ligte dienooreenkomstig.

Die webonderdeel is in html, css en javascript geskryf. Om hierdie taak makliker te maak, het ek ons gemaak van die Materialize CSS -raamwerk en jQuery. As u die voorkoms van die webwerf wil verander, kyk na die dokumentasie van die raamwerk. Alternatiewelik kan u eenvoudig u eie bladsy skryf en dit oplaai. U moet net die internetverbinding tot stand bring en dieselfde data stuur.

Aanbeveel: