A simple 9-dof headtracking solution over bluetooth
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
arduino
processing/FreeIMU_cube
python
reference
solidworks
supercollider
.gitignore
README.md

README.md

bluetooth-headtracker

A simple bluetooth, rechargeable, 10DOF head-tracking device.

For use with the Ambisonic ToolKit (ATK) , motion capture, and Pan-Tilt camera systems.

A hardware, software, and 3d printed enclosure solution.

Developed for UW Center for Digital Arts and Experimental Media (DXARTS), July 2016

Robert Twomey - roberttwomey.com

Usage

See the software options below.

Hardware

Built with simple, ready to order parts from common suppliers. Purchase 1 each of the following:

One of the following, needed to program the arduino. (One use only! Borrow from a friend?)

You can also choose to leave the LiPo charger out of the enclosure for small space savings.

Arduino

arduino/FreeIMU_quaternion/FreeIMU_quaternion.ino

We are using the straight FreeIMU_quaternion example from FreeIMU v0.4. This reads the attached sensors, calculates the AHRS quaternion, and transmits via serial print.

I've attached a copy of the FreeIMU_quaternion code here with the baud rate set to 38400, the max rate for the Arduino Pro Mini.

Processing

processing/FreeIMU_cube

This is the demo app in Processing included with FreeIMU v0.4.

  1. With the headtraker powered on, pair your computer with the bluefruit device.
  2. Change the serial port screen to match your bluefruit device, for example ''/dev/tty.AdafruitEZ-Link3e2f-SPP'' on my system.
  3. Run the example. Press 'h' to store the home position.

Python

python/head_through.py

Simple python program to read from the IMU headtracker and record to file. Additionally opens second serial device and feeds values to pan-tilt camera in matching orientation.

Supercollider

supercollider/ArduinoQuaternion/ArduinoQuaternion.sc

A class based on the Arduino quark that connects to the paired bluetooth device as a serial port, and parses the binary data.

supercollider/bt_headtrack_test.scd

A sandbox program to try out the headtrack class.

Solidworks

solidworks/realv4/

Solid model of enclosures and circuitry.