I made an Arduino game around the MPU-6050 sensor (6DOF = gyro+accelerometer) and an OLED display:

  • tilt the sensor to move the ball around
  • do not touch the borders
  • try to catch as many squares as possible within 1 minute

img_20161111_114130527

I’m using the GY-521 module with the MPU-6050 sensor, that talks I2C. Getting useful data out of this sensor is not straightforward, but i found a library that makes this very simple; actually it’s not implemented as a library but rather an example sketch that works without any setup. As far as i understand, the challenge is to keep track of pitch and roll based on the gyro, which only outputs relative changes, and needs to be corrected by the acceleromter that has gravity as reference.

My sketch below includes 2 functions: the game, if D7 is connected to GND; and a basic gyro test program that shows the pitch and roll values, shows them in an XY grid, and changes the buzzer pitch according to distance from origin.

img_20161111_132012035_hdr

For the OLED i use the excellent U8G library which allows many fonts and fast graphics.

I include a basic wiring diagram here.

img_20161111_114043044

And here is my sketch, you will need to include 2 files in your sketch folder I2C and Kalman.h, they come with the MPU-6050 example mentioned above:
Somehow WordPress goes ‘oops page not found’ when i try to save this post with my sketch, so i have put it on pastebin.

One thought on “Arduino gyro game (with MPU6050)

Leave a Reply

Your email address will not be published. Required fields are marked *