Innehållsförteckning:

Musik interagerande flaskstativ med justerbara lampor: 14 steg
Musik interagerande flaskstativ med justerbara lampor: 14 steg

Video: Musik interagerande flaskstativ med justerbara lampor: 14 steg

Video: Musik interagerande flaskstativ med justerbara lampor: 14 steg
Video: FIRST TIME HEARING Diana Ankudinova - Crow (Ворона) #dianaankudinova #crow #Ворона #reaction 2024, Juli
Anonim
Image
Image
Musik interagerande flaskstativ med justerbara lampor
Musik interagerande flaskstativ med justerbara lampor
Musik interagerande flaskstativ med justerbara lampor
Musik interagerande flaskstativ med justerbara lampor

För en tid sedan beställde en av mina vänner en 16-bitars LED-ring att pyssla med, och medan han gjorde det fick han idén att placera en flaska ovanpå den. När jag såg det fascinerades jag av ljusets uppseende i kolven och kom ihåg det fantastiska projektet "Mc Lighting" av Hackaday -användaren Tobias Blum:

hackaday.io/project/122568-mc-lighting

En aspekt av hans projekt hade varit att styra WS2812 lysdioder via ett självskrivet webbgränssnitt utan användning av någon extern tjänst. Inspirerad av hans tillvägagångssätt för att styra en LED-ring, bestämde jag mig för att kombinera dessa två idéer och ta dem till nästa nivå. I mitt sinne hade jag ett flaskställ för upp till tre flaskor, som kan styras via en lokal webbsida, med flera blixtnedslag lägen inklusive de som interagerar med omgivande musik. För att skapa en bärbar enhet drivs den av en Li-Ion-battericell.

I denna instruerbara kommer jag att gå igenom byggprocessen och lära dig om dess underliggande funktion. Efteråt ska du kunna bygga din egen version och ha en uppfattning om hur du lägger till webbkontroll till ett projekt utan att använda någon extern tjänst.

Steg 1: Byggalternativ

När det gäller elektroniken i detta projekt kan du antingen använda ett NodeMCU-kort, som är lätt att använda och ganska billigt, eller så kan du bygga ett eget kort som jag. Det finns ingen speciell fördel med att göra det, jag hade bara ett ESP8226-12E-chip som låg och bestämde mig för att använda det så att jag kunde behålla NodeMCU-kortet för snabb prototypering. Det finns bara en stor skillnad: du behöver ett 3,3V USB till seriellt kort för att programmera det självgjorda styrkortet. Trots att det inte spelar någon roll vilken typ du väljer, tänk bara på det när det gäller de nödvändiga delarna.

Det finns dock ett alternativ som gör stor skillnad: musikläget. Om du bestämmer dig för att inkludera den kan flaskstället användas som en VU-mätare och dessutom kan den ändra färg på lysdioderna när musikens bas når en given tröskel. Detta kräver dock ytterligare hårdvara. Du måste bygga en förstärkare som förstärker utsignalen från en kondensatormikrofonkapsel och ett lågpassfilter för basfrekvenserna. Även om det här låter svårt är det verkligen inte det. Det kräver inga speciella delar och jag rekommenderar starkt att inkludera denna krets eftersom det förbättrar enheten ganska mycket.

Steg 2: Obligatoriska delar och material

Nödvändiga delar och material
Nödvändiga delar och material

Fallet:

Den kanske svåraste delen av detta projekt är fallet. Eftersom jag ville prova något nytt bestämde jag mig för att använda MDF -plattor med en tjocklek på 18 mm och måla dem. Jämfört med andra träslag/material har MDF fördelen att ytan kan slipas särskilt slät och därför kan färgen på den se extremt blank ut. Dessutom behöver du lite akrylglas med en tjocklek av 4 mm som lock till LED -ringarna.

Fodralet har en längd på 33 cm och en bredd på 9 cm, så jag rekommenderar en tallrik med följande dimensioner:

MDF-platta 400 x 250 x 18 mm

LED-ringskåporna har en diameter på cirka 70 mm, så din tallrik med akrylglas bör åtminstone ha följande dimensioner:

Akrylplatta 250 x 100 x 4 mm

För att måla fick jag mig 125 ml vit akrylfärg och 125 ml glansig klarlack. Dessutom rekommenderar jag att du använder en skumrulle eftersom du kan applicera färgen jämnare. Till slipdelen använde jag sandpapper med en korn på 180, en med 320 och en med 600.

Elektronik:

För elektroniken behöver du tre 16-bitars WS2812 LED-ringar. Var bara försiktig eftersom jag hittade två typer av 16-bitars LED-ringar, du behöver dem med större diameter (cirka 70 mm), och därför större gap mellan lysdioderna.

För strömförsörjningen behöver du en Li-Ion-battericell, en motsvarande laddare och en omkopplare. Dessutom behöver du en 3,3 V spänningsregulator med låg avbrottsspänning (LDO) och två kondensatorer för att driva mikrokontrollern. Jag förklarar varför du behöver LDO -regulatorn i steg 7.

Om du bestämmer dig för att bygga valfri musikförstärkare och filterkrets behöver du en Op-Amp och några passiva komponenter. Och om du väljer att skapa din egen styrenhet behöver du ESP -chipet, ett utbrottskort, några motstånd, en knapp och några stift.

Och jag rekommenderar starkt en bit perfboard för att löda allt på den.

LED-ring

3.7V Li-Ion-cell (jag bärgade en av typen TW18650 ur ett oanvänt batteri)

Li-jon laddare

Switch (Inget speciellt, jag använde en gammal som jag räddade från en trasig uppsättning högtalare)

LDO spänningsregulator (dessutom kondensatorerna som nämns i datablad: 2 x 1uF keramisk kondensator)

perfboard

Musikkrets (valfritt):

Enligt schematisk

Mikrokontroller:

NodeMCU

ESP8266 12E (adapterplatta, knapp, motstånd och stift enligt schemat)

USB till Serial (krävs för att programmera självtillverkat styrkort, om du redan har ett behöver du inte skaffa ett annat)

Steg 3: Fräsa höljet

Fräsning av fodralet
Fräsning av fodralet
Fräsning av fodralet
Fräsning av fodralet
Fräsning av fodralet
Fräsning av fodralet

En vän till mig byggde sig en MP-CNC och var så snäll att fräsa åt mig de två MDF-delarna och de tre akrylringarna. Trädelarna är toppen och botten av en pillerformad låda. Ovanpå lådan finns tre platser för LED-ringarna och deras akrylhöljen. Eftersom dessa fördjupningar är utformade för att bara vara en bråkdel större än kretskortet, passar de och sitter på plats utan lim eller skruvar. Detsamma gäller akrylöverdrag. Eftersom de har en större diameter än LED-ringarna, placeras de på en kant ovanför lysdioderna (se bild).

Steg 4: Slutför ärendet

Slutför fallet
Slutför fallet
Slutför fallet
Slutför fallet
Slutför fallet
Slutför fallet
Slutför fallet
Slutför fallet

Du kanske har lagt märke till att det just nu saknas flera saker i det frästa fodralet. Saker som hål för ringens kablar, ett hål för USB -uttaget och en ficka för batteriet. Dessutom, om du väljer att inkludera musikkretsen, behövs också ett hål för mikrofonen. Dessutom rekommenderar jag dig att borra hål under LED-ringarna så att du kan skjuta ut dem ur fodralet. Jag använde ett roterande slipverktyg för att lägga till ovan beskrivna hål.

På den tredje bilden kan du se "underhåll" och kabelhål för ringen. Som du kanske redan märkte skapade jag två kabelhål. Detta var inte avsiktligt. Detta var i ett tidigt skede där jag trodde att ringarnas vinklar skulle vara oviktiga, men det är de inte. Montera dem alla tre med sina kablar på samma sida. Jag slutade med att montera dem mot framsidan.

Viktigt: Bär alltid en dammmask vid sågning, borrning eller fräsning till MDF. Detsamma gäller för slipning.

Steg 5: Avsluta ärendet

Avslutar ärendet
Avslutar ärendet
Avslutar ärendet
Avslutar ärendet
Avslutar ärendet
Avslutar ärendet

Nu blir fodralet målat. Innan du gör detta rekommenderar jag att du tittar på eller läser en handledning om detta, eftersom det visade sig vara svårare än jag trodde det var. Den här täcker allt du behöver veta om ämnet.

Slipa först utsidan av MDF -delarna noggrant. Jag använde grit 160 -papper för detta. Efter det rekommenderar många självstudier att försegla ytan, särskilt i kanterna, med en speciell MDF -primer. Jag hoppade över den här delen eftersom primern är ganska dyr och, även om resultatet inte är så bra som det kunde ha varit, skulle jag göra det igen.

Efteråt kan du börja måla ytan i önskad färg. Jag bestämde mig för att måla min i en klar vit. Vänta tills färgen torkat, slipa sedan med fint sandpapper (jag använde korn 320), damma av och applicera nästa färgskikt. Upprepa denna process tills du är nöjd med färgens opacitet. Jag applicerade fyra lager färg.

Efter det sista färgskiktet slipar du det med ett ännu finare sandpapper än tidigare (i mitt fall korn 600) och tar bort allt damm som finns kvar på ytan. Därefter kan du applicera det första lagret av den blanka klarlacken. Precis som med färgen, applicera så många lager som den behöver för att tillfredsställa dig. Jag använde tre för toppen och sidorna och två för botten. Du kan se resultatet på en av bilderna. Även om ytan kan vara jämnare (mer slipning och MDF -primer) är jag nöjd med den uppnådda glanseffekten.

Steg 6: Förbered ringarna

Förbereda ringarna
Förbereda ringarna
Förbereda ringarna
Förbereda ringarna

Parallellt med torkningsprocessen i det första färgskiktet kan du slipa akrylglasringarna. Därefter sprider dessa ringar ljuset från LED-ringarna. På tal om det så upplevde jag att kretskorten i dessa ringar har några oönskade kanter kvar från produktionsprocessen, så du kan behöva avgräva dem. Annars passar de inte in i fodralet.

Efteråt måste några trådar lödas till ringarna. Jag rekommenderar att du använder flexibel tråd. Jag använde den styva och hade problemet att de sköt isär de två delarna av fodralet, vilket krävde ful böjning. Dessutom är det troligare att styv tråd går sönder, vilket resulterar i en otäck lödprocess eftersom du måste få ut motsvarande ring och styrkortet ur höljet.

Steg 7: Strömförsörjning

Strömförsörjning
Strömförsörjning

En enda Li-Ion battericell används som strömkälla. Den laddas via laddarkretsen. Denna krets har ett överurladdnings- och överströmskydd. För att stänga av enheten är en strömbrytare, som avbryter laddarens kortets positiva utgång, inbyggd.

Eftersom batterispänningens maximala spänning är 4,2 V kan ESP8266 inte drivas direkt. Spänningen är för hög för 3,3V mikrokontroller eftersom den bara överlever spänningar mellan 3,0V - 3,6V. En LDO -spänningsregulator (low dropout) är en spänningsregulator som fungerar även när ingångsspänningen är nära den angivna utspänningen. Så, en bortfallsspänning på 200 mV för en 3.3V LDO betyder att den matar ut 3,3V så länge ingångsspänningen är över 3,5V. När det underskrider detta värde börjar utspänningen minska. Eftersom ESP8266 fungerar med spänningar ner till 3,0V, så fungerar det tills ingångsspänningen för LDO sjunker till cirka 3,3V (nedstigningen är inte linjär). Detta gör att vi kan driva regulatorn via battericellen tills den är helt urladdat.

Steg 8: Microcontroller Board

Microcontroller Board
Microcontroller Board

Om du använder ett NodeMCU-kort är detta steg ganska enkelt. Anslut bara 3,3V -utgången och marken för strömförsörjningen till en av kortens 3V- och G -stift. Dessutom rekommenderar jag att löda brädet på en bit av perfektbräda, eftersom det gör det lättare att ansluta allt.

Om du bestämde dig för att bygga ditt eget styrkort är det första steget att löda ESP -chipet till adapterplattan. Lägg sedan till alla komponenter och anslutningar enligt schemat. De två knapparna är nödvändiga för att återställa och blinka regulatorn. Du kanske märker på följande bilder att jag bara använder en knapp. Anledningen till det är att jag precis hittade en liggande, så istället för knappen för GPIO0 använder jag två stift och en bygel.

Du kan se min färdiga krets i nästa steg.

Steg 9: Musikkrets (valfritt)

Musikkrets (valfritt)
Musikkrets (valfritt)
Musikkrets (tillval)
Musikkrets (tillval)
Musikkrets (tillval)
Musikkrets (tillval)

Som ingång för musiken används en enkel kondensatormikrofonkapsel. Den drivs via ett strömbegränsande motstånd anslutet till 3,3V kraftskena. I ett nötskal, fungerar kapseln som en kondensator, så när ljudvågor träffar membranet, förändras dess kapacitet och analogt med dess spänning. Denna spänning är så låg att vi knappt kan mäta den med ESP: ns analoga till digitala omvandlare (ADC). För att ändra detta förstärker vi signalen med en Op-Amp. Den förstärkta utspänningen filtreras sedan av ett passivt lågpassfilter av första ordningen med en gränsfrekvens på cirka 70 Hz.

Om du bestämmer dig för att använda ett NodeMCU-kort kan du ansluta utsignalen från den ovan beskrivna kretsen till A0-stiftet på kortet. Om du vill bygga ditt eget styrkort måste du lägga till en spänningsdelare i kretsen. Anledningen till det är ESP: n ombord på ADC som har en maximal ingångsspänning på 1V. NodeMCU har denna spänningsdelare redan inbyggd, så för att koden och förstärkaren ska fungera på båda korten behöver den självtillverkade också den.

Steg 10: Slutför och montera elektroniken

Avsluta och montera elektroniken
Avsluta och montera elektroniken
Avsluta och montera elektroniken
Avsluta och montera elektroniken
Avsluta och montera elektroniken
Avsluta och montera elektroniken

För in först LED-ringarna i de angivna fördjupningarna ovanpå fodralet. Anslut därefter strömförsörjningen, mikrokontrollern, ringarna och, om du byggde den, förstärkarkretsen enligt schemat.

Varning: Innan du gör det, dubbelkolla om du stängde av strömmen med strömbrytaren. Jag glömde göra det och stekte en LDO -regulator under lödning. Efter det är du redo att montera elektroniken inuti fodralet.

Jag började med att fästa battericellen i fodralet med lite hett lim. Efter det placerade jag laddarkretsen och kollade om jag kunde ansluta en USB -kabel eller inte. Eftersom jag inte litade på varmt lim för att klara av att trycka in kabeln flera gånger, hamrade jag försiktigt tunna spikar genom laddarens lödkuddar för ingångsspänningen. Efter laddaren limmade jag mikrofonkapseln på plats.

Efteråt använde jag några böjda trådstift för att fixa mikrokontrollern. Denna metod gör att jag kan ta ut styrenheten ur höljet för reparationer när jag behöver utan att behöva skära igenom varmt lim och förstöra MDF.

Nu använde jag några buntband och böjda trådstift för att montera trådarna. Det sista du ska göra är att sätta in täckringarna i akryl. Var försiktig när du gör det, så att du inte skadar färgen eftersom det sitter ganska tätt. Du kan till och med minska akrylringarnas inre och/eller ytterdiameter eftersom MDF -skivan absorberade lite färg och fördjupningarna blev lite mindre.

Steg 11: Blinkar mikrokontrollern

Blinkar mikrokontrollern
Blinkar mikrokontrollern

Efter att ha färdigställt hårdvarubyggnaden är det bara att blinka programvaran. Jag använde Arduino IDE för det. Men innan du kan programmera handkontrollen måste du lägga till några bibliotek och välja rätt kort.

Bibliotek

Du kan antingen använda IDEs Library Manager (Sketch -> Include Libraries -> Mange Libraries) för att lägga till dem, eller så kan du ladda ner och flytta dem till din IDEs biblioteksmapp. Jag rekommenderar chefen eftersom det är mer bekvämt, och du kan hitta alla nödvändiga bibliotek där.

DNSServer av Kristijan Novoselic (nödvändigt för WiFiManager)

WiFiManager av tzapu och tablatronix (öppnar ett AP där du kan ange dina lokala WiFi -referenser)

WebSockets av Markus Sattler (nödvändigt för kommunikation mellan användarenhet och flaskställ)

Adafruit NeoPixel från Adafruit (nödvändigt för att styra LED-ringarna)

Styrelse

Oavsett vilken typ av styrkort du valde att använda, under Verktyg -> Kort välj NodeMCU 1.0 (ESP -12E -modul). Se till att blixtstorleken är inställd på 4M (1M SPIFFS) och uppladdningshastigheten till 115200.

Blinkar

För att blinka NodeMCU-kortet ansluter du det helt enkelt till din dator, väljer rätt port och laddar upp programmet. Blixten på det självtillverkade styrkortet är lite mer komplicerat. Anslut din USB till seriell omvandlare till kortets tre stift. Anslut GND och GND, RX och TX, och TX och RX. För att gå in i blixtläget för styrenheten, starta om den med RST-knappen och håll GPIO0-knappen intryckt. Kontrollera därefter att din omvandlare är inställd på 3,3V. Slutför processen genom att ladda upp programmet.

Viktigt: Slå på enheten innan du blinkar.

Steg 12: Ladda upp webbsidan

Ladda upp webbsidan
Ladda upp webbsidan
Ladda upp webbsidan
Ladda upp webbsidan
Ladda upp webbsidan
Ladda upp webbsidan

Filerna som behövs för webbsidan lagras på mikrokontrollernas flashminne. Före den första användningen måste du ladda upp dem manuellt. För att göra det, slå på enheten (kanske du måste ladda den först). Lysdioderna ska lysa rött (på grund av min kamera ser det ut som orange på bilden), vilket betyder att flaskstället inte är anslutet till ett nätverk. Efter en kort tid bör en WiFi -åtkomstpunkt med namnet "bottleStandAP" öppnas. Standardlösenordet är "12345678", du kan ändra det i ino -filen. Anslut din smartphone/surfplatta/bärbara dator till den. Ett meddelande ska dyka upp och vidarebefordra dig till en webbsida. Om inget liknande händer öppnar du bara din webbläsare och skriver in 192.168.4.1. På den här sidan klickar du på Konfigurera WiFi och anger dina nätverksuppgifter. Därefter bör åtkomstpunkten stängas och lysdioderna ändrar färg till en ljusblå. Det betyder att enheten har anslutit till ditt nätverk.

Nu måste du bestämma enhetens IP -adress. För att göra det kan du ansluta den till din dator, öppna seriemonitorn för Arduino IDE (överföringshastighet är 115200) och starta om enheten. Alternativt kan du öppna webbsidan för din WiFi-router. När du känner till enhetens IP öppnar du din webbläsare och skriver in xxx.xxx.xxx.xxx/upload (där xs står för flaskstatusens IP). Extrahera filerna från.rar och ladda upp dem alla. Efter det skriver du bara in enhetens IP och kontrollsidan ska öppnas. Och därmed byggde du klart ditt eget flaskställ. Grattis!

Steg 13: Webbsidan

Webbsidan
Webbsidan
Webbsidan
Webbsidan

På webbsidan kan du styra ditt flaskställ. När du öppnar huvudsidan kan du se tre blå cirklar högst upp i mitten. Dessa låter dig välja vilken rings inställningar du vill ändra. Färghjulet ändrar de valda ringarna när du klickar på den. Fältet nedan visar vilken färg du valt. Genom att trycka på slumpknappen ställs de valda ringarna till slumpmässigt färgläge. Det betyder att färgen ändras när en cykel i andningsläget är över.

På den andra sidan kan du välja de olika lägena. Fast färg och fast ljusstyrka gör exakt vad deras namn innebär. Andningsläget skapar en "andetag" -effekt, vilket innebär att ringarnas ljusstyrka ökar över en anpassad tid till det maximala och sedan minskar till sitt minimum. Cykelläget tänder endast en lysdiod under en viss tid, sedan tänds nästa, sedan nästa och så vidare. Tröskeläget för musik ändrar färg när mikrofonen detekterar en signal som är högre än ett anpassat tröskelvärde. Inte bara musik kan utlösa detta, till exempel klappar också. I VU -mätarläget beror antalet lysdioder som lyser på volymen på musikens bas.

Obs: Du kan använda linjalerna utan att aktivera motsvarande lägen. Till exempel: Om du använder cykelläget och ändrar ljusstyrkan via linjalen för fast ljusstyrka, kommer ringarna att förbli i cykelläge men ändra deras ljusstyrka i enlighet med vad du ställer in.

Steg 14: Hur fungerar allt detta?

Funktionsprincipen är ganska lätt att förstå. När du öppnar webbsidan skickar ESP8266 webbfilerna till din enhet. När du sedan ändrar något på sidan skickas ett specialtecken, mestadels följt av ett heltal, till mikrokontrollen via en websocket -anslutning. Styrenheten behandlar sedan dessa data och ändrar lamporna därefter.

Webbdelen är skriven i html, css och javascript. För att göra denna uppgift enklare gjorde jag oss från Materialize CSS -ramverket och jQuery. Om du vill ändra utseendet på webbplatsen, ta en titt på dokumentationen för ramverket. Alternativt kan du helt enkelt skriva din egen sida och ladda upp den. Du måste bara upprätta websocket -anslutningen och skicka samma data.

Rekommenderad: