GithubHelp home page GithubHelp logo

ceranco / glovehero Goto Github PK

View Code? Open in Web Editor NEW

This project forked from giladeldor/glovehero

0.0 0.0 0.0 109.17 MB

Shell 0.02% C++ 32.04% Python 0.65% C 1.45% Objective-C 0.04% Kotlin 0.13% Dart 54.26% Swift 0.80% HTML 0.95% CMake 9.66%

glovehero's Introduction

Glove Hero

🎸 Glove Up, Rock On! 🚀

Glove Hero is a project that helps patients rehabilitate their hands with basic motions.
The project acts as a gamification of rehabilitation tasks, as the motions are integrated into the game seamlessly.

The project was made from two integrated components:

  1. The glove - a custom built glove that acts as the physical medium with which the player (patient) interacts.
  2. The app - a Flutter app which allows the player to play a "Guitar Hero"-like game and keep track of scores and statistics regarding their rehabilitaion.

An in-depth explanation of the project can be found in the project wiki.

Team Members

eran-icon   nadav-icon   gilad-icon

Poster

image

Libraries

Esp32:

  • Adafruit NeoPixel - 1.11.0
    Used for interfacing with the RGB leds on the glove.
  • EspSoftwareSerial - 8.0.1
    Used for communicating with the RedMP3 player (not used in the final product).

Flutter:

Files and folders

  • README.md - this file.

  • clang-format - enforces a common coding style for C/C++ files.

  • glove_hero_app/ - contains the source code and assets of the flutter application.

    • assets/ - contains all the assets for the app.
      • audio/ - contains all of the audio files (songs) used in the game.
      • backgrounds/ - contains the background images we use in the various screens of the app.
      • default-touches/ - contains default recordings for some of the songs in the app.
      • song-art/ - contains the images displayed for each song.
    • fonts/ - contains the fonts used in the app.
    • lib/ - contains the source code of the app.
      • models/ - contains the logic model of the app.
      • utils/ - contains various utilities used throughout the app.
        • constants.dart - contains all the constants used in the app.
      • widgets/ - contains the custom widgets we use in the app.
      • pages/ - contains the pages that comprise the app.
  • glove_hero_glove/ - contains the assets and firmware for the glove.

    • assets/GloveHero.fzz - the fritzing circuit of the glove.
    • lib/ - the various support libraries and classes used in the firmware.
      • Parameters/Parameters.h - all the constants used in the firmware.
      • Ble/ - abstraction for the BLE communication.
      • Color/ - color POD.
      • Input/ - abstraction for handling input (both from the glove and from the keyboard for testing).
      • LedManager/ - abstraction for interacting with the leds.
      • PracticeMode/ - implemented the offline practice mode.
      • RedMP3/ - implements the protocol for communicating with the MP3 player (not used in final project).
      • Scheduler/ - a very basic task scheduler.
    • src/main.cpp - the firmware loop.
    • test/ - the various tests we used.
      • ble_test.cpp - a basic BLE example.
      • glove_test.cpp - tests that the glove recognizes touches correctly.
      • keyboard_test.cpp - tests that the keyboard input mock works, should be used with the keyboard_input.py script.
      • led_test.cpp - checks that all of the leds on the glove work correctly.
      • mp3_test.cpp - checks that the mp3 works (not used).
      • ble_app_test/ - a POC test app that comminucates with the ESP32 using BLE.
    • tools/ - tools we built to help development.
      • keyboard_input.py - used to mock the actual touch-pins as input to the ESP32.
      • upload.sh - uploads the firmware to the ESP32.
      • requirements.txt - the python requirements for the keyboard_input.py script, install using pip.

glovehero's People

Contributors

ceranco avatar nadavh22 avatar giladeldor avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.