upm
1.7.1
Sensor/Actuator repository for libmraa (v2.0.0)
|
DFRobot ADXRS610 Gyro Breakout board. More...
The ADXRS610 is a MEMS based single axis gyroscope with a range of +/- 300 degrees/sec. It also incorporates a temperature sensing unit that can be used for advanced calibration.
This sensor returns an analog voltage proportional to the rotation about the Z-axis in degrees/sec. The temperature component returns a proportional analog values in degrees C.
This driver was developed using the DFRobot ADXRS610 Gyro Breakout board.
Public Member Functions | |
ADXRS610 (int dPin, int tPin, float aref=5.0) | |
~ADXRS610 () | |
float | getDataVolts () |
float | getTemperatureVolts () |
void | setDeadband (float deadband) |
void | setZeroPoint (float zeroPoint) |
float | calibrateZeroPoint (unsigned int samples=50) |
float | getZeroPoint () |
float | getTemperature () |
float | getAngularVelocity () |
Protected Attributes | |
mraa::Aio | m_aioData |
mraa::Aio | m_aioTemp |
ADXRS610 | ( | int | dPin, |
int | tPin, | ||
float | aref = 5.0 |
||
) |
ADXRS610 constructor
dPin | Analog pin to use for DATAOUT |
tPin | Analog pin to use for temperature measurement |
aref | Analog reference voltage; default is 5.0 V |
float getDataVolts | ( | ) |
Returns the voltage detected on the DATA analog pin
float getTemperatureVolts | ( | ) |
Returns the voltage detected on the TEMP analog pin
|
inline |
This method allows you to specify a deadband region around the zero point of the gyro (at rest). This can be used as a primitive filter to ignore movment around the zero point.
deadband | The voltage around the zero point which will be ignored |
|
inline |
Set the zero point. This is the point measured and averaged when the sensor is not moving. It is set at construction time (averaged over a number of samples), but can be overridden here.
zeroPoint | The averaged zero point of the sensor at rest |
float calibrateZeroPoint | ( | unsigned int | samples = 50 | ) |
This method samples the data pin samples times to produce an average. This value can then be used as the zero point (setZeroPoint()).
samples | the number of samples to take an average over. The default is 50. |
|
inline |
Return the zero point value.
float getTemperature | ( | ) |
Return the measured temperature in Celsius. Note, the datasheet says that this value is very repeatable, but is not an accurate absolute temperature.
float getAngularVelocity | ( | ) |
Return the measured angular velocity in degrees/sec.