Inhoudsopgave:

Interactieve laserbladgenerator met Arduino - Ajarnpa
Interactieve laserbladgenerator met Arduino - Ajarnpa

Video: Interactieve laserbladgenerator met Arduino - Ajarnpa

Video: Interactieve laserbladgenerator met Arduino - Ajarnpa
Video: Shadow of War: Meet Mordor's Fiery Drakes and Feral Beasts - IGN First 2024, Juli-
Anonim
Image
Image
Interactieve laserbladgenerator met Arduino
Interactieve laserbladgenerator met Arduino
Interactieve laserbladgenerator met Arduino
Interactieve laserbladgenerator met Arduino

Lasers kunnen worden gebruikt om ongelooflijke visuele effecten te creëren. In dit project heb ik een nieuw type laserdisplay geconstrueerd dat interactief is en muziek afspeelt. Het apparaat roteert twee lasers om twee vortexachtige lichtstralen te vormen. Ik heb afstandssensoren in het apparaat opgenomen, zodat de laservellen kunnen worden gemanipuleerd door je hand ernaartoe te bewegen. Terwijl de persoon met de sensoren communiceert, speelt het apparaat ook muziek af via een MIDI-uitgang. Het bevat ideeën van laserharpen, laservortexen en POV-schermen.

Het instrument wordt bestuurd met een Arduino Mega die de invoer van ultrasone sensoren opneemt en het type laserblad dat wordt gevormd en de gegenereerde muziek uitvoert. Door de vele vrijheidsgraden van de draaiende lasers zijn er talloze verschillende laservelpatronen die kunnen worden gecreëerd.

Ik deed een voorlopige brainstorm over het project met een nieuwe kunst/tech-groep in St. Louis, Dodo Flock genaamd. Emre Sarbek voerde ook enkele eerste tests uit op de sensoren die worden gebruikt om beweging in de buurt van het apparaat te detecteren.

Als u een laserbladapparaat bouwt, vergeet dan niet om veilig te werken met lasers en draaiende schijven.

Update 2020: ik realiseerde me dat het oppervlak dat met de lasers is gemaakt, een hyperboloïde is.

Stap 1: Bevoorradingslijst

Voorraadlijst
Voorraadlijst
Voorraadlijst
Voorraadlijst
Voorraadlijst
Voorraadlijst

Materialen

Lasers -

Borstelloze motor -

Elektronische snelheidsregelaar -

Servomotoren -

Transistors

Multiplex

Plexiglas

Ultrasone sensoren

Sleepring -

Witte LED's -

Buck-converters

Draadomslagdraad

MIDI-aansluiting

Potentiometer en knoppen -

Hardware - https://www.amazon.com/gp/product/B01J7IUBG8/ref=o…https://www.amazon.com/gp/product/B06WLMQZ5N/ref=o…https://www.amazon. com/gp/product/B06XQMBDMX/ref=o…

Weerstanden

JST-connectorkabels -

Wisselstroomschakelaar

12V voeding -

Houtlijm

superlijm

Houtschroeven

USB-verlengkabel -

Gereedschap:

Soldeerbout

Draadsnijders

Decoupeerzaag

Cirkelzaag

Micrometer

Boormachine

Stap 2: Overzicht en schema

Overzicht en schema
Overzicht en schema

Een laserstraal creëert een goed gecollimeerde (d.w.z. smalle) lichtstraal, dus een manier om een lichtstraal te produceren, is door de straal snel in een bepaald patroon te bewegen. Als u bijvoorbeeld een cilindrische lichtplaat wilt maken, roteert u een laser rond een as evenwijdig aan de richting waarin deze wijst. Om een laser snel te verplaatsen, kunt u een laser bevestigen aan een houten plank die is bevestigd aan een borstelloze gelijkstroommotor. Alleen hiermee kun je coole cilindrische laservortexen maken!

Andere laservortexprojecten bereiken dit door een gekantelde spiegel op de rotatieas te monteren met een stationaire laser die op de spiegel is gericht. Hierdoor ontstaat een laservelkegel. Met dit ontwerp lijken echter alle laserplaten afkomstig te zijn van één enkele oorsprong. Als de lasers buiten de as worden geplaatst, zoals bij het ontwerp dat ik heb gebouwd, kun je convergerende laservellen maken, zoals de zandlopervorm die in de video wordt getoond.

Maar wat als u wilt dat de lichtplaten dynamisch en interactief zijn? Om dit te bereiken, heb ik twee lasers op servo's bevestigd en vervolgens de servo's op de houten plank bevestigd. Nu kunnen de servo's de hoek van de laser ten opzichte van de rotatie-as van de motor aanpassen. Door twee lasers op twee verschillende servo's te hebben, kunt u met het apparaat twee verschillende lichtplaten maken.

Om de snelheid van de DC-motor te regelen, heb ik een potentiometer aangesloten op een Arduino die de ingang van de potenometer neemt en een signaal afgeeft aan de elektrische snelheidsregelaar (ESC). De ESC regelt vervolgens de snelheid van de motor (een nogal toepasselijke naam, ja), afhankelijk van de weerstand van de potentiometer.

De aan/uit-status van de laser wordt geregeld door ze aan te sluiten op de emitter van een transistor die in verzadiging werkt (d.w.z. die werkt als een elektrische schakelaar). Een stuursignaal wordt naar de basis van de transistor gestuurd die de stroom door de laser regelt. Hier is een bron voor het regelen van een belasting met een transistor met een arduino:

De servopositie wordt ook bestuurd met de Arduino. Terwijl de plank draait, kan de lichte plaat worden gemanipuleerd door de servopositie te wijzigen. Zonder enige gebruikersinput kan dit alleen dynamische lichtplaten creëren die betoverend zijn. Er zijn ook ultrasone sensoren geplaatst rond de rand van het apparaat, die worden gebruikt om te bepalen of een persoon haar hand dicht bij de lichte vellen houdt. Deze ingang wordt vervolgens gebruikt om de lasers te verplaatsen om nieuwe lichtplaten te maken OF om een MIDI-signaal te genereren. Er is een MIDI-aansluiting aangesloten om het MIDI-signaal naar een MIDI-afspeelapparaat te verzenden.

Stap 3: Borstelloze motor besturen met Arduino

Borstelloze motor besturen met Arduino
Borstelloze motor besturen met Arduino
Borstelloze motor besturen met Arduino
Borstelloze motor besturen met Arduino
Borstelloze motor besturen met Arduino
Borstelloze motor besturen met Arduino

Om vortex-achtige lichtplaten te maken, moet u de laserstraal roteren. Om dit te bereiken, besloot ik om een borstelloze gelijkstroommotor te gebruiken. Ik leerde dat dit soort motoren erg populair zijn bij modelvliegtuigen en drones, dus ik dacht dat het vrij eenvoudig te gebruiken zou zijn. Ik kwam onderweg een paar haken en ogen tegen, maar over het algemeen ben ik blij met hoe de motor voor het project werkt.

Eerst moet de motor worden gemonteerd. Ik heb op maat een onderdeel ontworpen om de motor vast te houden en deze te bevestigen aan een bord dat het apparaat vasthoudt. Nadat de motor veilig was, heb ik de motor op de ESC aangesloten. Van wat ik heb gelezen, klinkt het heel moeilijk om een borstelloze motor zonder te gebruiken. Om de motor te laten draaien, gebruikte ik een Arduino Mega. Aanvankelijk kon ik de motor niet laten draaien omdat ik het stuursignaal alleen maar op 5V of aarde aansloot, zonder een juiste basiswaarde in te stellen of de ESC te kalibreren. Ik volgde toen een Arduino-tutorial met een potentiometer en servomotor, en dat zette de motor aan het draaien! Hier is een link naar de tutorial:

De ESC-draden kunnen eigenlijk op elke manier worden aangesloten op de borstelloze motor. Je hebt enkele vrouwelijke banaanstekkers nodig. De dikkere rode en zwarte kabels op de ESC zijn aangesloten op een DC-voeding van 12V en de zwarte en witte kabels op de besturingsconnector van ESC zijn respectievelijk verbonden met aarde en een besturingspin op de Arduino. Bekijk deze video om te leren hoe u de ESC kunt kalibreren:

Stap 4: Het chassis van de laserplaat construeren

Het chassis van de laserplaat construeren
Het chassis van de laserplaat construeren
Het chassis van de laserplaat construeren
Het chassis van de laserplaat construeren
Het chassis van de laserplaat construeren
Het chassis van de laserplaat construeren

Nadat de motor is gaan draaien, is het tijd om het chassis van de lichte plaat op te bouwen. Ik zaag een stuk triplex met een CNC-machine, maar je kunt ook een decoupeerzaag gebruiken. Het triplex bevat de ultrasone sensoren en heeft een gat erin om een stuk plexiglas te passen. Het plexiglas moet met epoxy aan het hout worden bevestigd. Er worden gaten geboord waar de sleepring doorheen past.

Vervolgens wordt er nog een cirkelvormig stuk triplex gesneden om de borstelloze motor vast te houden. In deze plaat van hout worden gaten geboord zodat er later in de constructie draden door kunnen. Na het bevestigen van de motorsteun en het boren van gaten, worden de twee platen multiplex bevestigd door 1x3 planken van ongeveer 15 cm lang en metalen beugels. Op de foto zie je hoe het plexiglas boven de motor en de lasers zit.

Stap 5: Laser- en servomotorassemblage

Laser- en servomotorassemblage
Laser- en servomotorassemblage
Laser- en servomotorassemblage
Laser- en servomotorassemblage
Laser- en servomotorassemblage
Laser- en servomotorassemblage

De variabele lichtplaten worden gecreëerd door lasers te bewegen ten opzichte van de rotatie-as. Ik heb een montage ontworpen en geprint die een laser aan een servo bevestigt en een montage die de servo met de draaiende plank verbindt. Bevestig eerst de servo aan de servobevestiging met behulp van twee M2-schroeven. Schuif vervolgens een M2-moer in de lasermontage en draai een stelschroef vast om de laser op zijn plaats te houden. Voordat u de laser op de servo aansluit, moet u ervoor zorgen dat de servo naar zijn gecentreerde bedrijfspositie is gedraaid. Gebruik de servo-tutorial om de servo naar 90 graden te sturen. Monteer vervolgens de laser zoals weergegeven in de afbeelding met behulp van een schroef. Ik moest ook een beetje lijm toevoegen om ervoor te zorgen dat de laser niet onbedoeld verschuift.

Ik heb een lasersnijder gebruikt om de plank te maken, die afmetingen heeft van ongeveer 3 cm x 20 cm. De maximale afmeting van de lichte plaat is afhankelijk van de afmeting van de houten plank. Vervolgens werd in het midden van de plank een gat geboord, zodat deze op de borstelloze motoras past.

Vervolgens heb ik de laser-servo-assemblage op de plank gelijmd, zodat de lasers gecentreerd waren. Zorg ervoor dat alle componenten op de plank in evenwicht zijn ten opzichte van de rotatie-as van de plank. Soldeer JST-connectoren op de lasers en servokabels, zodat ze in de volgende stap op de sleepring kunnen worden aangesloten.

Bevestig tot slot de plank met bijgevoegde laser-servo-assemblages op de borstelloze motor met een ring en moer. Test nu de borstelloze motor om er zeker van te zijn dat de plank kan draaien. Zorg ervoor dat u de motor niet te snel aandrijft of uw hand in het pad van de rotatie van de plank plaatst.

Stap 6: De sleepring installeren

De sleepring installeren
De sleepring installeren
De sleepring installeren
De sleepring installeren

Hoe voorkom je dat de draden in de knoop raken als de elektronica draait? Een manier is om een batterij te gebruiken voor een voeding en deze aan te sluiten op de draaiende assemblage, zoals in deze POV-instructie. Een andere manier is om een slipring te gebruiken! Als je nog nooit van een slingring hebt gehoord of er nog nooit een hebt gebruikt, bekijk dan deze geweldige video die laat zien hoe het werkt.

Bevestig eerst de andere uiteinden van de JST-connectoren aan de sleepring. Je wilt niet dat de draden te lang zijn, omdat ze mogelijk ergens achter kunnen blijven haken als de plank draait. Ik bevestigde de sleepring aan het plexiglas boven de borstelloze motor om gaten te boren voor schroeven. Pas op dat u het plexiglas niet barst tijdens het boren. U kunt ook een lasersnijder gebruiken om preciezere gaten te maken. Zodra de sleepring is bevestigd, sluit u de connectoren aan.

Op dit punt kunt u de sleepringdraden aansluiten op pinnen van een Arduino om wat voorlopige tests uit te voeren met de laserbladgenerator.

Stap 7: De elektronica solderen

De elektronica solderen
De elektronica solderen
De elektronica solderen
De elektronica solderen
De elektronica solderen
De elektronica solderen
De elektronica solderen
De elektronica solderen

Ik heb een prototypebord gesneden om alle elektronica aan te sluiten. Omdat ik een 12V-voeding heb gebruikt, moet ik twee dc-dc-converters gebruiken: 5V voor de lasers, servo's, potentiometer en MIDI-aansluiting, en 9V voor de Arduino. Alles was verbonden zoals weergegeven in het diagram door te solderen of draad te wikkelen. Het bord werd vervolgens verbonden met een 3D-geprint onderdeel met behulp van PCD-afstandhouders.

Stap 8: De elektronicabox bouwen

De elektronicakast bouwen
De elektronicakast bouwen
De elektronicakast bouwen
De elektronicakast bouwen
De elektronicakast bouwen
De elektronicakast bouwen
De elektronicakast bouwen
De elektronicakast bouwen

Alle elektronica is ondergebracht in een houten kist. Ik sneed 1x3 hout voor de zijkanten van de doos en sneed een grote opening aan één kant zodat de draden op een bedieningspaneel erdoor konden. De zijkanten werden verbonden met behulp van kleine blokjes hout, houtlijm en schroeven. Nadat de lijm was opgedroogd, heb ik de zijkanten van de doos geschuurd om alle onvolkomenheden in de doos te egaliseren. Daarna sneed ik dun hout voor de voorkant, achterkant en onderkant van de doos. De onderkant werd aan de zijkanten genageld en de voor- en achterkant werden op de doos gelijmd. Ten slotte heb ik de afmetingen van de componenten op het voorpaneel van de doos gemeten en gaten gesneden: de stroomkabelaansluiting, usb-aansluiting, MIDI-aansluiting en potentiometer.

Stap 9: Elektronica installeren in de doos

Elektronica in de doos installeren
Elektronica in de doos installeren
Elektronica in de doos installeren
Elektronica in de doos installeren
Elektronica in de doos installeren
Elektronica in de doos installeren

Ik heb de voeding met schroeven aan de doos bevestigd, de Arduino met een speciaal ontworpen houder en de printplaat die in stap 7 is gemaakt. De potentiometer en MIDI-aansluiting werden eerst met draadwikkeldraad op de printplaat aangesloten en vervolgens vastgelijmd aan de voorpaneel. De AC-aansluiting was verbonden met de voeding en de DC-uitgang van de voeding was verbonden met de ingangen van de Buck-converters en kabels die verbinding maken met de borstelloze motor. De motor-, servo- en laserdraden worden vervolgens door een gat in het triplex naar de elektronicadoos geleid. Voordat ik met de ultrasone sensoren begon, heb ik de componenten afzonderlijk getest om er zeker van te zijn dat alles correct was aangesloten.

Ik kocht aanvankelijk een AC-stroomaansluiting, maar las een aantal behoorlijk slechte recensies over het smelten, dus ik had gaten met de verkeerde maat op het voorpaneel. Daarom heb ik een aantal jack-adapters ontworpen en 3D-geprint die passen bij de grootte van de gaten die ik heb gesneden.

Stap 10: Montage en bedrading van de ultrasone sensoren

De ultrasone sensoren monteren en bedraden
De ultrasone sensoren monteren en bedraden
De ultrasone sensoren monteren en bedraden
De ultrasone sensoren monteren en bedraden
De ultrasone sensoren monteren en bedraden
De ultrasone sensoren monteren en bedraden

Op dit punt zijn de lasers, servo's, borstelloze motor en MIDI-aansluiting allemaal verbonden met en kunnen worden bestuurd door de Arduino. De laatste hardwarestap is het aansluiten van de ultrasone sensoren. Ik heb een ultrasone sensor ontworpen en 3d geprint. Vervolgens heb ik de ultrasone sensorassemblages bedraad en gelijkmatig bevestigd aan de bovenste triplexplaat van de lichte plaatgenerator. De draadwikkeldraad werd naar de elektronicakast geleid door gaten in de triplexplaat te boren. Ik heb de wire wrap aangesloten op de juiste pinnen op de Arduino.

Ik was een beetje teleurgesteld over de prestaties van de ultrasone sensor. Ze werkten redelijk goed voor afstanden tussen 1 cm - 30 cm, maar de afstandsmeting is erg luidruchtig buiten dat bereik. Om de signaal-ruisverhouding te verbeteren, heb ik geprobeerd de mediaan of het gemiddelde van verschillende metingen te nemen. Het signaal was echter nog steeds niet betrouwbaar genoeg, dus uiteindelijk stelde ik de cut-off in voor het spelen van een noot of het verwisselen van het laservel op 25 cm.

Stap 11: Programmeren van de Dynamic Laser Vortex

De dynamische laservortex programmeren
De dynamische laservortex programmeren

Nadat alle bedrading en montage is voltooid, is het tijd om het lichtbladapparaat te programmeren! Er zijn veel mogelijkheden, maar het algemene idee is om de ingangen van de ultrasone sensoren op te nemen en signalen uit te zenden voor MIDI en het besturen van de lasers en servo's. In alle programma's wordt de rotatie van de plank geregeld door aan de potentiometerknop te draaien.

Je hebt twee bibliotheken nodig: NewPing en MIDI

Bijgevoegd is de volledige Arduino-code.

Uitvinding Uitdaging 2017
Uitvinding Uitdaging 2017
Uitvinding Uitdaging 2017
Uitvinding Uitdaging 2017

Tweede prijs in de Invention Challenge 2017

Aanbevolen: