Inhoudsopgave:

Op Arduino gebaseerde lichtshow - Ajarnpa
Op Arduino gebaseerde lichtshow - Ajarnpa

Video: Op Arduino gebaseerde lichtshow - Ajarnpa

Video: Op Arduino gebaseerde lichtshow - Ajarnpa
Video: Массимо Банци: Как Arduino пробуждает воображение 2024, Juli-
Anonim
Image
Image
Op Arduino gebaseerde lichtshow
Op Arduino gebaseerde lichtshow
Op Arduino gebaseerde lichtshow
Op Arduino gebaseerde lichtshow
Op Arduino gebaseerde lichtshow
Op Arduino gebaseerde lichtshow

Ik heb een Arduino-gestuurde lichtshow gebouwd als mijn inzending voor de Makers Rock, Album Art Collab. Je kunt er meer over leren op de volgende link: Makers Rock. De hoes die ik kies is van het album Judas Priest - Painkiller.

Het hele stuk is een lichtshow die is ingesloten in een houten frame en het albumhoesje is erop gezet zodat het licht er doorheen schijnt.

Stap 1: Bereid het houten frame voor

Bereid het houten frame voor
Bereid het houten frame voor
Bereid het houten frame voor
Bereid het houten frame voor
Bereid het houten frame voor
Bereid het houten frame voor

U kunt het frame of de behuizing op elke gewenste manier samenstellen. Ik kies voor hout omdat het gemakkelijk is om mee te werken met alleen basisgereedschap.

Ik heb het frame opgebouwd uit een aantal palletborden die ik heb geborgen. Ik heb 4 stukken van de schone delen van de planken gemarkeerd die 30 centimeter lang waren, en zorg ervoor dat ik 45 graden verstek markeerde voor de verbindingen.

Ik deed al het snijden met mijn decoupeerzaag en het werkte goed. Als u toegang heeft tot een verstekzaag of een tafelzaag dan kunt u die gebruiken en veel betere resultaten krijgen. De verbindingen waren niet perfect, maar met mijn bandschuurmachine kon ik de stukken mooi passend krijgen.

Tijdens de testpassing realiseerde ik me dat ze te breed zijn en dat ze veel ruimte innemen aan de binnenkant van de behuizing, dus besloot ik ze tot 2 cm breed te knippen. Opnieuw gebruikte ik mijn decoupeerzaag om ervoor te zorgen dat ik niet binnen de lijn sneed.

De verstekverbindingen hadden op zichzelf niet veel steun, dus ik heb kleine driehoekige stukjes gesneden om in de hoeken te lijmen als wat extra ondersteuning. Ik weet zeker dat er een heleboel betere opties zijn om hier te doen, maar dit was het beste idee dat ik op dit moment had.

Ik heb de mijters verbonden met houtlijm in het midden van de verbindingen en CA-lijm aan de uiteinden om als een klem te fungeren en het op zijn plaats te houden terwijl de houtlijm uithardt. De kleine steundriehoeken werden op hun plaats gelijmd met alleen CA-lijm om het proces sneller te laten verlopen.

Stap 2: Maak een prototype van het circuit

Maak een prototype van het circuit
Maak een prototype van het circuit
Maak een prototype van het circuit
Maak een prototype van het circuit
Maak een prototype van het circuit
Maak een prototype van het circuit

De elektronica voor de lichtshow binnenin, bestaat uit een Arduino Uno-bord met een microfoon van een kapotte headset die luistert naar de geluiden in de kamer en vervolgens het totale geluidsvolume weerkaatst door een van de 5 stukjes ledstrip aan de binnenkant aan te steken.

De schakeling bestaat uit twee onafhankelijke delen. Het eerste deel is de microfoon met zijn enkele transistorversterker, terwijl het tweede deel de drivers voor de LED-strips zijn. We hebben ze nodig omdat de Arduino en de microfoonversterker op 5V werken terwijl de ledstrip op 12V werkt.

De microfoon is aangesloten op de 5V-uitgang van de Arduino via een weerstand van 10k en via een condensator op de basis van de transistor. De transistor versterkt het signaal vervolgens met een middenniveau van 2,5V, zodat we het kunnen oppikken op de analoge ingang A0 op de Arduino.

Om de 12V voor de LED's aan te zetten, wordt de basis van de transistoren via een weerstand van 10k verbonden met een digitale uitgang en wordt hetzelfde circuit 5 keer herhaald. Ik zet slechts 3 LED's aan in elk van de secties, dus ik kan wegkomen met behulp van de transistors. Als u het project wilt aanpassen om langere strips te gebruiken, moet u enkele MOSFET's gebruiken.

Hoewel het misschien een ingewikkeld circuit lijkt, is het in werkelijkheid heel eenvoudig. Ik heb het allemaal getest op een breadboard en nadat ik ervoor had gezorgd dat het werkte zoals verwacht, heb ik een schild gebouwd dat direct op de Arduino Uno kan worden gemonteerd.

Schema is beschikbaar op:

Stap 3: Bouw het Arduino-schild

Bouw het Arduino-schild
Bouw het Arduino-schild
Bouw het Arduino-schild
Bouw het Arduino-schild
Bouw het Arduino-schild
Bouw het Arduino-schild

Toen ik eenmaal tevreden was met het circuit, heb ik een schild voor de Arduino gebouwd op een perfboard. U kunt het volledige bouwproces zien in de bijgevoegde video voor het project.

Stap 4: Programmeer de Arduino

Programmeer de Arduino
Programmeer de Arduino

De belangrijkste ster van het project is de code die op de Arduino is geprogrammeerd. Dit is wat het zware werk doet om de geluidsniveaus van de microfoon te analyseren en deze om te zetten in zichtbaar licht dat de muziek volgt. Je kunt de volledige code downloaden van mijn GitHub-pagina en je vindt de link ernaar in de videobeschrijving samen met het schema voor de elektronica.

In een notendop bestaat de code uit 3 hoofdonderdelen: een muziekmonster ophalen om te analyseren, de geluidsniveaus bepalen en vervolgens de output naar de LED's regelen op basis van de berekende waarde. Ik weet dat dit voor sommigen misschien als raketwetenschap klinkt, maar het is heel gemakkelijk als je eenmaal dingen te pakken hebt.

De schets aan het begin definieert alle variabelen en constanten die we gaan gebruiken. Ik heb ervoor gezorgd dat ik bij elk van hen een uitleg heb gegeven, zodat je het gemakkelijker kunt begrijpen. Daarna hebben we de setup-functie die de seriële communicatie start voor foutopsporingsdoeleinden, de array leegt en initialiseert die we gaan gebruiken voor de detectie van piek-tot-piekvolume en de uitgangen voor de LED's definieert.

In het lusgedeelte van de code beginnen we eerst met het samplen van de audio, zodat we het piek-tot-piekvolume kunnen detecteren. In een normale geluidsgolf is de afwezigheid van ruis een niveau in het midden van de minimale en maximale spanning die de versterker kan produceren. In ons geval is dat 2,5V.

Zodra een geluid wordt gedetecteerd, krijgen we een golf die op en neer beweegt, dus om hoge geluiden te detecteren, zijn we geïnteresseerd in de gecombineerde amplitude in die golf. Dus in plaats van een bewegende golf, brengen we de waarden van 0 tot max in een soort omgekeerde toestand om gemakkelijk hoge van lage volumegeluiden te kunnen onderscheiden.

De volgende twee secties van de code doen precies dat, eerst meten we de piek-tot-piek-amplitude en bepalen we het maximum van die piek voor de periode. De manier waarop de microfoon werkt, hoe verder je er vandaan staat, hoe minder volume hij kan kiezen, dus we moeten een factor berekenen die het gemeten signaal versterkt of verlaagt en dezelfde reactie op de verschillende niveaus heeft.

Als laatste stap vermenigvuldigen we de gemeten waarde van de microfoon met de factor die we zojuist hebben berekend en op basis van het resultaat schakelen we specifieke LED's in.

Nadat het bord helemaal volgens het schema was gesoldeerd, heb ik het getest voordat ik verder ging met het voorbereiden van de eigenlijke albumhoezen.

Code op GitHub:https://github.com/bkolicoski/arduino-light-show

Stap 5: Bereid de voorklep voor

Bereid de voorklep voor
Bereid de voorklep voor
Bereid de voorklep voor
Bereid de voorklep voor
Bereid de voorklep voor
Bereid de voorklep voor

Voor de voorkant van het stuk heb ik een vel helder acryl gebruikt. Ik heb het gedrukte kunstwerk op maat gesneden en een laag transparante houtlijm op het oppervlak aangebracht zonder de beschermhoes op het acryl. Als je toegang hebt tot Mod Podge of een helder acrylgelmedium dan is het beter om dat te gebruiken in plaats van houtlijm, maar het werkt bijna hetzelfde.

De truc bij het aanbrengen van de afbeelding is om niet te veel lijm te gebruiken zoals ik deed om geen kreukels op het papier te krijgen. Minder is in dit geval beter, maar het oppervlak moet volledig bedekt zijn. Als de lijm nog nat is, is het kunstwerk nauwelijks zichtbaar, maar nadat het volledig is opgedroogd, wordt het transparant.

Ik liet het frame 24 uur drogen en toen bedacht ik de plaatsing van de Arduino in het frame. Ik wil dat het kunstwerk aan een muur hangt en omdat het moet worden aangesloten voor stroom, heb ik het bord aan de onderkant gemonteerd, zodat de stroomadapterdraad uit het stopcontact komt.

Ik gebruikte een ijzerzaag om het grootste deel van het materiaal te verwijderen en werkte me vervolgens een weg door met een beitel en een vijl. Als je een handfrees hebt, dan is dat een stuk sneller dan de beitel. Ik heb ook een gat door het frame geboord, zodat de microfoon kan uitsteken en de geluiden uit de kamer kan opvangen.

Voordat ik klaar was, heb ik het frame geschuurd tot schuurpapier met korrel 240 en vervolgens een laag houtbeitslak aangebracht. Ik heb een stuk doek gebruikt om de vlek op te vegen en na een tijdje weer weg te vegen.

Stap 6: Monteer de lichtshow

Stel de lichtshow samen
Stel de lichtshow samen
Stel de lichtshow samen
Stel de lichtshow samen
Stel de lichtshow samen
Stel de lichtshow samen

De dikte van het frame was niet genoeg om alle elektronica op zijn plaats te houden, dus ik heb twee lagen 5 mm zwarte XPS-schuimisolatie aan beide zijden van het frame gesneden en gelijmd. Afgezien van het maken van ruimte voor alle elektronica, gaf het schuim het stuk een mooie gelaagde uitstraling vanaf de zijkanten.

Alle elektronische componenten zijn in het frame gemonteerd met behulp van hete lijm, beginnend bij de microfoon en vervolgens het Arduino-hoofdbord.

Op de achterkant heb ik een vel van 3 mm vezelplaat met een hoge dichtheid gemarkeerd en gesneden dat zal fungeren als een steunplaat en een reflector, aangezien een van de zijkanten wit is. Ik heb kleine 3,5 bij 16 mm schroeven gebruikt om hem vanaf de achterkant te bevestigen. Vervolgens heb ik de achterkant van de lijm op de LED-strips verwijderd en op de vezelplaat geplakt.

Het acrylfront is ook bevestigd met dezelfde 16 mm-schroeven, maar ik verzink de schroefgaten met een boor van 6 mm zodat ze gelijk met de voorkant zitten. Als je een bovenfrees hebt, dan kun je een groef in het frame maken en zo het plexiglas omsluiten.

Uiteindelijk was het gewoon een kwestie van de andere beschermlaag van de plexiglas plaat verwijderen en alles testen om er zeker van te zijn dat het nog functioneel was. Om het aan de muur te hangen, heb ik een touwtje toegevoegd tussen twee van de dekstenen aan de achterkant.

Stap 7: Geniet van je Arduino-lichtshow

Geniet van je Arduino-lichtshow
Geniet van je Arduino-lichtshow

Al met al ben ik super blij met hoe dit is afgelopen. De behuizing had een beetje beter kunnen zijn als ik de juiste houtbewerkingsgereedschappen had, maar het is nog steeds een mooi wanddecor. Sinds ik het heb gebouwd, hebben we er veel plezier mee gehad met mijn kinderen, maar het is tijd dat het een nieuw thuis gaat zoeken.

Ik zal het stuk dat ik heb gebouwd weggeven, dus bekijk de video op YouTube om te zien hoe je het kunt winnen.

Proef de code op YouTube

Bouw video van het project

Als je het project leuk vond, overweeg dan om mijn werk op Patreon te steunen!https://www.patreon.com/taste_the_code

Schema is beschikbaar op:

Code op GitHub:https://github.com/bkolicoski/arduino-light-show

Aanbevolen: