Difference between revisions of "Bluetooth Headtracker"
From Robert-Depot
Line 1: | Line 1: | ||
− | https://farm9.staticflickr.com/8567/ | + | https://farm9.staticflickr.com/8567/16281491925_66cc3868bf.jpg |
=Hardware= | =Hardware= |
Revision as of 13:53, 14 January 2015
Contents
Hardware
Built with simple, ready to order parts from common suppliers. Purchase 1 each of the following:
- Bluefruit EZ-Link - bluetooth modem w/ baud rate detection - http://www.adafruit.com/product/1588
- Arduino Pro Mini 3.3V - https://www.sparkfun.com/products/11114
- Power switch - https://www.sparkfun.com/products/102
- GY-86 - 10 DOF flight control module with MPU6050 + HMC5883L + MS5611 - http://www.amazon.com/Arrela-Control-Ms5611-Hmc5883l-Mpu6050/dp/B00KKJYMO6/
- LiPo Battery - https://www.sparkfun.com/products/731
- LiPo Charger - https://www.sparkfun.com/products/10217 (note you need to cut off the JST connector to fit it in the enclosure)
- Small quantity of stranded ribbon cable.
One of the following, needed to program the arduino. (One use only! Borrow from a friend?)
- FTDI Basic 3.3V - https://www.sparkfun.com/products/9873
- FTDI Cable 3.3V - http://www.adafruit.com/product/70
Software
This project uses the FreeIMU library to read the motion sensors and calculate sensor-fused orientation. I've attached a copy of the FreeIMU_quaternion code here.
Be sure to set the baud rate in the program to the max baud for the Arduino Pro Mini, 38400 bps. You should only need to upload this once.
Applications
Processing
Python
Supercollider
Reference
other intertial Measmurement Units
Head-tracking with the MPU6050
- using Wire interface - http://www.varesano.net/blog/fabio/initial-tests-freeimu-v04-and-mpu6050
- using i2cdevlib - https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050/Examples/MPU6050_DMP6
- http://www.geeetech.com/wiki/index.php/MPU-6050_Triple_Axis_Accelerometer_%26_Gyro_Breakout
- IMU - https://dev.qu.tu-berlin.de/projects/sf-razor-9dof-ahrs/wiki/Tutorial
- https://www.sparkfun.com/products/11028 or even cheaper from Amazon
Example with Arduino Nano
GY-80=
GY-86