This project enables real-time reading, transmission, and visualization of IMU sensor data (accelerometer and gyroscope) from an Arduino, with graphical visualization in Python.
- Reads accelerometer and gyroscope data via Arduino (C++ code).
- Transmits data over serial port at high speed (1 Mbps).
- Decodes, filters (Kalman), and visualizes angles (pitch and roll) in Python.
- 3D visualization of Arduino orientation and real-time angle plots.
banco_angulo.ino
: Arduino code for IMU data acquisition and transmission.banco_angulo.py
: Python script for reading, filtering, and visualizing the data.requirements.txt
: Required Python dependencies.setup.sh
: Script to create a virtual environment and install dependencies.LICENSE
: MIT License.
- Upload the
banco_angulo.ino
file to an Arduino Nano 33 BLE Sense (or another compatible IMU board). - Make sure to install the
Arduino_LSM6DSOX
library in the Arduino IDE.
On Linux:
cd /path/to/voice-assistant-arduino
bash setup.sh
source .venv/bin/activate
- Connect the Arduino via USB.
- Identify the serial port (e.g.,
/dev/ttyACM0
). - Change the
PORT
variable at the beginning ofbanco_angulo.py
to match your system's port.
Run the Python script:
python banco_angulo.py
Follow the terminal instructions for debug or visualization mode.
- pyserial
- numpy
- matplotlib
Automatically installed by setup.sh
.
MIT License. See the LICENSE file for details.
Developed for movement monitoring and visualization with Arduino and Python.