The goal of this project is creating a fitness tracker using accelerations to recognize a walk from a run.
and deploy it on Arduino.
Steps of this project :
- Create an acceleration recording system with an arduino.
- Create a TensorFlow Lite classifier.
- Deploy on Arduino nano 33.
- test on real life.
Two differents recording systems have been prototyped:
- Using Arduino Uno with a SD card reader and a MPU6050 accelerometer
- Using Arduino Nano 33 BLE Sense and an Android mobile phone with LightBlue app
This project have been done with an Arduino Nano 33 BLE Sense sending the acceleration through bluetooth.
value | label |
---|---|
0 | walk |
1 | run |
2 | nothing |
This folder is a python package containing tools for preprocess the data. It first transform the log made by the sniffer into a Dataframe.
It also include tools for create a data generator that do data augmentation during the training of the model.
This folder contains differents jupyter notebook, with the differents analysis made with the data collected:
- exploration.iypnb Where I check some basic statistics of my sample of data.
- freq_analysis.iypnb Where I compare the frequencies that compose each signal.
- global_acc_cnn.ipynb Where I train a model using the norm of the acceleration, and convert it to a TensorFlow lite model.
- analysis/3d_acc_cnn.ipynb Where I train a model using 3d accelerations and convert it to a TensorFlow lite model.
- detect_motion.iypnb Where I find the value when I consider that the arduino is moving.
Deploy the model on Arduino Nano BLE Sense board.
Switch the red LED on when detecting a run, and the blue when detected a walk.