All Projects → TKJElectronics → Balanduino

TKJElectronics / Balanduino

Git repository for the Balanduino balancing robot

Projects that are alternatives of or similar to Balanduino

EvoArm
An open-source 3D-printable robotic arm
Stars: ✭ 114 (-3.39%)
Mutual labels:  robot, hardware
Node Serialport
Access serial ports with JavaScript. Linux, OSX and Windows. Welcome your robotic JavaScript overlords. Better yet, program them!
Stars: ✭ 5,015 (+4150%)
Mutual labels:  robot, hardware
gobot
Golang framework for robotics, drones, and the Internet of Things (IoT)
Stars: ✭ 7,869 (+6568.64%)
Mutual labels:  robot, hardware
Upboard ros
ROS nodes for upboard usage
Stars: ✭ 22 (-81.36%)
Mutual labels:  robot, hardware
Ottodiyesp
build you own internet of robots!
Stars: ✭ 273 (+131.36%)
Mutual labels:  robot, hardware
Plus
Otto DIY+ ("Otto DIY with steroids" + Bluetooth + APP + switch + sensors + strength +...
Stars: ✭ 100 (-15.25%)
Mutual labels:  robot, hardware
Button2
Arduino Library to simplify working with buttons. It allows you to use callback functions to track single, double, triple and long clicks. It also takes care of debouncing.
Stars: ✭ 109 (-7.63%)
Mutual labels:  hardware
Robot blockly
A simple way to program ROS robots using blockly.
Stars: ✭ 115 (-2.54%)
Mutual labels:  robot
Wechat
java微信客户端
Stars: ✭ 109 (-7.63%)
Mutual labels:  robot
Embedos
EmbedOS - Embedded security testing virtual machine
Stars: ✭ 108 (-8.47%)
Mutual labels:  hardware
Podbot
🤖 um podcast feito por robôs
Stars: ✭ 118 (+0%)
Mutual labels:  robot
Swifitch
Swifitch is ESP8266 based relay board that could be used to turn any light or any wall socket into smart one!
Stars: ✭ 117 (-0.85%)
Mutual labels:  hardware
Walter
6DOF Industrial Robot, vintage style
Stars: ✭ 113 (-4.24%)
Mutual labels:  robot
Robotics setup
Setup Ubuntu 18.04, 16.04 and 14.04 with machine learning and robotics software plus user configuration. Includes ceres tensorflow ros caffe vrep eigen cudnn and cuda plus many more.
Stars: ✭ 110 (-6.78%)
Mutual labels:  robot
Makelangelo Firmware
CNC firmware for many different control boards and kinematic systems. Originally the brain of the Makelangelo art robot.
Stars: ✭ 116 (-1.69%)
Mutual labels:  robot
Alarmrobot
微信机器人 提醒机器人 python机器人 微信pc机器人
Stars: ✭ 110 (-6.78%)
Mutual labels:  robot
Swarmui
Necessary material to build and use Zooids to create Swarm User Interfaces
Stars: ✭ 1,504 (+1174.58%)
Mutual labels:  robot
Ubertooth
Software, firmware and hardware designs for Ubertooth
Stars: ✭ 1,551 (+1214.41%)
Mutual labels:  hardware
Awesome Robotic Tooling
Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace.
Stars: ✭ 1,876 (+1489.83%)
Mutual labels:  robot
Naturalmousemotion
This library provides a way to move cursor to specified coordinates on screen reliably, while being randomly arced to look like real hand moved it there by using a mouse. The default settings should look good enough for most cases, but if user wishes, they can heavily customize the settings and implementations responsible for the trajectory of the cursor for specific use cases.
Stars: ✭ 117 (-0.85%)
Mutual labels:  robot

Balanduino

Developed by TKJ Electronics 2013-2020

The code is released under the GNU General Public License.


Build Status

This is the code for the Balanduino, the Open Source Balancing robot.

Arduino compatible

To use the Balanduino as a normal Arduino board you need to add the hardware add-on to the Arduino IDE.

See the Getting Started page for more information.

Hardware

The Balanduino hardware consist of an ATmega1284P running at 10MHz.

A MPU-6050 3-axis accelerometer and gyroscope. The accelerometer and gyroscope readings are combined using a Kalman filter library. See my blog post: http://blog.tkjelectronics.dk/2012/09/a-practical-approach-to-kalman-filter-and-how-to-implement-it/ and source https://github.com/TKJElectronics/KalmanFilter for more information.

USB Host support is implemented using the MAX3421E and the USB Host library: https://github.com/felis/USB_Host_Shield_2.0.

Two VNH5180 motor controller ICs is used to drive the two motors.

More information can be found at the Wiki article: http://balanduino.tkjelectronics.dk/wiki/Overview.

Remote control

Game controllers

To control the robot you can use the following game controllers:

  • Normal PS3 Dualshock controller
  • PS3 Navigation controller
  • PS3 Move controller
  • PS4 controller
  • Xbox 360 wireless controller
  • Wiimote including support for the Motion Plus and Nunchuck extension
  • Wii U Pro controller

Paring

To pair with any of the PS3 controller please see the following section of the USB Host library readme: https://github.com/felis/USB_Host_Shield_2.0#ps3-library.

To pair with the PS4 controller send: CPP; via the serial monitor. Then hold down the Share button and then hold down the PS button without releasing the Share button. The PS4 controller will then start to blink rapidly indicating that it is in paring mode.

To use a Xbox 360 wireless controller you need a special receiver. More information can be seen at the following link: https://github.com/felis/USB_Host_Shield_2.0#xbox-360-library.

To pair with the Wiimote send: CPW; via the serial monitor and then press 1 and 2 at the same time on the Wiimote. On the Wii U Pro controller you should press on the sync button instead.

Android App

It it also possible to control the robot and adjust the PID values and others variables using the following Android application:

Google Play

Source: https://github.com/TKJElectronics/BalanduinoAndroidApp

Computer applications

You can also use your Windows, Mac or Linux based computer by using the following Processing application: https://github.com/TKJElectronics/BalanduinoProcessingApp.

A dedicated Windows application is also available: https://github.com/TKJElectronics/BalanduinoWindowsApp.

RC Transmitter

You can also use a RC transmitter. For now only Spektrum satellite receivers are supported.

You will need the following receiver and cable:

After that simply connect the red wire to 5V, black to GND and the yellow one to RX0.

To bind with the satellite receiver send BS; via the serial monitor and then follow the instructions.

Note that you might need to disconnect the satellite receiver from RX0 if it is already sending data, as it will corrupt your command.

The video below shows a video demonstration of it being used together with some FPV equipment:

Balanduino FPV demonstration

Video presentation

A video for the Kickstarter presentation can be seen below:

Kickstarter video presentation

A video filmed with a GoPro mounted on the robot can be seen below:

GoPro demonstration

Calibration of the accelerometer

If the robot tilts to one of the sides when you receive the kit, you might need to calibrate the accelerometer.

This is done by simply sending AC; via the serial monitor. After that simply just follow the instructions.

Download

To download the entire repository including all submodules run the following command in a terminal:

curl https://raw.githubusercontent.com/TKJElectronics/Balanduino/master/download.sh | sh

Or simply download the daily updated ZIP-repository from our website: http://downloads.balanduino.net/github/Balanduino_latest.zip.

If you want to clone the project then use the recursive command to clone all the submodules as well:

git clone --recursive https://github.com/TKJElectronics/Balanduino.git

For more information visit the official website: [email protected].

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].