Notice: This page contains information for the legacy Phidget21 Library. Phidget21 is out of support. Bugfixes may be considered on a case by case basis. Phidget21 does not support VINT Phidgets, or new USB Phidgets released after 2020. We maintain a selection of legacy devices for sale that are supported in Phidget21. We recommend that new projects be developed against the Phidget22 Library.
|
1043 User Guide
Go to this device's product page |
Getting Started
Checking the Contents
You should have received:
|
||
Connecting the Pieces
Connect the PhidgetSpatial 0/0/3 High Resolution to your PC using the Mini-USB cable. |
| |
Testing Using Windows 2000 / XP / Vista / 7
Make sure you have the current version of the Phidget library installed on your PC. If you don't, follow these steps:
- Go to the Quick Downloads section on the Windows page
- Download and run the Phidget21 Installer (32-bit, or 64-bit, depending on your system)
- You should see the icon on the right hand corner of the Task Bar.
Running Phidgets Sample Program
Double clicking on the icon loads the Phidget Control Panel; we will use this program to ensure that your new Phidget works properly.
The source code for the Spatial-full sample program can be found in the quick downloads section on the C# Language Page. If you'd like to see examples in other languages, you can visit our Languages page.
Updating Device Firmware
If an entry in this list is red, it means the firmware for that device is out of date. Double click on the entry to be given the option of updating the firmware. If you choose not to update the firmware, you can still run the example for that device after refusing.
Double Click on the icon to activate the Phidget Control Panel and make sure that the Phidget Spatial 0/0/3 is properly attached to your PC. |
||
|
Testing Using Mac OS X
- Go to the Quick Downloads section on the Mac OS X page
- Download and run the Phidget OS X Installer
- Click on System Preferences >> Phidgets (under Other) to activate the Preference Pane
- Make sure that the Phidget Spatial 0/0/3 is properly attached.
- Double Click on Phidget Spatial 0/0/3 in the Phidget Preference Pane to bring up the Spatial-full Sample program. This program will function in a similar way as the Windows version.
Using Linux
For a step-by-step guide on getting Phidgets running on Linux, check the Linux page.
Using Windows Mobile / CE 5.0 / CE 6.0
For a step-by-step guide on getting Phidgets running on Windows CE, check the Windows CE page.
Technical Details
The PhidgetSpatial 0/0/3 has a 3-Axis accelerometer that can measure ±8 g’s (±78 m/s2) per axis. It will measure both dynamic acceleration (change in velocity) and static acceleration (gravity vector). The Phidgetspatial 3-Axis 0/0/3 is internally calibrated.
High Resolution Mode
When the PhidgetSpatial High Resolution 0/0/3 measures an acceleration value with magnitude less than 2g, it will acquire its data from a higher precision accelerometer chip. For these measurements, the average white noise on each axis will be reduced by approximately a factor of ten, and the resolution will increase from 976 μg to 76 μg. The transition from normal to high precision or vice-versa is seamless, with no additional code or equations needed.
Further Reading
For more information on testing and calibrating this device, check the Accelerometer Primer.
API
We document API Calls specific to this product in this section. Functions common to all Phidgets and functions not applicable to this device are not covered here. This section is deliberately generic. For calling conventions under a specific language, refer to the associated API manual in the Quick Downloads section for that language. For exact values, refer to the device specifications.
Data Structures
SpatialData {
- double acceleration[3];
- Timestamp time;
};
The SpatialData Structure is used by the OnSpatialData event. This contains acceleration data, as well as a timestamp. The timestamp is an accurate measurement streamed from the hardware, and can be trusted over a local software timestamp.
Note that the structure also contains angularRate and magneticField fields, but these are not shown, as they don’t apply to the PhidgetSpatial 0/0/3.
Functions
int AccelerationAxisCount() [get] : Constant = 3
- Returns the number of axes the PhidgetSpatial can measure acceleration on.
double Acceleration (int AxisIndex) [get] : Units = g (standard gravity = 9.81m/s2)
- Returns the acceleration of an axis. At a standstill each axis will measure between -1.0 and 1.0 g’s depending on orientation - the effect of gravity.
This value will always be between AccelerationMin and AccelerationMax.
double AccelerationMax (int AxisIndex) [get] : Constant = 8.1g
- Returns the maximum acceleration value that this axis will report. Acceleration can be accurately measured up to 8.0g - any value past this will be reported as 8.1g, which represents saturation. If the acceleration data is equal to AccelerationMax, it should be treated as suspect, as the real acceleration could be far greater than the reported number.
double AccelerationMin (int AxisIndex) [get] : Constant = -8.1g
- Returns the maximum negative acceleration value that this axis will report. Negative acceleration can be accurately measured up to -8.0g - any value past this will be reported as -8.1g, which represents saturation. If the acceleration data is equal to AccelerationMin, it should be treated as suspect, as the real acceleration could be far greater than the reported number.
int DataRate () [get,set] : Units = ms (milliseconds)
- Gets/sets the data rate, in ms. This is corresponds to the rate at which SpatialData events will be fired. This is bound by DataRateMax and DataRateMin. When set to less then the maximum data rate, data is still sampled at the maximum rate, and averaged before being sent to the user. This defaults to 8ms. Supported data rates are: 1, 2, 4, 8, and every multiple of 8 until DataRateMin.
Note that data rate is limited to 16ms when opening over the Phidget Webservice. Actual data rate will depend on network latency.
int DataRateMax () [get] : Constant = 1ms
- The maximum supported data rate.
int DataRateMin () [get] : Constant = 1000ms
- The minimum supported data rate.
Events
OnSpatialData (SpatialData[] data) [event]
- An event issued at the specified data rate. If the data rate is set faster then 8ms, then there will be multiple items in the data array - use the timestamp field to get the timing data. When the data rate is >= 8ms, there will only be one item in the data array.
Product History
Date | Board Revision | Device Version | Comment |
---|---|---|---|
September 2012 | 0 | 300 | Product Release |
September 2012 | 0 | 301 | Fixed USB bug |
October 2015 | 0 | 302 | OS X El Capitan USB fix |