Inhoudsopgave:

Ultrasone joystick: 4 stappen
Ultrasone joystick: 4 stappen

Video: Ultrasone joystick: 4 stappen

Video: Ultrasone joystick: 4 stappen
Video: HOW TO DRAW PLAYSTATION CONTROLLER | HOW TO DRAW A PS4 CONTROLLER 2024, November
Anonim
Image
Image
Ultrasone joystick
Ultrasone joystick

Met behulp van een Arduino wilde ik een constructie maken om het spel Snake op een ongebruikelijke manier te besturen, met behulp van ultrasone afstandssensoren. Dit is gemaakt voor een schoolproject genaamd If This Than That aan de Hogeschool voor de Kunsten Utrecht

Na veel experimenteren is dit het eindresultaat.

Er zijn nog wat bugs bij het besturen van Snake. (Nederlandse log is hier te vinden)

Benodigdheden

Vereisten:

- Arduino Uno (elke Arduino zou theoretisch werken)

- 2 ultrasone afstandssensoren (HC-SR04)

- 8 kabels om de afstandssensoren aan te sluiten op de Arduino. Bij voorkeur mannelijke naar vrouwelijke kabels

- Een behuizing van minimaal 300 mm x 300 mm x 40 mm. (breedte en hoogte zijn eenvoudig aan te passen. Diepte is 40mm omdat je ruimte nodig hebt voor de componenten binnenin)

- Eenheid

Om dit permanent te maken, heb je nodig:

- Soldeerbout

- Soldeer

- (heet) lijmpistool (of bevestigingen voor de afstandssensoren)

- Mannelijke naar mannelijke headers om aan te sluiten op de Arduino

- 8 kabels om de ultrasone afstandssensoren aan de mannelijke headers te solderen.

Stap 1: Circuit

Stroomkring
Stroomkring
Stroomkring
Stroomkring

De schakeling is heel eenvoudig.

- Je moet aarde verbinden met de grondpinnen van de ultrasone afstandssensoren.- De 5V (ik gebruik ook Vin, omdat ik USB-stroom gebruik) gaat op de Vcc-pinnen op de Arduino.- De Trig-pinnen gaan naar D8 (Arduino Digital pin 8) voor 1 sensor en D11 voor de andere sensor- De Echo-pinnen gaan naar D9 voor 1 sensor en D12 voor de andere

Voor experimenten is het gemakkelijk om mannelijke naar vrouwelijke draden te gebruiken.

Om een permanente oplossing te maken, is het het beste om draden naar de ultrasone sensoren en mannelijke naar mannelijke headers te solderen. Hierna kun je de male naar male header in de Arduino plaatsen om het te laten werken.

Stap 2: Arduino-code

Arduino-code
Arduino-code

Er zullen 2 delen code zijn voor dit project.

1. De afstand verkrijgen met behulp van de NewPing.h-bibliotheek en deze naar de Serial pushen.

2. Ervoor zorgen dat de serie zo is geformatteerd dat Unity deze goed kan lezen

Je kunt de code hier zien, met het juiste commentaar:https://pastebin.com/rFEyA6pd

Stap 3: Unity-code

Eenheidscode
Eenheidscode

Ik maakte een slang in eenheid. Er zijn enkele Open Source-bronnen die ik heb gebruikt.

Ten eerste: YouTube-tutorials over het maken van Snake in Unity door Code Monkeyhttps://www.youtube.com/playlist?list=PLzDRvYVwl53…

Ten tweede: WRMHL om het lezen van Serial in unity af te handelen.https://github.com/relativty/wrmhl

Ten derde: de hulp van UKL en zijn GitHub-project 'virtual rover'

Met alle vermelde bronnen, kan het Unity-projectbestand hier worden gedownload:https://drive.google.com/file/d/182uIo47AtkWRLGHic…

Ik maak sprites van foto's van de bovenkant van mensen en eten. Dit komt omdat ik de activa van andere mensen niet wilde gebruiken.

Stap 4: De behuizing maken

De behuizing maken
De behuizing maken
De behuizing maken
De behuizing maken
De behuizing maken
De behuizing maken

Deze stap is echt aan jou hoe je het wilt maken. Je kunt de doos heel gemakkelijk lasersnijden als je de middelen hebt. Ik heb net een groot stuk hout gehaald en het in de gewenste maten gezien.

Mijn afmetingen:- Onderkant: 450x450mm

- Upside: 450x450mm, met een kruisuitsparing. Deze is gecentreerd, 60 mm van de zijkanten en heeft een breedte van 20 mm

- Zijkanten: 2x 450x50mm en 2x 420x50mm (Dit komt omdat het hout anders zou overlappen) Het is slim om aan 1 kant een uitsparing te maken waar je de Arduino USB poort/kabel door kunt trekken voor gemakkelijke connectiviteit.

- Stok: 15 mm diameter (zorg ervoor dat deze minder is dan de breedte van de kruisuitsparing)

Ik heb het gewoon in elkaar gezet met spijkers. Het blad is verwijderbaar gemaakt door aan de onderkant 90 graden fittingen te schroeven, zodat je het verticaal omhoog kunt trekken, maar je kunt het niet bewegen tijdens het spelen.

Ik heb de Arduino erin geschroefd zodat hij niet kan bewegen.

De afstandssensoren zijn vastgelijmd met hete lijm. De kabels worden ook beheerd met behulp van hete lijm.

Ik schilderde alle effen zijkanten wit en schilderde 4 pijlen op de bovenkant om het comfortabeler in gebruik te maken.

Aanbevolen: