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 |