This project was conducted for the bachelor's degree by Ali Mahdiliunder the supervision of Dr.Mehdi Baradarannia at the University of Tabriz.
This project has been carried out in several stages, which are described below:
- Setting up and receiving correct data from the sensor - April 2023
- Controlling the robot in three states (stop-forward-backward) by connecting with a wire - June 2023
- Controlling the robot in three states (stop-forward-backward) by wireless connection - July 2023
This project allows you to control a robot using EMG Electromyography sensors and Arduino. It also includes a remote control functionality using NRF24L01 modules. The system interprets muscle signals captured by the EMG sensors and translates them into commands for the robot, enabling intuitive control based on muscle movements.
- Control the robot using EMG signals
- Remote control functionality via Bluetooth modules
- Real-time interpretation of muscle signals for responsive control
- Adjustable sensitivity and calibration options for personalized control
- Support for multiple robotic platforms
- Arduino board (*2)
- EMG sensors
- NRF24L01 modules (*2)
- Robot platform
- Motor driver (L298N)
- Power supply
- Connecting wires
- Arduino IDE
- Arduino libraries for modules
- Clone or download the repository to your local machine.
- Connect the Arduino board to your computer.
- Open the Arduino IDE and load the Arduino sketch provided in the repository.
- Install the required libraries through the Arduino Library Manager.
- Connect the EMG sensors to the Arduino board as per the provided documentation.
- Connect the modules and set up the communication between the master and slive boards.
- Compile and upload the sketch to the Arduino board.
- Power up the robot and ensure all connections are secure.
- Turn on the EMG sensors and ensure they are properly positioned on the user's muscles.
- Establish a Bluetooth connection between the remote control device and the Arduino board.
- Calibrate the system, adjusting the sensitivity and thresholds as needed.
- The EMG signals will be continuously monitored and translated into control commands for the robot.
- Use the remote control device to send commands via Bluetooth, allowing manual control of the robot.
- Explore the possibilities of controlling the robot through muscle movements and the remote control interface.
Sensor start-ups can generally be divided into 3 steps:
- In this step, only the data is displayed
- by pressing the key once, the system starts to take the minimum and maximum and divides this period into 3 parts. At this stage, the system is not yet active.
- In the last step by pressing the key for the second time, the system starts working according to the data of the previous step, so that the middle third is used for stop mode and the first and last third are used for forward and backward.
nRF24L01 is a single-chip radio transceiver for the worldwide 2.4 - 2.5 GHz ISM band. The transceiver consists of a fully integrated frequency synthesizer, a power amplifier, a crystal oscillator, a demodulator, a modulator, and Enhanced ShockBurst™ protocol engine. Output power, frequency channels, and protocol setup are easily programmable through an SPI interface. Current consumption is very low, only 9.0mA at an output power of -6dBm and 12.3mA in RX mode. Built-in Power Down and Standby modes make power saving easily realizable.
We welcome contributions from the community to improve this project. If you would like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and ensure they are adequately tested.
- Submit a pull request, describing the changes you have made.
This project is licensed under the MIT License.
If you have any questions, suggestions, or feedback, please get in touch with us at ali.mahdili1370@mail.com