INHOUDSOPGAWE:
- Stap 1: Materiaal en gereedskap
- Stap 2: Bou motor
- Stap 3: Soldeerkringe
- Stap 4: Installeer afhanklikhede op die ingebedde stelsel
- Stap 5: Stel 'n statiese IP -adres op
- Stap 6: Laai kode op na Arduino
- Stap 7: Koppel stroombane en rekenaar aan die motor
- Stap 8: Stel VR -omgewing op
- Stap 9: Begin alles saam
Video: RC -motor met virtuele realiteit: 9 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Wou u al ooit gekrimp word en 'n vaartuig soos Innerspace of Fantastic Voyage bestuur? Wel, ek dink dit is so naby as wat u op kort kennisgewing gaan kry!
Hier is die toonhoogte:
'N Real-Life-afstandsbedieningsmotor wat van 'n Virtual Reality-opdragkonsole geloods is. Dit beteken dat u 'n VR -headset vasmaak, 'n skakelaar op 'n RC -motor draai, en dan vanaf VR met lewendige videostroom direk na u gesig kan stuur.
Daar is dinge wat ek geïmplementeer het wat u op die VR -motor kan beheer.
- Wiele
- Horn
- Ligte
Al hierdie dinge het 'n knoppie of hefboom in VR wat u kan omdraai of omskakel om die motor te bestuur.
Besoek my Github en my webwerf vir die volledige repo en meer inligting!
Stap 1: Materiaal en gereedskap
Meganiese:
Onderstelstel met vierwielaandrywing
Elektries:
- Wielkodeerder
- 3S 1300mAh battery
- Arduino Uno
- Arduino motorskerm
- Piezo elektriese gonser
- Klein LED
- XT60 -verbindings
- Boost / Buck -omskakelaar
Rekenaar:
- Enige ingeboude rekenaarstelsel: Framboos Pi, Jetson Nano, ens.
- USB -kamera (verkieslik - 180 grade kamera)
Gereedskap / Ekstra:
- Soldeerbout
- Sommige VR -instellings - ek het die Oculus Rift
- Multimeter
Stap 2: Bou motor
Die onderstel vir die motor is baie maklik om te bou. U hoef net die motors aan die hoofbord te koppel via die oortjies wat hulle u gee. Nadat u die wiele en motors aangebring het, benodig u ook iets om die kamera aan die voorkant van die motor vas te maak.
Ek het die kartondoos waarmee die kamera gekom het, gebruik om dit te monteer. Ek sny 'n groot L -vorm uit en sny 'n gat vir die kamera om deeglik te steek. Daarna kan u die kamera net deursteek en 'n band agterin sit om dit op sy plek te hou. As u wil, kan u ook nou gate vir u kopligte insit, of dit later doen as u die lengte van die draad meet.
U moet ook die wielkodeerder aan een van die wiele koppel. Dit maak nie saak watter een nie, ek plaas dit op die linkerwiel agter. U moet die magnetiese skyf op die werklike as van die wiel sit, en die enkodeerder moet aan die motor langsaan vasgemaak word. Dit is redelik ontvanklik, so dit hoef nie reg te wees nie, maar so na as moontlik. Ek het my encoder vasgemaak met band en 'n rits. Die encoder is wat ons sal gebruik om die snelheid van ons motor te meet.
Stap 3: Soldeerkringe
Hierdie deel is nogal vervelig, maar nie ingewikkeld nie. As u die prentjie volg en alles meet voordat u u draad sny, is dit nie so erg nie.
Terwyl u dit doen, moet u u omskakelaar ook kalibreer om die korrekte spanning uit te voer. Die Raspberry Pi en Jetson Nano neem albei 5v in, maar ons battery is op 11.1v. Ons moet dus sorg dat ons nie ons elektronika braai nie. Om dit te doen, steek u battery in die ingangskant van die boksomskakelaar. Terwyl die battery ingeprop is, gebruik u multimeter om die uitsetkant van die boksomskakelaar te meet. Gebruik 'n klein platkopskroewedraaier om die potensiometer op die omskakelaar te draai totdat die uitsetspanning 5v is. As die uitset korrek is, hoef u nie meer die potensiometer te draai nie.
Stap 4: Installeer afhanklikhede op die ingebedde stelsel
Nie te veel om hier te doen nie, maar tog ongelooflik belangrik.
Maak eers seker dat u verbinding maak met die router wat u gaan gebruik, sodat hy voortaan outomaties kan koppel.
Maak dan 'n terminale oop en tik die volgende in:
sudo apt -opdatering
sudo apt installeer openssh-bediener
sudo apt installeer python-pip pip installeer numpy pip installeer opencv-python pip installeer pyzmq
Sodra hierdie dinge geïnstalleer is, moet ons seker maak dat dit altyd herken word, ongeag die poort waarop die arduino gekoppel is. Ons skryf dus wat UDEV -reëls genoem word. Dit is reëls vir u bedryfstelsel wat bepaal wat gebeur wanneer u dinge inprop. Ons wil die arduino identifiseer wanneer dit ingeprop is, en dit 'n naam gee om toegang daartoe te verkry. Die naam sal 'arduino_0' wees. Om dit te doen, gebruik ons die interne reeksnommer van die arduino om dit te identifiseer.
udevadm info -a -n /dev /ttyUSB1 | grep '{serial}' | kop -n1
Dit spoeg 'n waarde vir die reeksnommer uit, en kopieer die waarde.
Ons moet dan 'n lêer met die naam "99-usb-serial.rules" wysig (of skep as dit nie bestaan nie). Hierdie lêer leef in die volgende lêerpad "/etc/udev/rules.d/99-usb-serial.rules". Soos ek genoem het, as die lêer nie bestaan nie, skep dit dan en plak dit in die volgende reël met VALUE_FROM_ABOVE vervang met u waarde van tevore.
SUBSYSTEM == "tty", ATTRS {serial} == "VALUE_FROM_ABOVE", SYMLINK+= "arduino_0"
Dit vertel die bedryfstelsel dat wanneer dit hierdie spesifieke reeksnommer sien, dit arduino_0 noem.
Die laaste ding wat u hier moet doen, is om die pushArucoVideoPullCommands.py af te laai en op 'n maklike plek te plaas. Ek sou die tuisgids vir u gebruiker aanbeveel, want dit is waar ons sal eindig wanneer ons later in die ingebedde stelsel inskakel.
Stap 5: Stel 'n statiese IP -adres op
Dit is nou die deel waarvan almal hou, IP -adres. Vir hierdie projek om te werk, moet die kode weet waarheen hulle beelde en bedieningsopdragte moet stuur, en dit beteken dat ons toestelle 'n statiese IP benodig.
Daar is baie maniere om u toestel 'n statiese IP toe te ken, maar omdat ons 'n router het wat ons grondstasie en ons ingeboude stelsel verbind, kan ons dit baie maklik aan ons spesifieke IP -adresse gee.
Navigeer na die admin -afdeling van u router, gewoonlik (vir die meeste routers) word dit gedoen deur 'n webblaaier oop te maak en na "192.168.1.1" te gaan. Dit sal u vra om aan te meld, en die tipiese standaard gebruikersnaam en wagwoord vir die meeste routers is "admin".
As u daar is, navigeer na iets wat 'DHCP -bediener' noem. Dit is 'n proses wat op u router werk en byhou watter toestelle daaraan gekoppel is deur hul MAC -adres, wat altyd konstant is. Ons wil die toestelle kies wat ons omgee oor, die grondstasie -rekenaar en ingebedde stelsel, en voeg dit by die gereserveerde kliëntgedeelte. Dit gee hulle 'n statiese IP wanneer hulle aan hierdie router gekoppel is.
Maak seker dat u die IP van die ingebedde stelsel op 192.168.1.122 stel. Die grondstasie se IP kan op enigiets gestel word.
Stap 6: Laai kode op na Arduino
Om die arduino -kode op te laai, moet ons eers 'n biblioteek installeer om met die motorskerm te werk.
Gaan op u Arduino IDE na Sketch-> Include Library-> Manage Libraries … Soek dan na Adafruit Motor Shield Library. Installeer hierdie biblioteek en laai die kode op na u arduino; niks anders hoef nodig te wees nie.
Stap 7: Koppel stroombane en rekenaar aan die motor
Noudat die kring gebou is, is dit tyd om alles op die motor te plaas. Ek gaan nie lieg nie, baie dinge word net met band vasgehou, want dit was die maklikste manier om vinnig saam te klap. Dit gesê, daar is montagegate aangebring soos in die prent hierbo gesien.
Die meeste dinge is redelik maklik om net iewers bo -op die motor te laat sit, dus moenie bekommerd wees as daar nie baie ruimte is nie.
Stap 8: Stel VR -omgewing op
Hierdie afdeling gaan 'n bietjie anders lyk, afhangende van die soort VR -opstelling wat u aan die gang het. Hoe dit ook al sy, ek het SteamVR gebruik om hierdie sagteware te ontwikkel, sodat u dit moontlik moet installeer.
Solank u SteamVR gebruik, moet die kontroles by verskillende beheerders aanpas. Ek het die kontroles gekies na "Aksies", nie noodwendig knoppies nie, so in teorie sal dit vir almal pas.
U hoef net die lêer met die build Unity -wêreld af te laai en uit te pak en gereed te wees om die VR_Bot.exe uit te voer.
Stap 9: Begin alles saam
Dus, noudat ons die motor opgestel het en die grondstasie gereed is om te begin, hoe bestuur ons hierdie slegte seun nou eintlik? Vanuit die oogpunt van die grondstasie, al wat u hoef te doen is om die VR_Bot.exe -lêer te gebruik wat ons vroeër gesien het.
Terselfdertyd moet u die battery by die ingebedde stelsel aansluit en dit outomaties oplaai en aan u router koppel. Sodra dit opgestart is, SSH daarin. Om toegang te verkry, benodig u 'n soort terminale op die grondstasie, ek beveel GitBash aan.
SSH staan vir Secure Shell en dit is 'n protokol om veilig toegang tot afgeleë stelsels te verkry. In ons geval gee dit ons toegang tot die ingebedde stelsel vanaf die grondstasie. Klik hier om meer te wete te kom.
U moet die gebruikersnaam ken waarmee u u ingebedde stelsel opgestel het. Vir framboos pi's is die standaard gebruikersnaam 'pi' en wagwoord 'framboos'.
Sodra dit geïnstalleer is, maak u 'n terminale oop en tik die volgende in:
ssh {Ingebedde stelsel se gebruikersnaam}@192.168.1.122
Dit sal 'n terminaal in die ingebedde stelsel oopmaak.
As u daar is, hoef u net die python -script wat ons vroeër gekopieer het, uit te voer.
python /path/to/pushArucoVideoPullCommands.py
Nadat u dit gedoen het, begin die ingebedde stelsel beelde uitpomp en opdragte na en van die grondstasie ontvang.
Dan is u goed om te begin ry en pret te hê!
Aanbeveel:
Virtuele realiteit op Raspberry Pi met BeYourHero !: 19 stappe (met foto's)
Virtuele realiteit op Raspberry Pi met BeYourHero!: Welkom by " Wees jou held " projek! Ek hoop dat u gereed is om die volgende generasie onderdompeling in Virtual Reality aan te gaan! Hierdie projek gee u volledige gebaarbeheer oor enige virtuele held wat u wil, met 'n eenvoudige stel goedkoop toestelle met behulp van
Skep geboë gebruikersinterface in eenheid vir virtuele realiteit: 4 stappe
Die skep van geboë gebruikersinterface in eenheid vir virtuele realiteit: as u op soek is na 'n gratis en maklike oplossing om 'n geboë gebruikerskoppelvlak vir u Virtual Reality -toepassing of VR -speletjie te skep, is u op die regte plek. In hierdie blog leer u hoe u 'n geboë ui -element in eenheid kan skep met behulp van die Unity UI -uitbreidings
Headset vir virtuele realiteit-Google-karton: 4 stappe
Virtual Reality Headset-Google Cardboard: Hi ouens, hier is 'n eenvoudige handleiding vir die maak van Google Cardboard, 'n tuisgemaakte Virtual Reality Headset. Dit sal pynlik gemaklik wees om na 'n gruwelfilm in hierdie headset te kyk. Ook 'n achtbaan -ritvideo sal 'n onvergeetlike ervaring wees. Waarskuwing
Pak vir virtuele realiteit met behulp van Arduino: 7 stappe (met foto's)
Pak vir virtuele werklikheid met behulp van Arduino: ek het hierdie projek geskep om normale rekenaarspeletjies in volle VR te speel. Hierdie projek navolg jou bewegings om die sleutels van jou sleutelbord in te hou of te hou. Ek het emu
Mobiele virtuele realiteit met behulp van verwerking vir Android (TfCD): 7 stappe (met foto's)
Mobiele virtuele realiteit met behulp van verwerking vir Android (TfCD): Virtual Reality (VR) is een van die nuwe tegnologieë wat interessant kan wees, is toekomstige produkte. Dit bied baie geleenthede en u het nie eens 'n duur VR -bril nodig nie (Oculus Rift). Dit lyk miskien baie moeilik om self te doen, maar die basiese beginsels is