Inhoudsopgave:
- Stap 1: Materialen
- Gereedschap
- Materialen
- Stap 2: Maak de platen
- Stap 3: Maak de connectoren
- Stap 4: Maak het circuit
- Stap 5: Voltooi en bevestig de connector
- Stap 6: Verbind en upload code
- Stap 7: Doe iets cools
- Stap 8: Variaties en opmerkingen
- variaties
- Opmerkingen:
Video: DIY 3D-controller - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
Maak een 3D-interface met behulp van zes weerstanden, aluminiumfolie en een Arduino. Neem dat, Wii. Update: een veel uitgebreidere uitleg van dit project is verkrijgbaar bij Make Magazine. Het is misschien gemakkelijker om hun instructies te volgen, en ik denk dat hun code meer up-to-date is. Het basisdoel hier was om een 3D-handpositiedetectiesysteem te maken dat de meeste mensen kunnen bouwen, met behoud van enige schijn van functionaliteit. Bekijk de demovideo om een idee te krijgen van mogelijke toepassingen. Als je denkt dat je er een kunt bouwen die eenvoudiger en even nauwkeurig is, of iets complexer en nauwkeuriger, deel het dan in de reacties! DIY 3D-interface: Tic Tac Toe van Kyle McDonald op Vimeo.
Stap 1: Materialen
Gereedschap
- Arduino
- Verwerken
- Draadsnijders
- Soldeerbout
- Stanleymes
Materialen
- (3) 270k-weerstanden
- (3) 10k weerstanden
- Soldeer
- Draad
- Aluminiumfolie
- Karton
Optioneel:
- Tape (bijv. scotch)
- Afgeschermde draad (bijv. coaxkabel, ~3')
- (3) krokodillenklemmen
- 3-pins kop
- Ritssluiting
- Krimpfolie of hete lijm
Stap 2: Maak de platen
Deze sensor werkt met eenvoudige RC-circuits, waarbij elk circuit de afstand in één dimensie meet. Ik ontdekte dat de gemakkelijkste manier om drie capacitieve platen voor dit doel te rangschikken in de hoek van een kubus is. Ik heb de hoek van een kartonnen doos in een kubus van 8,5 inch gesneden en vervolgens wat aluminiumfolie gesneden om als iets kleinere vierkanten te passen. Tape op de hoeken houdt ze op hun plaats. Plak niet de hele omtrek vast, we hebben het nodig later voor het bevestigen van de krokodillenklemmen.
Stap 3: Maak de connectoren
Om de Arduino op de platen aan te sluiten, hebben we afgeschermde draad nodig. Als de draad niet is afgeschermd, werken de draden zelf duidelijker als onderdeel van de condensator. Ik heb ook ontdekt dat krokodillenklemmen het heel gemakkelijk maken om dingen aan aluminium te bevestigen - maar er zijn waarschijnlijk ook tal van andere manieren.
- Knip drie gelijke lengtes afgeschermde kabel af. Ik koos ongeveer 12". Hoe korter hoe beter. Coaxkabel werkt, maar hoe lichter/flexibeler hoe beter.
- Strip de laatste halve inch of zo om de afscherming te onthullen, en de laatste kwart inch om de draad te onthullen.
- Draai de krokodillenklemmen om de draden op de draden en soldeer ze aan elkaar.
- Voeg wat krimpkous of hete lijm toe om de boel bij elkaar te houden.
Stap 4: Maak het circuit
Het "circuit" is slechts twee weerstanden per stuk aluminium. Om te begrijpen waarom ze er zijn, helpt het om te weten wat we met de Arduino doen. Wat we achtereenvolgens met elke pin doen, is:
- Zet de pin in de uitvoermodus.
- Schrijf een digitale "laag" naar de pin. Dit betekent dat beide zijden van de condensator geaard zijn en zal ontladen.
- Zet de pin in de invoermodus.
- Tel hoeveel tijd de condensator nodig heeft om op te laden door te wachten tot de pin "hoog" gaat. Dit hangt af van de waarden voor de condensator en de twee weerstanden. Omdat de weerstanden vast zijn, zal een verandering in capaciteit meetbaar zijn. De afstand tot de grond (uw hand) is de belangrijkste variabele die bijdraagt aan de capaciteit.
De 270k weerstanden zorgen voor de spanning om de condensatoren op te laden. Hoe kleiner de waarde, hoe sneller ze worden opgeladen. De 10k-weerstanden hebben ook invloed op de timing, maar ik begrijp hun rol niet helemaal. We zullen dit circuit aan de basis van elke draad maken.
- Soldeer de 10k-weerstand aan het uiteinde van de draad tegenover de krokodillenklem
- Soldeer de 270k weerstand tussen de afscherming en de draad (plaat). We zullen de draad afschermen met dezelfde 5 V die we gebruiken om de condensatoren op te laden
Stap 5: Voltooi en bevestig de connector
Als de 3 connectoren klaar zijn, wil je misschien krimpkous of hete lijm toevoegen om ze van elkaar te isoleren, omdat je de afscherming/5 V-punten aan elkaar soldeert.
Voor mij was het het gemakkelijkst om de twee buitenste connectoren aan elkaar te solderen en vervolgens de derde toe te voegen. Nadat u de drie connectoren hebt gesoldeerd, voegt u een vierde draad toe voor het voeden van de afscherming/5 V.
Stap 6: Verbind en upload code
- Steek de connector in de Arduino (pinnen 8, 9 en 10)
- Klik de krokodillenklemmen op de platen (8:x:links, 9:y:onder, 10:z:rechts)
- Zorg voor stroom door de vierde draad (mijn rode draad) aan te sluiten op de 5 V. van de Arduino
- Sluit de Arduino aan, start de Arduino-omgeving op
- Upload de code naar het bord (let op: als u zich buiten Noord-Amerika bevindt, moet u waarschijnlijk #define mains wijzigen in 50 in plaats van 60).
De Arduino-code is bijgevoegd als Interface3D.ino en de verwerkingscode is bijgevoegd als TicTacToe3D.zip
Stap 7: Doe iets cools
Als je naar het seriële venster in de Arduino-omgeving kijkt, zul je merken dat het onbewerkte 3D-coördinaten uitspuugt op 115200 baud, bij ongeveer 10 Hz = 60 Hz / (2 volledige cycli * 3 sensoren). De code meet zo vaak mogelijk op elke sensor gedurende de periode van twee cycli van de netvoedingsfrequentie (die verrassend stabiel is) om elke koppeling op te heffen. Het eerste wat ik hiermee deed, was een eenvoudige 3D Tic maken Tac Toe-interface. Als je wilt beginnen met een werkende demo, de code is hier beschikbaar, laat de map "TicTacToe3D" in je map Processing sketches vallen. Drie handige dingen die de Tic Tac Toe-code laat zien:
- Lineariseert de onbewerkte gegevens. De oplaadtijd volgt eigenlijk een machtswet ten opzichte van de afstand, dus je moet de vierkantswortel van één over de tijd nemen (d.w.z. afstand ~= sqrt(1/time))
- Normaliseert de gegevens. Wanneer u de schets start, houdt u de linkermuisknop ingedrukt terwijl u uw hand beweegt om de grenzen te bepalen van de ruimte waarmee u wilt werken.
- "Momentum" toevoegen aan de gegevens om eventuele kriebels weg te werken.
In de praktijk kan ik met deze opstelling met aluminiumfolie een reeks van de grootste afmeting van folie krijgen (het grootste stuk dat ik heb getest is 1,5 vierkante voet).
Stap 8: Variaties en opmerkingen
variaties
- Bouw enorme sensoren
- Optimaliseer de weerstanden en code voor dingen die snel trillen, en gebruik het als een pickup/microfoon
- Er zijn waarschijnlijk andere trucs om het systeem te ontkoppelen van AC-brom (een enorme condensator tussen de platen en de aarde?)
- Ik heb geëxperimenteerd met het afschermen van de platen aan de onderkant, maar het lijkt alleen maar problemen te veroorzaken
- Maak een RGB- of HSB-kleurkiezer
- Bedien video- of muziekparameters; een beat of melodie in volgorde zetten
- Groot, licht gebogen oppervlak met meerdere platen + een projector = "Minority Report"-interface
Opmerkingen:
De Arduino-speeltuin heeft twee artikelen over capacitieve aanraakdetectie (CapSense en CapacitiveSensor). Uiteindelijk ging ik met een omkering van een ontwerp dat ik tegenkwam in het exemplaar van "Physical Computing" (Sullivan/Igoe) van een vriend waarin werd beschreven hoe RCtime moest worden gebruikt (de schakeling had de condensator en één weerstand vast en mat de waarde van een potentiometer). De timing van de microseconden werd bereikt met behulp van een enigszins geoptimaliseerde code van de Arduino-forums. Nogmaals: al beginnend met tonnen theremin-schema's die ik niet helemaal begrijp, weet ik heel goed dat er betere manieren zijn om capacitieve afstandsdetectie te doen, maar ik wilde iets zo eenvoudig mogelijk maken dat nog steeds functioneel is. Als je een even eenvoudig en functioneel ontwerp hebt, plaats het dan in de reacties! Met dank aan Dane Kouttron voor het tolereren van al mijn elementaire elektronicavragen en voor het helpen begrijpen hoe een eenvoudig heterodyne theremin-circuit werkt (oorspronkelijk ging ik deze gebruiken - en, indien correct afgesteld, zou het waarschijnlijk nauwkeuriger zijn).
Eerste prijs in de The Instructables Book Contest
Aanbevolen:
DIY Raspberry Pi-downloadbox: 4 stappen
DIY Raspberry Pi Downloadbox: Ben je vaak bezig met het downloaden van grote bestanden zoals films, torrents, cursussen, tv-series, etc dan ben je hier aan het juiste adres. In deze Instructable zouden we onze Raspberry Pi zero in een downloadmachine veranderen. Die elke
Versterker en luidspreker DIY: 4 stappen
Versterker en luidspreker DIY: dit is de laatste fase van het DIY-project van de versterker door luidsprekers toe te voegen aan de vorige uitgangen van de volgende instructables. *** - PC-luidsprekerversterker https://www.instructables.com/PC-Speaker-Amplifier/ geïntroduceerd in 27 december 2020- Arduino Au
Draagbare Bluetooth-luidspreker - MKBoom DIY Kit: 5 stappen (met afbeeldingen)
Draagbare Bluetooth-luidspreker | MKBoom DIY Kit: Hallo allemaal! Het is zo goed om na een lange pauze terug te zijn met weer een ander luidsprekerproject. Aangezien de meeste van mijn builds nogal wat gereedschap nodig hebben om te voltooien, besloot ik deze keer een draagbare luidspreker te bouwen met een kit die je gemakkelijk kunt kopen. Ik dacht het
DIY FPV-bril: 6 stappen
DIY FPV-bril: ooit die cooooooooooly fpv-systemen gezien die de jongens van flitetest hebben. Nou, ik was jaloers op ze omdat ze zulke geweldige dingen hadden. Ik kende het bereik van mobiele telefoons en de kracht van videogesprekken of Skype of iets dergelijks. Dus besloot ik om mijn eigen
LED LIGHT DIY voor webcam (C920): 10 stappen (met afbeeldingen)
LED LIGHT DIY voor webcam (C920): Verlichting is essentieel voor een webcamera. Deze kleine LED-ring helpt je gezichtscamera je heel goed te nemen. Je kunt een video maken zonder enig licht, behalve deze LED. Ik gebruikte een 3D-printer en WS2812b LED-module (compatibel met Neopixel)