Development and investigation of the usability of a wheelchair as an input device for navigation in virtual space
In this Projekt I want to use the rotation of wheels of a wheelchair to control an emulated XBox-Controller. For my embedded-system I use an ESP32 (Board: DevKit C V4) and the MPU6050 Gyroscope. The components are held together by a 3D-printed box that also contains a power bank for power-supply. On the other end is a .Net 6.0 console application receiving the data and using it to map the gyro-data to different controller-inputs. As long as other software has XBox-Controller support, my Software can be used to control it.
Folder | Description |
---|---|
BachelorArbeitsVault | Obsidian-Vault containing notes, links to websites, images, etc. |
Blender | Blender/STL-Files for printing the Box |
ESP-Hub | Code for ESP receiving Node-Data and sending it to the Console-App |
ESP-Node | Code for ESP measuring the Rotation and sending it to Console-App or ESP-Hub |
Latex | LaTeX Project to write Thesis |
Wheelchair-Hub | Console-App to emulating XBox-Controller with Gyro-Data |
WheelPlotter | App for Plotting RotationData from Wheels with ScottPlot |
- Visual Studio Code
- PlatformIO
- Blender
- Arduino-Framework (C++)
- .Net 6.0 (C#)
- Obsidian
Arduino-Framework/C++
Library | Description |
---|---|
WiFi-Manager | Used to connect ESP with WiFI-Network without hardcoded credentials |
links2004/WebSockets@^2.3.7 | Used to host a WebSocket-Server |
nuGet
Library | Description |
---|---|
websocket-client | Used to subscribe to the WebSocket-Server on the ESP |
ViGEm.NET | Used to emulate and programmatically control a XBox360-Controller |
ScottPlot | Used to render plots of the rotation-data and data rate of the connection |
nunit | Used for Unit-Testing |