Inhoudsopgave:
- Stap 1: Hardware en zo
- Stap 2: Elektronica
- Stap 3: De muis voorbereiden
- Stap 4: De broncode
- Stap 5: Video
Video: 3D AIR-muis - Arduino + verwerking: 5 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:20
3D AIR-muis | Arduino + Processing Ik ben een student industrieel ontwerpen en vorig jaar heb ik dit project als onderdeel van een cursus genaamd "Technologie als RAW-materiaal" gebouwd als mijn laatste werk. Ik werk meestal met SolidWorks, een CAD-software voor ontwerp en engineering. Het roteren van een solide lichaam op het scherm gebeurt met de middelste muisknop. Ik was op zoek naar iets meer intuïtief. Dit is hoe ik uiteindelijk de 3D-luchtmuis heb gedaan, waarbij de daadwerkelijke rotatie van een object wordt gedaan door de muis in de lucht op alle 3 de assen te bewegen - op dezelfde manier waarop je het object zou draaien als je het in je hand zou houden. Ik heb de Arduino, een paar sensoren en een Processing-schets gebruikt. OPMERKINGEN: - Vanaf nu is dit slechts een demonstratie van het concept, omdat er geen echte plug-in is om met SolidWork te werken (maar voel je natuurlijk vrij om schrijf er een als je weet hoe:)- Aangezien alle hardware niet van mij was, is de eigenlijke 3D-muis al lang weg, en ik gebruik enkele foto's en een video om te proberen hier enige zin in te krijgen, en om je een idee als je wilt proberen er zelf een te bouwen … Geniet ervan … (Het is mijn eerste Instructable) Hier is een videodemo van het voltooide project
Stap 1: Hardware en zo
Het is niet de goedkoopste Instructable, want het is gebaseerd op een 3-assige accelerometer + kompassensor. Dingen die je nodig hebt: * Een muis - een gebruikte is beter (alleen omdat het gebruikt en goedkoper is), elke muis zou moeten doen. Je hebt wel wat ruimte nodig om de sensoren en wat extra draden te huisvesten, dus ga niet voor extra dunne / extra kleine muizen.* Compass Module met Tilt Compensation - HMC634 - Dit is de 3-assige sensor, gekocht bij SpurkFun voor ~ $149* Logic Level Converter - EEN MUST! Aangezien de Arduino 5V is en de 3-assige sensor 3,3V is, heb je er een nodig om de 5V om te zetten in 3,3V. Het heeft een grote naam, maar kost slechts $ 1,95 bij SpurkFun.* Grote optische detector / fototransistor - Dit is een eenvoudige optische sensor die in dit project wordt gebruikt om te detecteren wanneer de muis van het werkoppervlak wordt getild. Gekocht bij SpurkFun voor $ 2,25. Als je niet genoeg ruimte hebt om deze in de door jou gekozen muis te plaatsen, kun je deze kleiner en goedkoper gebruiken. * Eén (1) LED - let niet op de kleur, ultrahelder zal beter werken. * 2 weerstanden - één (1) x 100Ω en één (1) x 100 KΩ (voor de optische sensor) * Arduino-bord - DA! Ik heb het Diecimila-model gebruikt. Een nieuwere Duemilanove is verkrijgbaar bij SpurkFun voor ongeveer $ 29,95 (zou ook moeten werken) + Arduino-software geïnstalleerd. hete lijm (om dingen op hun plaats te bevestigen)Een paar kleine schroeven. Ongeveer 10cm van een 6mm (Dia.) houten anker. Wat extra draden. Soldeerbout. Iets om het plastic mee te snijden, ik gebruikte een snijmes en een vijl (VOOR vormgeven). ("Ok, haat me niet voor deze stap, Engels is mijn 2e taal, als ik deze verkeerd heb, het spijt me, ik weet zeker dat je zult begrijpen waar ik het over heb. wanneer je ziet het in foto's")
Stap 2: Elektronica
Alles moet aan elkaar worden gesoldeerd … In zekere zin … OPMERKING: de 3-assige sensor is een duur klein ding. Controleer de bedrading voordat u alles inschakelt … Zie de bijgevoegde schema's voor alle bedrading die in dit project wordt gebruikt. De bijgevoegde broncode kan alleen werken als je dezelfde pincodes gebruikt als ik, maar voel je vrij om deze te wijzigen wanneer je verbinding maakt, zolang je de juiste nummers in de code verandert. De 3-assige sensor aansluiten op de logische niveauconverter: Sensor VCC -> Arduino 3V3Sensor GND -> Arduino GndSensor SDA -> Converter TXI (Chan1)Converter TXO (Chan1) -> Arduino ANALOG IN 4Sensor SCL -> Converter TXI (Chan2)Converter TXO (Chan2) -> Arduino ANALOG IN 5Converter GND (minstens één van hen) -> Arduino GndConverter HV -> Arduino 5VConverter LV -> Arduino 3V3Optische sensor naar Arduino: Zie bijgevoegde afbeelding Digital in = Pin 11 op de ArduinoLED:GND naar sommige GND (ik gebruikte een van de optische sensoren)+ naar Arduino PIN 13 (Dit werd gedaan omdat deze pin al een ingebouwde weerstand heeft, als je een andere gebruikt, zorg er dan voor dat je een weerstand gebruikt, zodat je de LED niet verbrandt)
Stap 3: De muis voorbereiden
Hier vinden de sensoren hun plaats in de behuizing van de muis. Vind de beste plek om de 3-assige sensor te bevestigen. Zorg ervoor dat het waterpas staat en let op de oriëntatie (je weet wanneer je de sensor in de hand hebt) Je kunt het op elke gewenste manier bevestigen, ik gebruikte 2 korte stukjes van het houten anker, geboord om de 2 kleine schroeven te accepteren, en warm gelijmd op het moederbord van de muis. Vorm voor de optische sensor een rechthoekig gat aan de onderkant van de muis, het idee is dat de sensor de tafel de hele tijd "ziet". Wanneer de muis wordt opgetild en de sensorstatus "open" is (geen tabel te zien) schakelt de muis over naar de 3D-modus (voert de Processing-schets uit) Vorm een ander gat om de extra draden (van de sensoren naar de Arduino) uit de kunststof behuizing. De mijne bevond zich aan de rechterkant van de muis. Bevestig de LED waar deze wordt weergegeven. In dit project is de LED de 3D-modus indicator. Ik plaats de mijne naast het siliconen muiswiel. Wanneer de muis wordt opgetild, had het wiel een mooie blauwe gloed.
Stap 4: De broncode
De code voor de Arduino is geschreven door Shachar Geiger, mijn leraar, en is door mij aangepast voor dit project. De 3D-kubuscode is de basiscode op de Processing-website. Ik heb het een beetje aangepast. In de code converteert dit blok de onbewerkte informatie die van de sensor komt (meestal -180 tot 180 x 10) naar 0-255 getHeading();Serial.write ('x');x = (x +1800) / 14;Serial.write(x);Serial.write('y');y = (y+1800) / 14;Serial.write(y);Serial.write('z');z= (z+1800) / 14;Serial.write(z); De informatie van de sensor en de Arduino gaat naar de Processing-schets voor elke afzonderlijke as, maar met een voorafgaande asletter (voor exp. X12 Y200 Z130), laat de volgende code de letter vallen en laat alleen de waarden achter die naar de COM moeten worden verzonden port while(port.available() == 0){}char reading = 0;while (reading!= 'x') {while(port.available() == 0){}reading = (char)port.read ();}X = port.read();while (lezing != 'y') {while(port.available() == 0){}reading = (char)port.read();}Y = poort.read();while (lezing != 'z') {while(port.available() == 0){}reading = (char)port.read();}Z = port.read(); Dit stuk code laat alle negatieve waarden vallen… if ((X != -1) && (Y != -1) && (Z != -1)){rotateZ(-(float)Y/25.0);rotateX((float)X/25,0);rotateY((float)Z/25,0);pX = X;pY = Y;pZ = Z;} else {rotateZ(-(float)pY/25,0);rotateX((float)pX /25.0);rotateY((float)pZ/25.0);} Het bijgevoegde ZIP-bestand bevat zowel Arduino- als Processing-code
Stap 5: Video
Dat is het … Dit is het voltooide project in een video. Er is een kleine storing (je kunt zien dat de kubus soms "springt" in de video), Dit komt door de Z-as, misschien gebeurt dit jou niet…
Aanbevolen:
Adresseerbare LED's besturen met Fadecandy en verwerking - Ajarnpa
Adresseerbare LED's besturen met Fadecandy en Processing: Wat Dit is een stapsgewijze zelfstudie over het gebruik van Fadecandy en Processing om adresseerbare LED's te bedienen. Fadecandy is een LED-driver die tot 8 strips van elk 64 pixels kan besturen. (Je kunt meerdere Fadecandy's op één computer aansluiten om de
Bluetooth en IMU met het Tactigon-bord - Verwerking: 7 stappen
Bluetooth en IMU met het Tactigon-bord - Verwerking: in deze serie artikelen wordt uitgelegd hoe u de geïntegreerde sensoren en communicatie-interfaces van de Tactigon kunt gebruiken om een eenvoudige gebarencontroller te maken. Broncode beschikbaar hier op GitHubIn dit artikel gaan we leren hoe om simpel te gebruiken
Nodmcu RFID-aanwezigheidsserver met verwerking - Ajarnpa
Nodmcu RFID-aanwezigheidsserver met verwerking: een coole manier om aanwezigheid te markeren
Eenvoudige verwerking Uldar (ultrasone detectie en bereik): 3 stappen
Simple Processing Uldar (Ultrasonic Detection and Ranging): Dit is een eenvoudig project dat Arduino UNO en Processing gebruikt om een eenvoudige lidar te maken. Lidar (ook wel LIDAR, LiDAR en LADAR genoemd) is een meetmethode die de afstand tot een doel meet door te verlichten het doel met gepulseerd laserlicht en meten
Tic Tac Toe met verwerking en toetsenbord - Ajarnpa
Tic Tac Toe met verwerking en toetsenbord: in dit project zullen we een Tic-Tac-Toe-game bouwen met behulp van een Arduino Uno en het toetsenbord. Met de game kun je Tic-Tac-Toe spelen en vervolgens de LED die overeenkomt met de winnaar licht op. Benodigde materialen: 1 - Arduino Uno1 - Keypad13 - Wires2 - 22