Skip to content

A two-wheeled self-balancing robot based on an Arduino micro controller and 12 V DC motors. A logic is implemented on top of a cascaded PID controller to obtain the best performance in speed and tilt control. For the user interface, a mobile application was developed using Ionic

josealejandro2928/Self-Balancing-Arduino-Robot-Controller

Repository files navigation

This project

A two-wheeled self-balancing robot based on an Arduino micro controller and 12 V DC motors. A logic is implemented on top of a cascaded PID controller to obtain the best performance in speed and tilt control. For the user interface, a mobile application was developed using Ionic

Main Code

The main file of the Arduino program is main.ino which is in:

./main/main.ino

Here we import the libraries used to interact with the MPU6050 inertial unit and import custom libraries for the Bluetooth communication task, control algorithms and measurement filtering.

You can find those packages in the path:

./USED_LIBRARIES

if you don't know how to add libraries to the arduino IDE visit this link: [https://docs.arduino.cc/software/ide-v1/tutorials/installing-libraries]

Block Diagram of Control Algorithms

image

Hardware connection

image

Mobile Application Images

The repo for the mobile application is at:

[https://github.com/josealejandro2928/ionic-react-mobile-app-self-balancing-robot]

Robot results

Watch videos of the robot in this links

main video

main video 2

main video 3

About

A two-wheeled self-balancing robot based on an Arduino micro controller and 12 V DC motors. A logic is implemented on top of a cascaded PID controller to obtain the best performance in speed and tilt control. For the user interface, a mobile application was developed using Ionic

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published