|
|
(One intermediate revision by the same user not shown) |
Line 1: |
Line 1: |
| <big><big><big>'''HATIRE HEADTRACK (a little guide)'''</big></big></big>
| | [[User:Massima/Howto:Hatire_head_tracker]] |
| | |
| I write this guide to help anyone to use hathire in any sim/game. Let’s start with hw and sw requirements.
| |
| | |
| <big>'''HARDWARE:'''</big>
| |
| | |
| 1. a MPU9250 device preferring a 5V tolerant device, i did not test a 9255;
| |
| [[File:Mpu9250.png|thumb|Mpu9250]]
| |
| 2. an arduino board, you can choose any kind but if your MPU works at 3.3V, you need a board with a 3.3V pin. I use this pro micro board 3.3V and 5V (it runs at 4.68V);
| |
| [[File:Pro-micro.png|thumb|Pro-micro]]
| |
| 3. a push button;
| |
| | |
| 4. i used classic Dupont wires and some Dupont core plus and DuPont plastic shell plug chief.
| |
| | |
| Obviously this is not the only way to connect it, see http://edtracker.org.uk/ you could use a breadboard or a PCB. I use wires because i can disassemble it if needed.
| |
| | |
| | |
| <big>'''SOFTWARE'''</big>
| |
| | |
| <big>'''''WINDOWS:'''''</big>
| |
| | |
| 1. install arduino IDE and drivers for your board;
| |
| | |
| 2. connect your board and open device manager as amministrator→ ports (right click) → properties → port setting:
| |
| [[File:Win setup.png|thumb|Win setup1]][[File:Win setup2.png|thumb|Win setup2]]
| |
| | |
| | |
| <big>'''''LINUX:'''''</big>
| |
| | |
| 1. download the arduino IDE, unpack somewhere;
| |
| | |
| 2. connect your arduino, open a terminal and type: “lsusb”. You get something like this:
| |
| ''“Bus 003 Device 008: ID 2341:8037 Arduino SA Arduino Micro”. Yours will be different;''
| |
| | |
| 3. as root create a file in “/etc/udev/rules.d”. Call it “52-arduino.rules”, inside put:
| |
| | |
| ''SUBSYSTEM=="usb", ATTR{idVendor}=="2341", ATTR{idProduct}=="8037", MODE="0666", GROUP="plugdev", SYMLINK+="arduino arduino_micro"''
| |
| | |
| 4. IdVendor and idProduct could be different for your board.
| |
| | |
| 5. Restart udev as root with ''“service udev restart”'';
| |
| | |
| | |
| <big>'''TRICKS:'''</big>you could have problem flashing the code on board try, while you press load, to reset the board connecting for a while RST with GND (windows and linux), remove modemmanager (linux). Perhaps if arduino IDE doesn’t start you need to make the main binary executable with ''“chmod +x /path/filename”''(linux).
| |
| | |
| | |
| <big>'''CONNECTIONS'''</big>
| |
| | |
| A visual scheme is available on the edtracker site, anyway you need the following connections:
| |
| | |
| {| class="wikitable"
| |
| |-
| |
| ! MPU9250 !! Arduino Board !! !! button !! Arduino Board
| |
| |-
| |
| | VCC || 5V || || || RST
| |
| |-
| |
| | GND || GND || || || GND
| |
| |-
| |
| | SDA || SDA (pin 2 for micro)* || || ||
| |
| |-
| |
| | SCL ||SCL (pin 3 for micro)* || || ||
| |
| |}
| |
| | |
| * pins change for different boards.
| |
| | |
| [[File:My headtrack built.jpg|thumb|my headtrack built]]
| |
| | |
| | |
| <big>'''THE CODE'''</big>
| |
| | |
| I would say thanks to @hideakitai for his library (https://github.com/hideakitai), it is the only that gives us pitch, roll, yaw. I traslate them in a binary format used by hatire. So install its library in the library manager.
| |
| | |
| | |
| <big>'''CALIBRATE THE MPU9250 (be aware from EM sources)'''</big>
| |
| | |
| The first step needs to open the sketch called “calibration” (file→ examples→ MPU9250), load it and open the serial console:
| |
| | |
| 1. Keep the MPU9250 on the table, horizontal, don’t move it!! so it will calibrate the accelerometer and gyroscope;
| |
| | |
| 2. soon you will read “Mag Calibration: Wave device in a figure eight until done!”. Now rotate it for 360° describing a sphere, fast, rotate it in every position;
| |
| | |
| 3. at the end save datas like these:
| |
| | |
| ''
| |
| < calibration parameters >
| |
| accel bias [g]:
| |
| 13.85, 68.24, -206.36
| |
| gyro bias [deg/s]:
| |
| -5.79, -3.03, -2.47
| |
| mag bias [mG]:
| |
| -39.82, 77.82, -422.38
| |
| mag scale []:
| |
| 1.04, 1.02, 0.94
| |
| ''
| |
| | |
| | |
| 4. Open my sketch “mpu9250-hatire” and change values, with yours:
| |
| | |
| '''
| |
| mpu.setGyroBias(0, -5.79);
| |
| mpu.setGyroBias(1, -3.03);
| |
| mpu.setGyroBias(2, -2.47);
| |
| mpu.setMagBias(0, -39.82);
| |
| mpu.setMagBias(1, +77.82);
| |
| mpu.setMagBias(2, -422.38);
| |
| mpu.setMagScale(0, +1.04);
| |
| mpu.setMagScale(1, +1.02);
| |
| mpu.setMagScale(2, +0.94);''
| |
| | |
| DO NOT ENTER DATA FOR THE ACCELEROMETER, they are commented in that file.
| |
| | |
| | |
| 5. Load the code!!! you can cange the magnetic declination for your country (http://www.magnetic-declination.com) too.
| |
| | |
| | |
| '''IMPORTANT:''' if you change your environment near the magnetometer (like closer parts, headphones), you need to recalibrate it. Otherwise your HT will work badly. My issue, i worked and calibrated my HT with a mini-breadboard. When i switched to a compact solution (see the image at first page), my HT didn’t work correctly but recalibrating did the trick.
| |
| | |
| | |
| <big>'''TEST'''</big>
| |
| | |
| Now it is time to test your system. The loaded code never freezes, my tests platform:
| |
|
| |
| Debian testing+opentrack 2.3.11 unstable+FlighGear 2019.1.1 → running time 1h 35 min;
| |
| | |
| Windows10+opentrack daily build+Falcon BMS 4.34.3→ running time 1h 25 min;
| |
| | |
| When you push the button start for the first time you can observe a strange movement of the squid, push the stop and start button again and again.
| |
| | |
| | |
| <big>'''SETUP'''</big>
| |
| | |
| I share my opentrack setting ini files then you can edit yaw, pitch, roll curves but i strong suggest you, everytime, to center the position of the tracker (options → output → custom center position).
| |
| | |
| | |
| <big>'''LINKS'''</big>
| |
| | |
| A link on the main opentrack site is available [https://github.com/opentrack/opentrack/wiki/Built-a-Hatire-headtracker-with-a-MPU9250 here].
| |
| | |
| All useful stuff are available [https://drive.google.com/drive/folders/15HhIHfoJ6WcMU1nhQ93dDLvj_SIr3SEa?usp=sharing here] on my gdrive space, there is an opentrack debian package too.
| |