Innholdsfortegnelse:

DIY automatiske musikalske julelys (MSGEQ7 + Arduino): 6 trinn (med bilder)
DIY automatiske musikalske julelys (MSGEQ7 + Arduino): 6 trinn (med bilder)

Video: DIY automatiske musikalske julelys (MSGEQ7 + Arduino): 6 trinn (med bilder)

Video: DIY automatiske musikalske julelys (MSGEQ7 + Arduino): 6 trinn (med bilder)
Video: Arduino Christmas Lights featuring Train - Shake Up Christmas 2024, November
Anonim
DIY automatiske musikalske julelys (MSGEQ7 + Arduino)
DIY automatiske musikalske julelys (MSGEQ7 + Arduino)

Så hvert år sier jeg at jeg kommer til å gjøre dette og aldri kommer til å gjøre det fordi jeg utsetter mye. 2020 er et år med forandring, så jeg sier at dette er året for å gjøre det. Så håper du liker og lager dine egne musikalske julelys. Dette kommer til å bli en enkel guide, men neste år planlegger jeg å gjøre mye mer med dette prosjektet.

Full prosjektvideo:

Rekvisita

Bluetooth -mottaker

Arduino Nano https://amzn.to/3piiJHb eller

PRO Mini

(trenger https://amzn.to/2WGa19q for å programmere det)

MSGEQ7 IC

MSGEQ7 -modul

MSGEQ7 Shield

Motstander

Kondensatorer

Reléer - Mekanisk https://amzn.to/3pm2WXF eller

Solid State https://amzn.to/2KOVqFU X3

Solid State 4 -kanal

8x8 LED -skjerm

Loddbart brødbrett

Hook Up Wire Kit

JST -adaptere

3,5 mm Stereo Jack -kontakt

Strømforsyningsmodul

9V 1A strømforsyning

Strømkontakt, stikkontakter og strømboks fra lokal maskinvare

Verktøy som brukes (ikke kjøpt for denne videoen, bare generelle ting jeg har):

Loddejern:

Reparasjonsmatte:

Blyfri loddetråd:

Magnetiske hjelpende hender:

Multimeter: https://amzn.to/3oQrgB5 (mitt neste kjøp)

Kretskortholder

Dette innlegget inneholder tilknyttede lenker, som hjelper til med å støtte kanalen min. Hvis du kjøper via en av linkene mine, kan jeg tjene en liten provisjon; uten ekstra kostnad for deg

Trinn 1: Slik fungerer dette - MSGEQ7

Slik fungerer dette - MSGEQ7
Slik fungerer dette - MSGEQ7
Slik fungerer dette - MSGEQ7
Slik fungerer dette - MSGEQ7

Så hovedkomponenten i dette prosjektet ville være MSGeq7. Dette er en syv-bånds grafisk equalizer IC er en CMOS-brikke som deler lydspekteret i syv bånd, 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz og 16kHz. De syv frekvensene blir toppdetektert og multiplekset til utgangen for å gi en DC -representasjon av amplituden til hvert bånd. Ingen eksterne komponenter er nødvendig for å velge filterresponsene. Bare en off-chip-motstand og kondensator er nødvendig for å velge frekvens på oscillator-klokken. Senterfrekvensene for filter sporer denne frekvensen.

Dataark:

Så alt i alt en veldig lett å bruke IC.

Trinn 2: Testkrets

Testkrets
Testkrets
Testkrets
Testkrets
Testkrets
Testkrets
Testkrets
Testkrets

Databladet for msgeq7 gir det typiske applikasjonskretsdiagrammet som jeg fulgte og brukte til å designe kretsen for dette prosjektet.

Vær oppmerksom på verdiene til de spesifikke motstandene og kondensatorene. Jeg har 2 x 3,5 mm stereolydkontakter for å tillate en Bluetooth -modul for å legge inn lyd som skal registreres av msgeq7. Du trenger to 22k motstander og en kondensator for å isolere MSG og tillate at den andre kontakten sendes til en høyttaler via en AUX -kabel.

Jeg byttet også LED -lampene senere med reléer (de er i utgangspunktet det samme innen dette prosjektet) for deretter å kontrollere noen julelys.

Lysdiodene representerer lyden "lav" "mellom" "Høy". Planen er å registrere frekvensamplituder og bestemme et triggerpunkt som deretter vil slå på lyset.

Jeg la også til en 8x8 led matrise for å gi en fin lydvisualisering av lydfrekvensen mens de spilles.

Koden kan fungere med alle Arduino -brett, men jeg bruker nano for testing og Pro Mini i det siste kortet.

Trinn 3: Kode

Kode
Kode

Så koden igjen er ganske enkel.

Full kode:

Koden trenger LedControl -biblioteket https://www.arduino.cc/reference/en/libraries/ledc… for 8x8 display MAX7219. Annet enn det er det ikke nødvendig med noe ekstra bibliotek, og koden er frittstående.

I sløyfen sjekker jeg de forskjellige båndene fra MSG og skalerer verdiene mellom 0 og 7 som skal vises på 8x8 -matrisen. Jeg lagrer deretter verdiene i en matrise som skal behandles raskt etterpå.

Disse amplitudeverdiene kontrolleres deretter for å se om de krysser en angitt verdi. Hvis de gjør det, tenner jeg lyset.

bånd 0, 1, 2 = LAV (63Hz til 400Hz)

bånd 3 = MIDs (400Hz til 2500Hz)

Band 4, 5, 6 = HIGHs (2,5KHz til 16KHz

Dette var mer et personlig valg basert på observasjoner som ga den beste lyseffekten etter min mening. Dette kan justeres og endres for å passe alle typer musikk eller lysshow.

Siden jeg endte med å bruke mekaniske reléer, fordi det er alt jeg hadde for øyeblikket, la jeg til et flaggsystem slik at reprisene kunne forbli i minst mulig tid for ikke å forårsake overkobling/raske svingninger som kan skade reléene og påvirke den musikalske belysningen.

Når tiden er gått og amplituden ikke utløses igjen, vil lysdioden slukke og prosessen fortsetter.

Jeg bruker millis (), ikke forsinkelser for at dette ikke skal blokkere koden med forsinkelser. Så koden går veldig fort og effektivt.

Trinn 4: Legge til reléer

Legger til releer
Legger til releer
Legger til releer
Legger til releer

ADVARSEL: Vær forsiktig når du håndterer AC -spenninger. Få hjelp fra en profesjonell/elektriker hvis du er usikker. Merk at jeg er en lisensiert wireman.

For dette prosjektet bruker jeg mekaniske reléer fordi solid-state-reléene jeg hadde bare er for likspenning/

Sukk.

Jeg anbefaler at du får et sett med SSR -er hvis du ikke allerede har mekaniske reléer og planlegger å gjøre dette prosjektet.

De er raskere og enda viktigere roligere. Merk SSR har lavere strømnivåer enn mekaniske reléer for å ta hensyn til hvor mye lys du vil sette på en plugg og måle gjeldende trekning.

Trinn 5: Styret som gjør alt

Styret som gjør alt
Styret som gjør alt
Styret som gjør alt
Styret som gjør alt

Etter å ha fått alt til å fungere slik jeg ønsket, la jeg alt på et loddet brødbrett.

Det er det samme kretsdiagrammet som før, akkurat denne gangen brukte jeg en gammel bærbar lydkontakt for lyd inn og ut.

Jeg har en Arduino pro mini og en strømforsyning til brødbrett, slik at brettet kan drives fra en 12v DC -kontakt/

8x8 -skjermen er festet til et av skruehullene.

Reléet har en 6 -pinners JST -kontakt som vil forsyne Gnd, 5v og 4 GPIO for å kontrollere de 4 reléene. For dette prosjektet bruker jeg bare 3 av disse reléene mens den 4 pluggen er normal, og vil bli brukt som en hard tilbakestilling for fremtiden og for å drive kortet.

Trinn 6: Ferdig + Fremtid

Ferdig + Framtid
Ferdig + Framtid

Full prosjektvideo:

Du kan like dele og abonnere.

Neste år vil jeg legge til wifi og en RTC for å tillate fjernkontroll og tidskontroll. Også en FM -sender slik at biler kunne stille inn lyden. Viktigst av alt ville jeg slå reléene ut for SSR -er. Jeg kan også bytte MSGEQ7 for en DSP og gjøre en skikkelig analyse av lyden for bedre lyseffekter.

Håper alle får en fin jul og et godt nytt år.

Anbefalt: