Innholdsfortegnelse:

Arduino -basert lysshow: 7 trinn
Arduino -basert lysshow: 7 trinn

Video: Arduino -basert lysshow: 7 trinn

Video: Arduino -basert lysshow: 7 trinn
Video: How to use seven segment LED display with Arduino 2024, Juli
Anonim
Image
Image
Arduino basert lysshow
Arduino basert lysshow
Arduino basert lysshow
Arduino basert lysshow
Arduino basert lysshow
Arduino basert lysshow

Jeg har bygd et Arduino -kontrollert lysshow som min inngang til Makers Rock, Album Art Collab. Du kan lære mer om det på følgende lenke: Makers Rock. Coveret jeg velger er fra Judas Priest - Painkiller album.

Hele stykket er et lysshow som er innelukket i en treramme og albumbildene settes på toppen slik at lyset skinner gjennom.

Trinn 1: Forbered trerammen

Forbered trerammen
Forbered trerammen
Forbered trerammen
Forbered trerammen
Forbered trerammen
Forbered trerammen

Du kan bygge rammen eller skapet på hvilken som helst måte du ønsker. Jeg velger tre, ettersom det er enkelt å jobbe med bare grunnleggende verktøy.

Jeg har bygget rammen av noen pallplater som jeg har berget. Jeg merket 4 stykker av de rene delene av brettene som målte 30 centimeter i lengde, og passet på å merke 45 grader miters for leddene.

Jeg klippet alt ved hjelp av minksagen, og det fungerte OK. Hvis du har tilgang til en gjærsag eller en bordsag enn du kan bruke dem og få mye bedre resultater. Skjøtene var ikke perfekte, men med beltemaskinen kunne jeg få bitene til å passe fint.

Under testpassingen innså jeg at de er for brede og at de vil ta mye plass på innsiden av skapet, så jeg bestemte meg for å kutte dem til 2 cm i bredden. Igjen brukte jeg pilkesagen min og passet på å ikke kutte inne i linjen.

Gjæringsleddene hadde ikke mye støtte alene, så jeg har kuttet små trekantstykker for å lime i hjørnene som litt ekstra støtte. Jeg er sikker på at det er massevis av bedre alternativer å gjøre her, men dette var den beste ideen jeg hadde for øyeblikket.

Jeg skjøt limene med trelim i midten av skjøtene og CA -lim i endene for å fungere som en klemme og holde den på plass mens trelimet herder. De små støttetrekantene ble limt på plass med bare CA -lim for å gjøre prosessen raskere.

Trinn 2: Prototyp kretsen

Prototyp kretsen
Prototyp kretsen
Prototyp kretsen
Prototyp kretsen
Prototyp kretsen
Prototyp kretsen

Elektronikken til lysshowet inne, består av et Arduino Uno -kort med en mikrofon fra et ødelagt headset som lytter etter lydene i rommet, og deretter gjenspeiler det det totale lydvolumet ved å tenne en av de fem stykkene med led -stripe inni.

Kretsen består av to uavhengige deler. Den første delen er mikrofonen med en enkelt transistorforsterker, mens den andre delen er driverne for LED -stripene. Vi trenger dem siden Arduino og mikrofonforsterkeren fungerer på 5V mens LED -stripen går på 12V.

Mikrofonen er koblet til 5V -utgangen på Arduino gjennom en 10k motstand og gjennom en kondensator til basen på transistoren. Transistoren forsterker deretter signalet med et mellomnivå på 2,5V, slik at vi kan plukke det opp på den analoge inngangen A0 på Arduino.

For å slå på 12V for lysdiodene, er transistorenes base koblet til en digital utgang gjennom en 10k motstand, og den samme kretsen gjentas 5 ganger. Jeg slår på bare 3 lysdioder i hver av seksjonene, så jeg kan komme unna med transistorene. Hvis du vil endre prosjektet for å bruke lengre striper enn du trenger å bruke noen MOSFET -er.

Selv om det kan virke som en komplisert krets, er det egentlig en veldig enkel. Jeg har testet alt på et brødbrett, og etter at jeg hadde sørget for at det fungerte som forventet, har jeg bygget et skjold som skal monteres direkte på Arduino Uno.

Skjematisk er tilgjengelig på:

Trinn 3: Bygg Arduino Shield

Bygg Arduino Shield
Bygg Arduino Shield
Bygg Arduino Shield
Bygg Arduino Shield
Bygg Arduino Shield
Bygg Arduino Shield

Når jeg var fornøyd med kretsen, har jeg bygget et skjold for Arduino på et perfboard. Du kan se hele byggeprosessen i den vedlagte videoen for prosjektet.

Trinn 4: Programmer Arduino

Programmer Arduino
Programmer Arduino

Prosjektets hovedstjerne er koden som er programmert på Arduino. Dette er det som gjør det tunge løftet å analysere lydnivåene fra mikrofonen og gjøre dem til synlig lys som følger musikken. Du kan laste ned hele koden fra GitHub -siden min, og du finner lenken til den i videobeskrivelsen sammen med skjemaet for elektronikken.

I et nøtteskall har koden 3 hoveddeler: hente et musikkeksempel for å analysere, bestemme lydnivåene og deretter kontrollere utgangen til lysdiodene basert på den beregnede verdien. Jeg vet at dette kan høres ut som rakettvitenskap for noen, men det er veldig enkelt når du får tak i ting.

Skissen i begynnelsen definerer alle variablene og konstantene vi skal bruke. Jeg sørget for å gi en forklaring til hver av dem, slik at du lettere kan forstå det. Etter det har vi oppsettfunksjonen som starter seriell kommunikasjon for feilsøkingsformål, tømmer ut og initialiserer matrisen vi skal bruke for topp til topp volumdeteksjon og definerer utgangene for lysdiodene.

I loop -delen av koden starter vi først samplingen av lyden slik at vi kan oppdage volumet fra topp til topp. I en vanlig lydbølge er fraværet av støy et nivå på midtpunktet av minimum og maksimal spenning forsterkeren kan produsere. I vårt tilfelle er det 2,5V.

Når en lyd er oppdaget, får vi en bølge som beveger seg opp og ned, så for å oppdage høye lyder er vi interessert i den kombinerte amplituden i den bølgen. Så i stedet for en bølge i bevegelse, kartlegger vi verdiene fra 0 til maks i en slags invertert tilstand for lett å skille mellom høye og lave volumer.

De to neste delene av koden gjør akkurat det, først måler vi topp til topp amplitude, og vi bestemmer maksimumet for denne toppen for perioden. Slik mikrofonen fungerer, jo lenger du er fra den, jo mindre volum kan den velge, så vi må beregne en faktor som enten vil forsterke eller redusere det målte signalet og ha samme reaksjon på de forskjellige nivåene.

Som et siste trinn multipliserer vi den målte verdien fra mikrofonen med faktoren som vi nettopp har beregnet og basert på resultatet slår vi på spesifikke lysdioder.

Etter at brettet var loddet i henhold til skjemaet, sørget jeg for å teste det før jeg fortsatte med å forberede selve albumet.

Kode på GitHub:

Trinn 5: Forbered frontdekselet

Forbered frontdekselet
Forbered frontdekselet
Forbered frontdekselet
Forbered frontdekselet
Forbered frontdekselet
Forbered frontdekselet

På forsiden av stykket har jeg brukt et ark klart akryl. Jeg har kuttet det trykte kunstverket til dimensjoner og påført et lag med gjennomsiktig trelim på overflaten uten det beskyttende omslaget på akrylen. Hvis du har tilgang til Mod Podge eller et klart medium av akrylgel, er det bedre å bruke det i stedet for trelim, men det fungerer nesten det samme.

Trikset mens du bruker bildet, er å ikke bruke for mye lim som jeg gjorde for ikke å få rynker på papiret. Mindre er bedre i dette tilfellet, men overflaten må være helt dekket. Med limet fortsatt vått, er kunstverket knapt synlig, men etter at det har tørket helt blir det gjennomsiktig.

Jeg forlot rammen for å kurere i 24 timer, og da fant jeg ut plasseringen av Arduino inne i rammen. Jeg vil at kunststykket skal henge på en vegg, og siden det må plugges inn for strøm, har jeg montert brettet på undersiden slik at strømadapterledningen kommer opp fra stikkontakten.

Jeg brukte en baufil for å fjerne det meste av materialet og jobbet meg deretter gjennom med en meisel og en fil. Hvis du har en håndrouter, vil det være mye raskere enn meiselen. Jeg har også boret et hull gjennom rammen slik at mikrofonen kan stikke ut og plukke opp lydene fra rommet.

Før ferdig, har jeg pusset rammen opp til 240 sandpapir, og deretter påført et strøk med beislakk. Jeg brukte en klut til å tørke flekken av og deretter tørke den av etter en stund.

Trinn 6: Sett sammen lysshowet

Sett sammen lysshowet
Sett sammen lysshowet
Sett sammen lysshowet
Sett sammen lysshowet
Sett sammen lysshowet
Sett sammen lysshowet

Tykkelsen på rammen var ikke nok til å holde all elektronikken på plass, så jeg har klippet og limt to lag med 5 mm svart XPS -skumisolasjon på begge sider av rammen. Bortsett fra å gi plass til all elektronikken, ga skummet stykket et fint lagdelt utseende fra sidene.

Alle elektronikkomponentene er montert inne i rammen med varmt lim, fra mikrofonen og deretter hoved Arduino -kortet.

På baksiden har jeg merket og kuttet et ark med 3 mm fiberplate med høy tetthet som vil fungere som et bakplate og en reflektor siden en av sidene er hvite. Jeg har brukt små 3,5 x 16 mm skruer for å feste den bakfra. Jeg fjernet deretter støtten fra limet på LED -stripene og fest dem på fiberplaten.

Akrylfronten er også festet med de samme 16 mm skruene, men jeg forsinker skruehullene med en 6 mm borekron for at de skal sitte i flukt med fronten. Hvis du har en ruter, kan du lage et spor i rammen og omslutte akrylen på den måten.

På slutten var det bare å fjerne det andre beskyttende laget fra akrylarket og teste alt for å sikre at det fortsatt var funksjonelt. For å henge den på veggen, har jeg lagt til en snor mellom to av skårene på baksiden.

Trinn 7: Nyt Arduino Light Show

Nyt Arduino Light Show
Nyt Arduino Light Show

Alt i alt er jeg veldig fornøyd med hvordan dette ble. Kapslingen kunne ha vært litt bedre hvis jeg hadde de riktige trebearbeidingsverktøyene, men det er fortsatt en fin veggdekor. Siden jeg bygde det, hadde vi masse moro med det med barna mine, men det er på tide at det finner et nytt hjem.

Jeg vil gi bort stykket jeg har bygget, så sjekk videoen på YouTube for å lære hvordan du kan vinne det.

Smak på koden på YouTube

Lag video av prosjektet

Hvis du likte prosjektet, kan du vurdere å støtte arbeidet mitt med Patreon! Https: //www.patreon.com/taste_the_code

Skjematisk er tilgjengelig på:

Kode på GitHub:

Anbefalt: