Innehållsförteckning:

Arduino Based Light Show: 7 steg
Arduino Based Light Show: 7 steg

Video: Arduino Based Light Show: 7 steg

Video: Arduino Based Light Show: 7 steg
Video: How To Use 7 Segment Display With Arduino : Tutorial 39 2024, Juli
Anonim
Image
Image
Arduino Based Light Show
Arduino Based Light Show
Arduino Based Light Show
Arduino Based Light Show
Arduino Based Light Show
Arduino Based Light Show

Jag har byggt en Arduino -kontrollerad ljusshow som mitt inträde i Makers Rock, Album Art Collab. Du kan lära dig mer om det på följande länk: Makers Rock. Omslaget jag väljer är från Judas Priest - Painkiller album.

Hela verket är en ljusshow som är innesluten i en träram och albumkonstverket sätts på toppen så att ljuset lyser igenom.

Steg 1: Förbered träramen

Förbered träramen
Förbered träramen
Förbered träramen
Förbered träramen
Förbered träramen
Förbered träramen

Du kan bygga ramen eller höljet på vilket sätt du vill. Jag väljer trä eftersom det är lätt att arbeta med att bara använda grundläggande verktyg.

Jag har byggt ramen av några pallbrädor som jag har räddat. Jag markerade 4 bitar av de rena delarna av brädorna som mätte 30 centimeter i längd och såg till att markera 45 grader miters för lederna.

Jag gjorde hela skärningen med min sticksåg och det fungerade OK. Om du har tillgång till en geringssåg eller en bordssåg kan du använda dem och få mycket bättre resultat. Skarvarna var inte perfekta men med min bandslipare kunde jag få bitarna att passa snyggt.

Under testpassningen insåg jag att de är för breda och att de kommer att ta mycket plats inuti höljet så jag bestämde mig för att klippa dem till 2 cm i bredd. Återigen använde jag min jiggsåg och såg till att inte klippa inuti linan.

Geringsfogarna hade inte mycket stöd på egen hand så jag har klippt små triangelbitar för att limma i hörnen som lite extra stöd. Jag är säker på att det finns massor av bättre alternativ att göra här men det här var den bästa idén jag hade för tillfället.

Jag förenade mitrarna med trälim i mitten av fogarna och CA -lim i ändarna för att fungera som en klämma och hålla den på plats medan trälimet härdar. De små stödtrianglarna limmades på plats med endast CA -lim för att göra processen snabbare.

Steg 2: Prototyp kretsen

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

Elektroniken för ljusshowen inuti, består av ett Arduino Uno -kort med en mikrofon från ett trasigt headset som lyssnar efter ljuden i rummet och sedan återspeglar den den totala ljudvolymen genom att tända en av de fem bitarna av ledremsa inuti.

Kretsen består av två oberoende delar. Den första delen är mikrofonen med sin enda transistorförstärkare medan den andra delen är drivrutinerna för LED -remsorna. Vi behöver dem eftersom Arduino och mikrofonförstärkaren fungerar på 5V medan LED -remsan går på 12V.

Mikrofonen är ansluten till 5V -utgången på Arduino via ett 10k -motstånd och genom en kondensator till transistorns bas. Transistorn förstärker sedan signalen med en mittnivå på 2,5V så att vi kan plocka upp den på den analoga ingången A0 på Arduino.

För att slå på 12V för lysdioderna är transistornas bas ansluten till en digital utgång via ett 10k motstånd och samma krets upprepas 5 gånger. Jag tänder bara 3 lysdioder i var och en av sektionerna så att jag kan komma undan med transistorerna. Om du vill ändra projektet för att använda längre remsor än du behöver använda några MOSFET.

Även om det kan verka som en komplicerad krets är det verkligen en mycket enkel. Jag har testat allt på en brödbräda och efter att jag sett till att det fungerar som förväntat har jag byggt en sköld som ska monteras direkt på Arduino Uno.

Schemat är tillgängligt på:

Steg 3: Bygg Arduino Shield

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

När jag var nöjd med kretsen har jag byggt en sköld för Arduino på en perfekt skiva. Du kan se hela byggprocessen i den bifogade videon för projektet.

Steg 4: Programmera Arduino

Programmera Arduino
Programmera Arduino

Projektets huvudstjärna är koden som är programmerad på Arduino. Det är det som gör det tunga med att analysera ljudnivåerna från mikrofonen och förvandla dem till synligt ljus som följer musiken. Du kan ladda ner hela koden från min GitHub -sida och du hittar länken till den i videobeskrivningen tillsammans med schemat för elektroniken.

I ett nötskal har koden tre huvuddelar: att hämta ett musikprov för att analysera, bestämma ljudnivåerna och sedan styra utsignalen till lysdioderna baserat på det beräknade värdet. Jag vet att det här kanske låter som raketvetenskap för vissa men det är väldigt enkelt när man väl får tag på saker.

Skissen i början definierar alla variabler och konstanter som vi ska använda. Jag såg till att ge en förklaring till var och en av dem så att du lättare kan förstå det. Efter det har vi installationsfunktionen som startar den seriella kommunikationen för felsökningsändamål, tömmer ut och initierar matrisen som vi ska använda för topp till topp volymdetektering och definierar utgångarna för lysdioderna.

I loop -delen av koden startar vi först samplingen av ljudet så att vi kan upptäcka dess topp till topp volym. I en vanlig ljudvåg är frånvaron av brus en nivå vid mittpunkten för den lägsta och högsta spänning som förstärkaren kan producera. I vårt fall är det 2,5V.

När ett ljud detekteras får vi en våg som rör sig upp och ner så för att upptäcka höga ljud är vi intresserade av den kombinerade amplituden i den vågen. Så istället för en rörlig våg kartlägger vi värdena från 0 till max i ett slags inverterat tillstånd för att enkelt skilja högt från lågvolymljud.

De två nästa delarna av koden gör exakt det, först mäter vi topp till topp amplitud och vi bestämmer maximalt för den toppen för perioden. Hur mikrofonen fungerar, ju längre du är från den, desto mindre volym kan den plocka så vi måste beräkna en faktor som antingen förstärker eller minskar den uppmätta signalen och har samma reaktion på de olika nivåerna.

Som ett sista steg multiplicerar vi det uppmätta värdet från mikrofonen med den faktor som vi just beräknat och baserat på resultatet tänder vi specifika lysdioder.

Efter att brädet var lödt enligt schemat, såg jag till att testa det innan jag fortsatte med att förbereda själva albumkonsten.

Kod på GitHub:

Steg 5: Förbered den främre luckan

Förbered den främre luckan
Förbered den främre luckan
Förbered den främre luckan
Förbered den främre luckan
Förbered den främre luckan
Förbered den främre luckan

På framsidan av verket har jag använt ett ark klart akryl. Jag har klippt det tryckta konstverket till mått och applicerat ett lager transparent trälim på ytan utan det skyddande omslaget på akryl. Om du har tillgång till Mod Podge eller till något klart akrylgelmedium än är det bättre att använda det istället för trälim, men det fungerar nästan likadant.

Tricket när du applicerar bilden är att inte använda för mycket lim som jag gjorde för att inte få rynkor på pappret. Mindre är bättre i detta fall men ytan måste vara helt täckt. Med limmet fortfarande vått är konstverket knappt synligt men efter att det torkat helt blir det transparent.

Jag lämnade ramen för att härda i 24 timmar och sedan kom jag på placeringen av Arduino inuti ramen. Jag vill att konststycket ska hängas på en vägg och eftersom det måste kopplas in för ström har jag monterat kortet på undersidan så att nätadapterkabeln kommer upp från vägguttaget.

Jag använde en bågfil för att ta bort det mesta av materialet och arbetade mig sedan igenom med en mejsel och en fil. Om du har en handrouter blir det mycket snabbare än mejseln. Jag borrade också ett hål genom ramen så att mikrofonen kan sticka ut och ta upp ljuden från rummet.

Innan jag avslutade har jag slipat ramen upp till 240 sandpapper av sand och sedan applicerat ett lager träfläcklack. Jag använde en trasa för att torka av fläcken och sedan torka av den efter en tid.

Steg 6: Montera Light Show

Montera Light Show
Montera Light Show
Montera Light Show
Montera Light Show
Montera Light Show
Montera Light Show

Ramens tjocklek var inte tillräckligt för att hålla all elektronik på plats så jag har klippt och limt två lager 5 mm svart XPS -skumisolering på båda sidor av ramen. Bortsett från att ge plats för all elektronik, gav skummet pjäsen ett snyggt skikt från sidorna.

Alla elektronikkomponenter monteras inuti ramen med varmt lim, från mikrofonen och sedan från Arduino -kortet.

På baksidan har jag markerat och klippt ett ark av 3 mm fiberplatta med hög densitet som kommer att fungera som en bakplatta och en reflektor eftersom en av sidorna är vit. Jag har använt små 3,5 x 16 mm skruvar för att fästa den från baksidan. Jag tog sedan bort underlaget från limmet på LED -remsorna och fäst dem på fiberplattan.

Akrylfronten är också fastsatt med samma 16 mm skruvar men jag försänker skruvhålen med en 6 mm borr för att de ska sitta i linje med fronten. Om du har en router, kan du göra ett spår i ramen och omsluta akrylen på det sättet.

I slutet var det bara att ta bort det andra skyddsskiktet från akrylarket och testa allt för att se till att det fortfarande fungerar. För att hänga den på väggen har jag lagt till ett snöre mellan två av skotten på baksidan.

Steg 7: Njut av din Arduino Light Show

Njut av din Arduino Light Show
Njut av din Arduino Light Show

Sammantaget är jag supernöjd över hur detta blev. Höljet kunde ha varit lite bättre om jag hade rätt träbearbetningsverktyg men det är fortfarande en fin väggdekor. Sedan jag byggde det hade vi massor av kul med det med mina barn men det är dags för det att hitta ett nytt hem.

Jag kommer att ge bort det jag har byggt så kolla in videon på YouTube för att lära dig hur du kan vinna det.

Smaka på koden på YouTube

Skapa video av projektet

Om du gillade projektet kan du överväga att stödja mitt arbete med Patreon! Https: //www.patreon.com/taste_the_code

Schemat är tillgängligt på:

Kod på GitHub:

Rekommenderad: