Skip to content

This is my Bachelor-Thesis. I try to use the rotating wheels of a wheelchair to controll Software with an emulated controller.

Notifications You must be signed in to change notification settings

BenediktBeigang/Bachelor-Thesis

Repository files navigation

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

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

Drivers

  • ViGEmBus
  • Driver needed to connect ESP32 to USB-Port (install driver in devicemanager).

Software/Frameworks

  • Visual Studio Code
  • PlatformIO
  • Blender
  • Arduino-Framework (C++)
  • .Net 6.0 (C#)
  • Obsidian

Used Libraries

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                                                   

Gallery

About

This is my Bachelor-Thesis. I try to use the rotating wheels of a wheelchair to controll Software with an emulated controller.

Topics

Resources

Stars

Watchers

Forks