Indholdsfortegnelse:

Musik interagerende flaskeholder med justerbare lys: 14 trin
Musik interagerende flaskeholder med justerbare lys: 14 trin

Video: Musik interagerende flaskeholder med justerbare lys: 14 trin

Video: Musik interagerende flaskeholder med justerbare lys: 14 trin
Video: Kia Niro EV price and specs - Norway, bang for the buck, 100% electric 👍music video no talking👍 2024, November
Anonim
Image
Image
Musik interagerende flaskeholder med justerbare lys
Musik interagerende flaskeholder med justerbare lys
Musik interagerende flaskeholder med justerbare lys
Musik interagerende flaskeholder med justerbare lys

For noget tid siden bestilte en af mine venner en 16-bit LED-ring til at pille rundt med, og mens han gjorde det, fik han ideen om at placere en flaske oven på den. Da jeg så det, var jeg fascineret af lysets udseende, der oplyste kolben, og huskede det fantastiske projekt "Mc Lighting" af Hackaday -brugeren Tobias Blum:

hackaday.io/project/122568-mc-lighting

Et aspekt af hans projekt havde været at styre WS2812 lysdioder via en selvskrevet web-interface uden brug af nogen ekstern service. Inspireret af hans tilgang til styring af en LED-ring besluttede jeg at kombinere disse to ideer og bringe dem til det næste niveau. I mit sind havde jeg en flaskeholder til op til tre flasker, der kan styres via en lokal webside med flere lyn tilstande, herunder dem, der interagerer med omgivende musik. For at oprette en bærbar enhed drives den af en Li-Ion battericelle.

I denne instruktive vil jeg gå igennem byggeprocessen og lære dig om dens underliggende funktion. Bagefter skal du være i stand til at bygge din egen version og have en idé om, hvordan du tilføjer webkontrol til et projekt uden at bruge nogen ekstern service.

Trin 1: Bygningsmuligheder

Når det kommer til elektronikken i dette projekt, kan du enten bruge et NodeMCU-bord, som er let at bruge og ganske billigt, eller du kan bygge dit eget bord som mig. Der er ingen særlig fordel ved at gøre det, jeg havde lige en ESP8226-12E-chip liggende og besluttede at bruge den, så jeg kunne beholde NodeMCU-kortet til hurtig prototyping. Der er kun en stor forskel: du skal bruge et 3.3V USB til serielt kort for at programmere det selvfremstillede controllerkort. På trods af at det ikke gør nogen forskel, hvilken type du vælger, skal du bare huske det, når det kommer til de nødvendige dele.

Der er dog en mulighed, der gør en stor forskel: musiktilstanden. Hvis du beslutter dig for at inkludere det, kan flaskeholderen bruges som en VU-måler og kan endvidere ændre lysdiodernes farve, når musikens bas når en given tærskel. Dette kræver dog noget ekstra hardware. Du skal bygge en forstærker, der forstærker output fra en kondensatormikrofonkapsel og et lavpasfilter til basfrekvenserne. Selvom det lyder svært, er det virkelig ikke. Det kræver ikke nogen specielle dele, og jeg anbefaler stærkt at inkludere dette kredsløb, da det forbedrer enheden ret meget.

Trin 2: Påkrævede dele og materialer

Nødvendige dele og materialer
Nødvendige dele og materialer

Sagen:

Måske er den sværeste del af dette projekt tilfældet. Da jeg ville prøve noget nyt, besluttede jeg at bruge MDF -plader med en tykkelse på 18 mm og male dem. Sammenlignet med andre træsorter/materialer har MDF den fordel, at overfladen kan slibes særligt glat, og derfor kan malingen på den se ekstremt blank ud. Derudover har du brug for noget akrylglas med en tykkelse på 4 mm som dæksel til LED -ringene.

Sagen har en længde på 33 cm og en bredde på 9 cm, så jeg anbefaler en tallerken med følgende dimensioner:

MDF-plade 400 x 250 x 18 mm

LED-ringdækslerne har en diameter på omkring 70 mm, så din plade af akrylglas skal mindst have følgende dimensioner:

Akrylplade 250 x 100 x 4 mm

For at male det fik jeg mig 125 ml hvid akrylmaling og 125 ml blank klar lak. Ydermere anbefaler jeg dig at bruge en skumrulle, da dette giver dig mulighed for at påføre malingen mere jævnt. Til slibedelen brugte jeg et stykke sandpapir med et grus på 180, et med 320 og et med 600.

Elektronik:

Til elektronikken har du brug for tre 16-bit WS2812 LED-ringe. Bare vær forsigtig, da jeg fandt to typer 16-bit LED-ringe, du har brug for dem med den større diameter (omkring 70 mm), og derfor det større mellemrum mellem LED'erne.

Til strømforsyningen har du brug for en Li-Ion battericelle, en tilsvarende oplader og en switch. Derudover har du brug for en 3,3 V spændingsregulator med lav frafaldsspænding (LDO) og to kondensatorer for at drive mikrokontrolleren. Jeg forklarer, hvorfor du har brug for LDO -regulatoren i trin 7.

Hvis du beslutter dig for at bygge den ekstra musikforstærker og filterkredsløb, har du brug for en Op-Amp og nogle passive komponenter. Og hvis du vælger at oprette din egen styreenhed, har du brug for ESP -chippen, et breakout -kort, nogle modstande, en knap og nogle pins.

Og jeg anbefaler kraftigt et stykke perfboard til at lodde alt på det.

LED-ring

3.7V Li-Ion-celle (jeg bjærgede en af typen TW18650 ud af en ubrugt batteripakke)

Li-ion oplader

Switch (Intet særligt, jeg brugte en gammel, jeg bjærgede fra et ødelagt sæt højttalere)

LDO spændingsregulator (yderligere kondensatorerne nævnt i datablad: 2 x 1uF keramisk kondensator)

perfboard

Musikkredsløb (valgfrit):

Ifølge skematisk

Mikrokontroller:

NodeMCU

ESP8266 12E (adapterplade, knap, modstande og ben i henhold til skematisk)

USB til seriel (påkrævet for at programmere selvfremstillet controllerkort, hvis du allerede har en, er det ikke nødvendigt at få en anden)

Trin 3: Fræsning af sagen

Fræsning af sagen
Fræsning af sagen
Fræsning af sagen
Fræsning af sagen
Fræsning af sagen
Fræsning af sagen

En af mine venner byggede sig en MP-CNC og var så venlig at fræse mig de to MDF-dele og de tre akrylringe. Trædelene er toppen og bunden af en pilleformet æske. Oven på kassen er der tre steder til LED-ringene og deres akrylbetræk. Da disse fordybninger kun er designet til at være en brøkdel større end PCB'erne, passer de og sidder på plads uden behov for lim eller skruer. Det samme gælder for akrylbetræk. Da de har en større diameter end LED-ringene, placeres de på en kant over LED'erne (se billede).

Trin 4: Fuldfør sagen

Fuldfør sagen
Fuldfør sagen
Fuldfør sagen
Fuldfør sagen
Fuldfør sagen
Fuldfør sagen
Fuldfør sagen
Fuldfør sagen

Du har måske bemærket, at der lige nu mangler flere ting ved den fræste kasse. Ting som huller til ringens kabler, et hul til USB -stikket og en lomme til batteriet. Hvis du vælger at inkludere musikkredsløbet, er der også brug for et hul til mikrofonen. Derudover anbefaler jeg dig at bore huller under LED-ringe, så du kan skubbe dem ud af kassen. Jeg brugte et roterende slibeværktøj til at tilføje de ovennævnte huller.

På det tredje billede kan du se "vedligeholdelse" og kabelhuller til ringen. Som du måske allerede har bemærket, skabte jeg to kabelhuller. Dette var ikke med vilje. Dette var på et tidligt tidspunkt, hvor jeg troede, at ringenes vinkler ville være uvæsentlige, men det er de ikke. Monter dem alle tre med deres kabler til samme side. Jeg endte med at montere dem mod forsiden.

Vigtigt: Brug altid en støvmaske, når du saver, borer eller fræser til MDF. Det samme gælder for slibning.

Trin 5: Afslutning af sagen

Afslutning af sagen
Afslutning af sagen
Afslutning af sagen
Afslutning af sagen
Afslutning af sagen
Afslutning af sagen

Nu bliver sagen malet. Inden du gør dette, anbefaler jeg, at du ser eller læser en vejledning om dette, da dette beviste sig selv at være sværere, end jeg troede, det var. Denne dækker alt hvad du behøver at vide om emnet.

Slib først grundigt ydersiden af MDF -delene. Jeg brugte korn 160 -papir til dette. Derefter anbefaler mange tutorials at forsegle overfladen, især i kanterne, med en speciel MDF -primer. Jeg sprang denne del over, da primeren er ret dyr, og selvom resultatet ikke er så godt, som det kunne have været, ville jeg gøre det igen.

Bagefter kan du begynde at male overfladen i din ønskede farve. Jeg besluttede at male min i en klar hvid. Vent til farven tørrer, slip den derefter med fint sandpapir (jeg brugte korn 320), støv den af og påfør det næste lag farve. Gentag denne proces, indtil du er tilfreds med farvens uigennemsigtighed. Jeg påførte fire lag farve.

Efter det sidste farvelag slibes det med et endnu finere sandpapir end tidligere (i mit tilfælde korn 600) og fjerner alt det resterende støv på overfladen. Derefter kan du påføre det første lag af den blanke klarlak. Som med farven, påfør så mange lag, som den har brug for for at tilfredsstille dig. Jeg brugte tre til toppen og siderne, og to til bunden. Du kan se resultatet på et af billederne. Selvom overfladen kunne være glattere (mere slibning og MDF -primer), er jeg glad for den opnåede glanseffekt.

Trin 6: Forberedelse af ringene

Forberedelse af ringene
Forberedelse af ringene
Forberedelse af ringene
Forberedelse af ringene

Parallelt med tørringsprocessen i det første farvelag kan du slibe akrylglasringene. Derefter diffunderer disse ringe lyset fra LED-ringe. Når vi taler om det, oplevede jeg, at PCB'erne i disse ringe havde nogle uønskede kanter tilbage af produktionsprocessen, så du skal muligvis afgrænse dem. Ellers passer de ikke ind i sagen.

Bagefter skal nogle ledninger loddes til ringene. Jeg anbefaler dig at bruge fleksibel ledning. Jeg brugte den stive og havde det problem, at de skubbede de to dele af sagen fra hinanden, hvilket krævede grim bøjning. Desuden er der større sandsynlighed for, at stiv ledning går i stykker, hvilket resulterer i en grim loddeproces, da du skal få den tilsvarende ring og controller -kortet ud af sagen.

Trin 7: Strømforsyning

Strømforsyning
Strømforsyning

En enkelt Li-Ion battericelle bruges som strømkilde. Det oplades via opladerkredsløbet. Dette kredsløb har en overladning og overstrømsbeskyttelse. For at slukke for enheden er der indbygget en switch, der afbryder opladerkortets positive output.

Da battericellens maksimale spænding er 4,2 V, kan ESP8266 ikke drives direkte. Spændingen er for høj til 3,3V mikrokontrolleren, da den kun overlever spændinger mellem 3,0V - 3,6V. En lavt frafald (LDO) spændingsregulator er en spændingsregulator, der fungerer, selv når indgangsspændingen er tæt på den angivne udgangsspænding. Så en frafaldsspænding på 200 mV for en 3.3V LDO betyder, at den udsender 3.3V, så længe indgangsspændingen er over 3.5V. Når den undersøger denne værdi, begynder udgangsspændingen at falde. Da ESP8266 arbejder med spændinger ned til 3,0V, fungerer det, indtil LDO's indgangsspænding falder til omkring 3,3V (nedstigningen er ikke lineær). Dette giver os mulighed for at drive controlleren via battericellen, indtil den er helt afladet.

Trin 8: Microcontroller Board

Mikrokontrolkort
Mikrokontrolkort

Hvis du bruger et NodeMCU-bord, er dette trin ganske enkelt. Tilslut bare 3,3V udgang og jord for strømforsyningen til en af kortets 3V og G ben. Desuden anbefaler jeg at lodde brættet på et stykke perfboard, da dette gør det lettere at forbinde alt.

Hvis du besluttede at bygge dit eget controller -kort, er det første trin at lodde ESP -chippen til adapterpladen. Derefter tilføjes alle komponenter og forbindelser som vist i skematisk. De to knapper er nødvendige for at nulstille og blinke controlleren. Du bemærker måske på de følgende billeder, at jeg kun bruger en knap. Grunden til det er, at jeg lige fandt en liggende, så i stedet for knappen til GPIO0, bruger jeg to ben og en jumper.

Du kan se mit færdige kredsløb på det næste trin.

Trin 9: Musikkredsløb (valgfrit)

Musikkredsløb (valgfrit)
Musikkredsløb (valgfrit)
Musikkredsløb (valgfrit)
Musikkredsløb (valgfrit)
Musikkredsløb (valgfrit)
Musikkredsløb (valgfrit)

Som input til musikken bruges en simpel kondensatormikrofonkapsel. Den drives via en strømbegrænsende modstand, der er forbundet til 3,3V -strømskinnen. I en nøddeskal fungerer kapslen som en kondensator, så når lydbølger rammer dens membran, ændres dens kapacitet og analog til dens spænding. Denne spænding er så lav, at vi næsten ikke kan måle den med ESP'erne analog til digital konverter (ADC). For at ændre dette forstærker vi signalet med en Op-Amp. Den forstærkede udgangsspænding filtreres derefter af et passivt lavpasfilter af første orden med en afbrydelsesfrekvens på omkring 70Hz.

Hvis du beslutter dig for at bruge et NodeMCU-kort, kan du slutte outputtet fra det ovenfor beskrevne kredsløb til A0-stiften på kortet. Hvis du vil bygge dit eget controller -kort, skal du tilføje en spændingsdeler til kredsløbet. Årsagen til det er ESP'erne ombord på ADC, der har en maksimal indgangsspænding på 1V. NodeMCU har denne spændingsdeler allerede indbygget, så for at koden og forstærkeren skal fungere på begge tavler, har den selvfremstillede også brug for den.

Trin 10: Afslut og monter elektronikken

Afslut og monter elektronikken
Afslut og monter elektronikken
Afslut og monter elektronikken
Afslut og monter elektronikken
Afslut og monter elektronikken
Afslut og monter elektronikken

Først skal du indsætte LED-ringene i de angivne fordybninger øverst på kassen. Derefter tilsluttes strømforsyningen, mikrokontrolleren, ringene og, hvis du byggede den, forstærkerkredsløbet i henhold til skematisk.

Advarsel: Inden du gør det, skal du dobbelttjekke, om du har slukket for strømmen ved hjælp af kontakten. Jeg glemte at gøre det og stegte en LDO -regulator under lodning. Derefter er du klar til at montere elektronikken inde i kassen.

Jeg startede med at fastgøre battericellen til sagen med lidt varm lim. Derefter placerede jeg opladerkredsløbet og kontrollerede, om jeg kunne tilslutte et USB -kabel eller ej. Da jeg ikke stolede på varm lim til at modstå kraften ved at skubbe kablet flere gange, hamrede jeg forsigtigt tynde søm gennem opladerens loddepuder for indgangsspændingen. Efter opladeren limede jeg mikrofonkapslen på plads.

Bagefter brugte jeg nogle bøjede trådstifter til at fastsætte mikrokontrolleren. Denne metode giver mig mulighed for at tage controlleren ud af sagen til reparationer, når jeg har brug for det uden at skulle skære igennem varm lim og ødelægge MDF.

Nu brugte jeg nogle kabelbindere og bøjede trådnåle til at montere ledningerne. Det sidste, du skal gøre, er at indsætte dækringene i akryl. Vær forsigtig, mens du gør det, så du ikke beskadiger malingen, da dette sidder ret stramt. Du har måske endda reduceret til den indre og/eller ydre diameter af akrylringene, da MDF -pladen absorberede noget maling, og så uddybningerne blev en smule mindre.

Trin 11: Blinker mikrocontrolleren

Blinker mikrocontrolleren
Blinker mikrocontrolleren

Efter afslutningen af hardwareopbygningen blinker alt, hvad der er tilbage, softwaren. Jeg brugte Arduino IDE til det. Men før du kan programmere controlleren, skal du tilføje nogle biblioteker og vælge det rigtige bord.

Biblioteker

Du kan enten bruge IDEs Library Manager (Sketch -> Include Libraries -> Mange Libraries) til at tilføje dem, eller du kan downloade og flytte dem til din IDEs biblioteksmappe. Jeg anbefaler manageren, da det er mere bekvemt, og du kan finde alle nødvendige biblioteker der.

DNSServer af Kristijan Novoselic (nødvendigt for WiFiManager)

WiFiManager af tzapu og tablatronix (åbner et AP, hvor du kan indtaste dine lokale WiFi -legitimationsoplysninger)

WebSockets af Markus Sattler (nødvendigt for kommunikationen mellem brugerenhed og flaskestand)

Adafruit NeoPixel fra Adafruit (nødvendigt til styring af LED-ringene)

Bestyrelse

Uanset hvilken type controller board du valgte at bruge, under Værktøjer -> Board vælg NodeMCU 1.0 (ESP -12E Module). Sørg for, at flashstørrelsen er indstillet til 4M (1M SPIFFS) og uploadhastigheden til 115200.

Blinker

For at blinke NodeMCU-kortet skal du blot slutte det til din computer, vælge den korrekte port og uploade programmet. Blinkning af det selvfremstillede controllerkort er lidt mere kompliceret. Tilslut din USB til seriel konverter til kortets tre ben. Tilslut GND og GND, RX og TX, og TX og RX. For at gå ind i controllerens flashtilstand skal du genstarte den med RST-knappen, og mens du gør det, skal du holde GPIO0-knappen nede. Derefter skal du kontrollere, at dit konverterkort er sat til 3,3V. Afslut processen ved at uploade programmet.

Vigtigt: Tænd din enhed, før den blinker.

Trin 12: Upload websiden

Upload websiden
Upload websiden
Upload websiden
Upload websiden
Upload websiden
Upload websiden

Filerne, der er nødvendige for websiden, gemmes på mikrokontrollerens flash -hukommelse. Før den første brug skal du manuelt uploade dem. For at gøre det skal du tænde enheden (måske skal du oplade den først). Lysdioderne skal lyse rødt (på grund af mit kamera ligner det orange på billedet), hvilket betyder, at flaskeholderen ikke er forbundet til et netværk. Efter kort tid skulle et WiFi -adgangspunkt med navnet "bottleStandAP" åbne. Standardadgangskoden er "12345678", du kan ændre den i ino -filen. Tilslut din smartphone/tablet/laptop til den. En meddelelse skal dukke op og videresende dig til en webside. Hvis der ikke sker noget lignende, skal du blot åbne din browser og indtaste 192.168.4.1. På denne side skal du klikke på Konfigurer WiFi og indtaste dine netværksoplysninger. Derefter skal adgangspunktet lukke, og lysdioderne ændrer deres farve til en lyseblå. Det betyder, at enheden har oprettet forbindelse til dit netværk.

Nu skal du bestemme enhedens IP -adresse. For at gøre dette kan du slutte den til din computer, åbne den serielle skærm på Arduino IDE (baud rate er 115200) og genstarte enheden. Alternativt kan du åbne websiden for din WiFi-router. Når du kender enhedens IP, skal du åbne din browser og indtaste xxx.xxx.xxx.xxx/upload (hvor x'erne står for flaskestandens IP). Udpak filerne fra.rar og upload dem alle. Derefter skal du bare indtaste IP'en på din enhed, og kontrolsiden skal åbne. Og dermed var du færdig med at bygge din egen flaske. Tillykke!

Trin 13: Websiden

Websiden
Websiden
Websiden
Websiden

Websiden giver dig mulighed for at styre din flaskeholder. Når du åbner hovedsiden, kan du se tre blå cirkler øverst i midten. Disse giver dig mulighed for at vælge, hvilke ringindstillinger du vil ændre. Farvehjulet ændrer de valgte ringe farve, når du klikker på det. Feltet herunder viser dig den farve, du har valgt. Ved at trykke på den tilfældige knap indstilles de valgte ringe til tilfældig farvetilstand. Det betyder, at farven ændres, når en cyklus i åndedrætstilstanden er slut.

På den anden side kan du vælge de forskellige tilstande. Fast farve og fast lysstyrke gør præcis, hvad deres navn antyder. Åndedrætstilstanden skaber en "ånde" -effekt, hvilket betyder, at ringenes lysstyrke stiger over en tilpasset tid til maksimum, og derefter falder til sit minimum. Cyklustilstanden tænder kun en LED i et givet tidspunkt, derefter lyser den næste, derefter den næste og så videre. Musiktærskeltilstanden ændrer farven, når mikrofonen registrerer et signal, der er højere end en tilpasset indstillet tærskel. Ikke kun musik kan udløse dette, det kan f.eks. Klappe også. I VU -metertilstand afhænger antallet af lysdioder, der lyser, på lydstyrken på musikens bas.

Bemærk: Du kan bruge linealerne uden at aktivere de tilsvarende tilstande. For eksempel: Hvis du bruger cyklustilstanden og ændrer lysstyrken via linealen for fast lysstyrke, forbliver ringene i cyklustilstanden, men ændrer deres lysstyrke i overensstemmelse med det, du har indstillet.

Trin 14: Hvordan fungerer alt dette?

Det funktionelle princip er ganske let at forstå. Når du åbner websiden, sender ESP8266 webfilerne til din enhed. Når du derefter ændrer noget på siden, sendes et specialtegn, for det meste efterfulgt af en heltalværdi, til mikrokontrolleren via en websocket -forbindelse. Controlleren behandler derefter disse data og ændrer lysene i overensstemmelse hermed.

Webdelen er skrevet i html, css og javascript. For at gøre denne opgave lettere gjorde jeg os til Materialize CSS -rammer og jQuery. Hvis du vil ændre webstedets udseende, skal du se på dokumentationen til rammen. Alternativt kan du blot skrive din egen side og uploade den. Du skal bare oprette websocketforbindelsen og sende de samme data.

Anbefalede: