|
Where do you want to go ? No, this is not some Microsoft gadget. Find east, west, south, north with this sensor.
Technical specifications
Product |
Orient sensor |
Version |
1.0 (May 2002) |
Sensing parameter |
single-axis orientation |
Sensing method |
uses hall effect to detect the earth's magnetic field |
Range |
360° (NESW) |
Response time |
2.5 s |
Calibration |
Voltage (use 5 V power supply) |
7-bit MIDI value (use 'no processing' preset) |
degree |
bearing |
output 1 |
output 2 |
output 1 |
output 2 |
0 |
north |
2.5 |
2.2 |
65 |
55 |
90 |
east |
2.2 |
2.5 |
55 |
65 |
180 |
south |
1.8 |
2.2 |
45 |
55 |
270 |
west |
2.2 |
1.8 |
55 |
45 |
Power supply |
5 V DC, 10 mA |
Operating temperature |
-20° to 85° C (-4° to 185° F) |
Sensor dimensions |
55 x 18 x 21 mm
(2.2 x 0.71 x
0.83 inch), incl. two 3.0 mm (0.12 inch) mounting holes spaced
35 mm (1.4 inch) apart |
Weight |
30 g (1 oz), incl. cable |
Cable |
2 x 0.90 m (35 inch), twisted, unshielded, red wire = power, black wire = ground, white wire = sensor output |
Connector |
male plug with 3 pins in a row spaced 2.54 mm (0.100 inch) |
Application notes |
- With the cables facing yourself, the left cable is output 1 and the right cable is output 2.
- In mathematical terms, the outputs of the Orient sensor are the sinus and cosinus of the rotation angle relative to the magnetic north pole, so one needs to calculate the arctangent (((output1 - output1(north)) x (output1(east) - output1(west))) / ((output2 - output2(east)) x (output2(south) - output2(north)))) to obtain a linear output value indicating the actual rotation angle. Note that eg. output1(north) stands for the value of the output when the sensor's wired end is pointing to the north.
In other words, the outputs of the Orient sensor give an x and y value of a circle function (almost circle) with its center located around x: 2,2V(55) & y: 2,2V(55) (these values depend of the strength of the magnetic field where you are located and the influence of other magnetic sources around you). To be able to use an arctan(y,x) function to calculate the angle where the sensor is pointing (as referenced to north for example) you need to bring the center of the circle function to x:0 & y:0 (so that the circle goes around origin 0;0).
To move the center of the circle function to origin 0;0 you need to subtract the Orient center x & y values from the output signals. To find the center x and y values of the circle function of the Orient sensor:
a) for output1 find the min and max values then x_center = ((max - minch) / 2) + min, example: max = 76, min = 36, x_center = ((76 - 36) / 2) + 36 = 56
b) for output2 find the min and max values then y_center = ((max - minch) / 2) + min, example: max = 64, min = 26, y_center= ((64 - 26) / 2) + 26 = 45
So you would use angle=arctan(output2 - y_center, output1 - x_center). In the example above this would give angle = arctan(output2 - 45, output1 - 56). See also this Max patch.
- Place horizontal (less than 12° tilt; calibration may be necessary to obtain correct output values) to avoid measuring the vertical component of the earth's magnetic field and hence erroneous sensor output.
- Motions other than rotation around the vertical axis including vibration may distort sensor output
- Any magnetic materials or fields in vicinity may distort sensor output.
- Warning ! Make sure the sensor is plugged into the Digitizer with the red wire connected to power. Reversing the plug may cause damage to the sensor.
|
Application examples |
Orientation of a physical object. Not recommended for placement on the hand unless the hand movements are very steady and only involve rotation in the horizontal plane. |
|