Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Idea
- Vaihe 2: Kaavio ja äänen käsittely
- Vaihe 3: LED -pyörä
- Vaihe 4: Visualisoinnit
- Vaihe 5: Kosketuspainikkeiden säätimet
- Vaihe 6: Beat Detection ja servotanssi
- Vaihe 7: 3D -muodot
- Vaihe 8: Virtalähde
- Vaihe 9: Bluetooth -ohjaus
- Vaihe 10: Ohjaussovellus perustuu Blynkiin
- Vaihe 11: Luonnokset ja kirjastot
- Vaihe 12: Tulevia parannuksia
Video: Kannettavat juhlavalot: 12 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Tinkercad -projektit »
Voitko tuoda juhliin valoa ja tehdä siitä hauskempaa?
Se oli kysymys. Ja vastaus on KYLLÄ (tietysti).
Tässä ohjeessa on kyse kannettavan laitteen tekemisestä, joka kuuntelee musiikkia ja luo musiikkivisualisoinnin Neopixel -LEDien samankeskisistä renkaista.
Laite yritettiin "tanssia", eli siirtyä musiikin tahtiin, mutta lyönnin havaitseminen osoittautui monimutkaisemmaksi tehtäväksi kuin miltä se kuulostaa (ei sanaleikkiä), joten "tanssi" on hieman hankalaa, mutta silti siellä on.
Laite on Bluetooth-yhteensopiva ja vastaa tekstikomentoihin. Minulla ei ollut aikaa kirjoittaa sovellusta Party Lightsin ohjaamiseen (joko Android tai iOS). Jos olet tehtävän tasalla - kerro minulle !!!
Jos pidät tästä ohjeesta, äänestä sitä Make It Glow -kilpailussa!
Tarvikkeet
Juhlavalojen rakentamiseen tarvitset:
- STM32F103RCBT6 Leaflabs Leaf Maple Mini USB ARM Cortex -M3 Module for Arduino (linkki tähän) - laitteen aivot. Nämä suhteellisen halvat laitteet ovat niin tehokkaita, on epäselvää, miksi palaisit koskaan Arduinoon.
- MSGEQ7 Band Graphic Equalizer IC DIP-8 MSGEQ7 (linkki tähän)
- HC-05 tai HC-06 Bluetooth-moduuli (linkki tähän)
- Adafruit MAX9814 -mikrofoni (linkki tästä)
- Tavallinen servomoottori (linkki tähän) on, että haluat laitteen "tanssivan"
- CJMCU 61 -bittinen WS2812 5050 RGB LED -ohjaimen kehityskortti (linkki tähän)
- TTP223 Kosketusnäppäinmoduuli Kapasitiivinen asetettavissa oleva itselukittuva/lukitsematon kytkinlevy (linkki tähän)
-
Erittäin pienikokoinen 5000 mAh: n kaksi USB-lähtöä Super Slim Power Bank (linkki tähän)
- Vastukset, kondensaattorit, johdot, liima, ruuvit, prototyyppilevyt jne. Jne.
Vaihe 1: Idea
Ajatuksena on saada kannettava laite, joka voidaan sijoittaa lähelle musiikkilähdettä ja joka luo värikkäitä musiikkivisualisointeja. Sinun pitäisi pystyä hallitsemaan laitteen toimintaa painikkeilla (kosketus) ja Bluetoothilla.
Party Lightsilla on tällä hetkellä 7 visualisointia (kerro minulle, jos sinulla on enemmän ideoita!):
- Samankeskiset värikkäät ympyrät
- Maltan risti
- Pulssoivat valot
- Takka (henkilökohtainen suosikkini)
- Juoksuvalot
- Vaaleat puut
- Sivuttaiset segmentit
Oletuksena laite selaa visualisointeja minuutin välein. Käyttäjä voi kuitenkin valita yhden visualisoinnin ja/tai selata niitä manuaalisesti.
Visualisaatiot, jotka kiertävät värivalikoimaansa, voidaan myös "jäädyttää", jos käyttäjä pitää tietystä väriyhdistelmästä.
Ja parina lisäohjaimena käyttäjä voi muuttaa mikrofonin herkkyyttä ja ottaa käyttöön/poistaa käytöstä servomoottorin "tanssitilan".
Vaihe 2: Kaavio ja äänen käsittely
Fritzing kaavamainen tiedosto sisältyy Githubin pakettiin "files" -alikansioon.
Pohjimmiltaan MSEQ7 -siru käsittelee äänen ja jakaa äänisignaalin 7 kaistaan: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2,5 kHz, 6,25 kHz ja 16 kHz
Mikro -ohjain käyttää näitä 7 kaistaa luodakseen erilaisia visualisointeja, jotka pohjimmiltaan kartoittavat vastaavat kaistan amplitudit LED -valon voimakkuudeksi ja väriyhdistelmiksi.
Äänilähde on mikrofoni, jossa on 3 vahvistustasoa. Voit selata vahvistusasetuksia yhdellä painikkeella sen mukaan, kuinka kaukana/voimakas äänilähde on.
Mikro -ohjain yrittää myös suorittaa "beat" -tunnistuksen 63 Hz: n "basso" -kaistalla. Työskentelen edelleen luotettavan tavan havaita ja ylläpitää lyönnin kohdistusta.
Kosketuspainikkeiden käyttö oli kokeilu. Mielestäni ne toimivat melko hyvin, mutta lehdistön palautteen puute on hieman hämmentävää.
Vaihe 3: LED -pyörä
Visualisoinnin ydin on 61 LED -pyörä.
Huomaa, että osa tulee yksittäisinä renkaina, jotka sinun on koottava yhteen. Käytin mieluummin kuparijohtimia voimalinjoille (jotka myös pitävät renkaat kauniisti yhdessä) ja ohuita signaalijohtoja.
LEDit on numeroitu 0 - 60 alkaen alimmasta ulkoisesta LEDistä ja kulkevat myötäpäivään sisäänpäin. Keskimmäinen LED on numero 60.
Jokainen visualisointi perustuu kaksiulotteisiin tietojärjestelmiin, jotka yhdistävät kunkin LEDin tiettyyn paikkaan kohdevisualisointisegmentille.
Esimerkiksi samankeskisille ympyröille on viisi segmenttiä:
- Ulompi ympyrä, LEDit 0-23, 24 LEDiä pitkiä
- Toinen ulompi ympyrä, LEDit 24 - 39, 16 LEDiä pitkiä
- Kolmas ympyrä (keskellä), LEDit 40-51, 12 LEDiä pitkiä
- Toinen sisäpiiri, LEDit 52-59, 8 LEDiä pitkiä
- Sisällä LED, LED 60, 1 LED pitkä
Visualisointi kartoittaa 5/7 äänikanavaa ja sytyttää LEDit asteittain niiden sijainnin mukaan ympyränmuotoisella kaistalla suhteessa kaistan äänitasoon.
Muut visualisoinnit käyttävät erilaisia tietorakenteita ja -muotoja, mutta ajatuksena on aina, että visualisointeja ohjaavat tietojärjestelmät, ei niinkään koodi. Tällä tavalla visualisoinnit voidaan säätää eri muotoihin (enemmän tai vähemmän LED -valoja, enemmän taajuuskorjainkaistoja) muuttamatta koodia, vain arvot tietojärjestelmissä.
Esimerkiksi visualisoinnin 1 tietorakenne näyttää esimerkiksi luonnokselta:
// Visualisointi 1 ja 3 - täydet 5 ympyrää, jotka koostuvat tavusta TOTAL_LAYERS1 = 5; const tavu 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}};
Vaihe 4: Visualisoinnit
Tähän mennessä on 7 visualisointia ja aloitusanimaatio:
Aloitusanimaatio
Kun laitteeseen kytketään virta, näytöllä näkyy ilotulituksen jäljitelmä. Tämän piti olla LED- ja Servo -testisekvenssi, mutta myöhemmin siitä kehittyi animoitu versio tällaisesta testistä
Samankeskiset värikkäät ympyrät
Valot kiertävät näyttöä samankeskisinä ympyröinä suhteessa vastaavan ekvivalenttikaistan amplitudiin. Vaihtaa satunnaisesti kello- ja vastapäivään ja kääntää hitaasti värejä 256-väripyörän yli
Maltan risti
Yksi nauha on keskimmäinen LED. Toinen kaista on LEDien pysty- ja vaakasuorat viivat ja loput segmentit edustavat kutakin taajuuskorjain -kaistaa. Kaikki segmentit ovat pyöriviä värejä 128 offsetissa kontrastin säilyttämiseksi.
Pulssoivat valot
Kukin ympyrä sytyttää kaikki LED -valot samanaikaisesti omaa eq -kaistaa varten, samalla kun värit pyörivät hitaasti pienellä siirtymällä. Taajuuskorjainalueet siirtyvät asteittain ympyrästä seuraavaan luoden ulospäin suuntautuvan etenemisen.
Takka
Bändit ovat puoliympyröitä, jotka valaisevat alhaalta ylöspäin ja alkavat kirkkaan punaisesta ja lisäävät keltaista ylöspäin simuloiden takan palavaa tulta. Satunnaisesti kirkas valkoinen "kipinä" ampuu satunnaisesti ylös. Ei ole värin kiertoa
Juoksuvalot
Jokainen samankeskinen ympyrä on erillinen taajuuskorjain. Johtavat LEDit ovat keskilinjan alapuolella olevalla pystyviivalla. Kun LED -valo syttyy suhteessa kaistan amplitudiin, se alkaa "kulkea" vastaavan ympyrän ympäri hitaasti vähentäen voimakkuutta. Sekä myötä- että vastapäivään suuntautuvaa kiertoa tuetaan vaihtamalla satunnaisesti.
Vaaleat puut
Segmentit valaistaan suorassa linjassa alhaalta LED-valosta ylöspäin ja sitten sivuttain samankeskisin puolipyörein, jotka jäljittelevät palmuja. Värin kierto.
Sivuttaiset segmentit
Tämä on versio edellisestä Maltan rististä, jossa on käytetty vain kahta diagonaalista segmenttiä. Oletetaan muistuttavan ääniaaltojen kuvaketta.
Vaihe 5: Kosketuspainikkeiden säätimet
Kosketusherkkiä painikkeita on 4:
- Selaa visualisointeja ja pidä nykyistä käynnissä, kunnes toinen on valittu (oletuksena visualisointijakso 30 sekunnin välein)
- "Jäädytä" / "vapauta" nykyinen värimalli - jos pidät tietystä väriyhdistelmästä, voit jäädyttää sen - värin kierto on poistettu käytöstä ja visualisointi jatkuu tällä väripaletilla
- Säädä mikrofonin herkkyyttä
- Kytke "tanssitila" päälle / pois päältä
Tanssitilassa laite yrittää havaita parhaillaan toistettavan musiikin "sykkeen" ja kääntää päänsä tahdin mukaan. Toistaiseksi "tanssi" on rehellisesti sanottuna melko hankalaa kuin kaunista.
Vaihe 6: Beat Detection ja servotanssi
Laite yrittää jatkuvasti havaita nykyisen virityksen "lyönnin" 63 Hz: n kaistan peräkkäisten huippujen välisenä etäisyytenä. Kun laite on havaittu (ja vain jos tanssitila on PÄÄLLÄ), se aktivoi servomoottorin kääntyäkseen satunnaisesti vasemmalle tai oikealle tahdin mukaan.
Kaikki kirkkaat ideat siitä, kuinka tehdä tästä luotettavampi, ovat tervetulleita!
'Music_Test_LED' -luonnos tuottaa 7 taajuuskorjainkaistaa tavalla, joka sopii piirtämiseen Arduino IDE: n avulla.
Vaihe 7: 3D -muodot
Koko Party Lights -kokoonpano on suunniteltu alusta alkaen Autodesk TinkerCAD -ohjelmalla.
Alkuperäinen muotoilu löytyy täältä. Github.com -tiedoston "files/3D" -kansio sisältää STL -mallit.
Tämä malli kuvaa, miltä laite näyttää koottuna.
Kaikki komponentit painettiin ja koottiin/liimattiin yhteen.
"Kupoli" isännöi mikro -ohjainta, Bluetooth -korttia ja mikrofonia. Mikro -ohjain on sijoitettu 40 mm x 60 mm levylle, ja sitä tukevat nimetyt kiskot.
Servo sijaitsee kupolin "jalassa", kun taas painikkeet sijaitsevat pohjassa.
Paristolokero on painettu erityisesti tarvikkeita koskevassa osassa mainitulle akkutyypille. Jos päätät käyttää toista akkua, osasto on suunniteltava uudelleen vastaavasti.
Vaihe 8: Virtalähde
Erittäin pienikokoinen 5000 mAh: n kaksois-USB-lähtö Super Slim Power Bank näyttää tarjoavan tarpeeksi virtaa tuntikausia.
Paristokotelo on suunniteltu siten, että se irtoaa muusta laitteesta ja voidaan korvata erityyppiselle paristolle suunnitellulla.
USB-pistoke asetettiin paikalleen ja liimattiin paikalleen akun liittämiseksi sisään, kun se liukuu sisään.
Vaihe 9: Bluetooth -ohjaus
Laitteeseen on lisätty HC-05-moduuli, joka mahdollistaa tavan ohjata laitetta langattomasti.
Kun laite on päällä, laite luo Bluetooth -yhteyden nimeltä "LEDDANCE", jonka kanssa voit yhdistää puhelimesi.
Ihannetapauksessa pitäisi olla sovellus, joka sallii PartyLights -ohjauksen (värivalikoiman valitseminen, painikkeiden simulointi jne.). En ole kuitenkaan vielä kirjoittanut yhtäkään.
Jos olet kiinnostunut auttamaan Android- tai iOS -sovelluksen kirjoittamisessa Party Lightsille, ilmoita siitä minulle!
Voit ohjata laitetta tällä hetkellä Bluetooth -päätelaitesovelluksella ja lähettää seuraavat komennot:
- LEDDBUTT - missä "1", "2", "3" tai "4" simuloi vastaavan painikkeen painamista. Esimerkki: LEDDBUTT1
- LEDDCOLRc - jossa c on luku 0–255 - halutun värin sijainti väripyörällä. Laite vaihtaa määritettyyn LED -väriin.
-
LEDDSTAT - palauttaa kolmen merkin numeron, joka koostuu vain 0: sta ja 1: stä:
- ensimmäinen asento: '0' - värit eivät pyöri, '1' - värit pyörivät
- toinen asento: '0' - tanssitila on pois päältä, '1' - tanssitila on päällä
- kolmas asema: '0' - mikrofoni on normaalivahvistuksessa, '1' - mikrofoni on suuressa vahvistuksessa
Vaihe 10: Ohjaussovellus perustuu Blynkiin
Blynk (blynk.io) on laitteisto-agnostinen IoT-alusta. Käytin Blynkia IoT: n automaattisessa kasvien kastelujärjestelmässä, joka oli ohjattavissa, ja olin vaikuttunut alustan helppoutta ja kestävyydestä.
Blynk tukee yhdistämistä reunalaitteisiin Bluetoothin kautta - juuri sitä, mitä tarvitsemme PartyLightsille.
Jos et ole jo tehnyt sitä, lataa Blynk -sovellus, rekisteröidy ja luo Blynk PartyLights -sovellus uudelleen käyttämällä tähän vaiheeseen liitettyjä kuvakaappauksia. Varmista, että virtuaaliset nastamääritykset ovat samat kuin kuvakaappauksissa, muuten sovelluksen painikkeet eivät toimi tarkoitetulla tavalla.
Tiedosto "blynk_settings.h" sisältää henkilökohtaisen Blynk UID -tunnukseni. Kun luot projektisi, sille määritetään uusi käytettäväksi.
Lataa PartyLightsBlynk.ino -luonnos, käynnistä sovellus. Muodosta laitepari Bluetooth -laitteen kanssa ja nauti juhlista.
Vaihe 11: Luonnokset ja kirjastot
Pääluonnos ja tukitiedostot ovat täällä Github.comissa.
Party Lights -luonnoksessa käytettiin seuraavia kirjastoja:
- TaskScheduler - yhteistoiminnallinen moniajo - täällä (kehittämä)
- AverageFilter - mallipohjainen keskisuodatin - täällä (kehittämäni)
- Servo - Servo control - on vakio Arduino -kirjasto
- WS2812B -NEOPixel -ohjaus - kuuluu STM32 -pakettiin
Tämä Wiki -sivu selittää STM32 -levyjen käyttämisen Arduino IDE: n kanssa.
Vaihe 12: Tulevia parannuksia
Tässä suunnittelussa voitaisiin parantaa joitain asioita, joita voit harkita, jos aloitat tämän projektin:
- Käytä ESP32: ta Maple Mini -levyn sijaan. ESP32: ssa on 2 prosessoria, Bluetooth- ja WiFi -pinot, ja se voi toimia taajuudella 60 MHz, 120 MHz ja jopa 240 MHz.
- Pienempi muotoilu - tuloksena oleva laite on iso. Voisi olla pienempi (varsinkin jos hylkäät tanssi -idean ja siihen liittyvän servon)
- Lyönnintunnistusta voitaisiin parantaa loputtomasti. Se, mikä tulee meille ihmisille luonnostaan, näyttää olevan vaikea tehtävä tietokoneelle
- Paljon enemmän visualisointeja voitaisiin kehittää ja toteuttaa.
- Ja tietysti voidaan kirjoittaa sovellus ohjaamaan laitetta langattomasti viileällä käyttöliittymällä.
Suositeltava:
Kannettavat Arduino -robotti -aseet: 6 vaihetta
Kannettavat Arduino -robotti -aseet: Hei kaikille! Tänään opetan sinulle askel askeleelta kuinka rakentaa Arduino -robotti käsivarsi. Seuraa vain vaiheitani ja saat varmasti sellaisen
ATTiny 85 -ohjatut juhlavalot: 5 vaihetta
ATTiny 85 -ohjatut juhlavalot: eBayn selaamisen aikana törmäsin näihin 50 osoitettavan LED -merkkijonon WS2811 -sirua käyttäen, vaikka en usko, että niitä on todella suunniteltu käytettäväksi keijuvalaisimina, mutta ne toimivat hyvin ja näyttävät upeilta puu. Olisi myös mahdollista
Firefly Jar kannettavat Bluetooth -kaiuttimet: 8 vaihetta (kuvilla)
Firefly Jar Kannettavat Bluetooth -kaiuttimet: Rakennan kaikenlaisia kaiuttimia yksinkertaisista teknisiin, mutta yksi asia, joka useimmilla on yhteistä, on jonkinlainen puuntyöstö. Ymmärrän, että kaikilla ei ole suuria puuntyöstötyökaluja, kuten pöytäsahaa tai jyrsintäsahaa, mutta monilla ihmisillä on pora ja
Kannettavat 2.1 -kaiuttimet: 9 vaihetta (kuvilla)
Kannettavat 2.1 -kaiuttimet: Tämä on ensimmäinen projektini ohjekirjoista. Haluan näyttää, kuinka muuntaa AC 2.1 -kaiuttimet 100% kannettaviksi Tämä on yksinkertainen projekti kaikille ihmisille, mukaan lukien elektroniikan ystävät ja DIY -ystävät
Erittäin kannettavat, erittäin kovaääniset, pitkäkestoiset, paristokäyttöiset kaiuttimet: 9 vaihetta (kuvilla)
Erittäin kannettavat, erittäin kovaääniset, pitkäkestoiset, paristokäyttöiset kaiuttimet: olen aina halunnut saada tehokkaan kaiutinjärjestelmän niille, jotka haluavat järjestää puutarhajuhlia/kenttämatkoja. monet sanovat, että tämä on tarpeeton Instructable, koska on olemassa monia boombox -tyylisiä radioita menneiltä ajoilta halvalla, tai nämä halvat ipod -tyyliset mp3 -d