|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
Accelerometer class - isn't reading zero at rest?
Do we have a bad KoP board or the code is wrong or missing some setup?
Code:
... // Declare variables for the 3 axis accelerometer (2 channels wired) Accelerometer *m_accelerometerX; Accelerometer *m_accelerometerY; ... // create accelerometers m_accelerometerX = new Accelerometer(2); m_accelerometerY = new Accelerometer(3); ... //m_accelerometerX->SetSensitivity(0.0); //m_accelerometerY->SetSensitivity(0.0); //m_accelerometerX->SetZero(0.0); //m_accelerometerY->SetZero(0.0); ... accX = m_accelerometerX->GetAcceleration(); accY = m_accelerometerY->GetAcceleration(); ... |
|
#2
|
|||
|
|||
|
Re: Accelerometer class - isn't reading zero at rest?
You certainly can.
Before you do, be sure you are telling the class that your center point is 1.5V and your sensitivity is 300mV/g. I *think* the class assumes a different model. |
|
#3
|
||||
|
||||
|
Re: Accelerometer class - isn't reading zero at rest?
The classes aren't really documented.
How do you set the center point to 1.5V? How do you set the sensitivity to 300mV/g? From what I can tell, the accelerometer class contains the function calls of SetZero() and SetSensitivity(). How do you use these? |
|
#4
|
|||||
|
|||||
|
Re: Accelerometer class - isn't reading zero at rest?
If you read the WPILib source code, it gives you some hints.
Code:
/**
* Set the accelerometer sensitivity.
*
* This sets the sensitivity of the accelerometer used for calculating the acceleration.
* The sensitivity varys by accelerometer model. There are constants defined for various models.
*
* @param sensitivity The sensitivity of accelerometer in Volts per G.
*/
void Accelerometer::SetSensitivity(float sensitivity)
{
m_voltsPerG = sensitivity;
}
...
/**
* Set the voltage that corresponds to 0 G.
*
* The zero G voltage varys by accelerometer model. There are constants defined for various models.
*
* @param zero The zero G voltage.
*/
void Accelerometer::SetZero(float zero)
{
m_zeroGVoltage = zero;
}
Code:
myAccelerometer->SetZero(1.5); myAccelerometer->SetSensitivity(0.3); |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Floating point math zero | flippo | Programming | 3 | 02-09-2007 09:00 AM |
| OI and analog: Zero value | Astronouth7303 | Programming | 1 | 02-02-2004 04:00 PM |
| Community Zero | archiver | 2001 | 1 | 06-24-2002 04:08 AM |
| How about zero qualifying points? | archiver | 2000 | 0 | 06-23-2002 10:01 PM |
| Zero Hour | archiver | 2000 | 4 | 06-23-2002 09:59 PM |