|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#16
|
||||
|
||||
|
Re: ADXL345_I2C Help
bump. We're having the same issue. Here's ou code:
Code:
#include <WPILib.h>
class DefaultRobot : public SimpleRobot
{
ADXL345_I2C *acc;
public:
DefaultRobot(void)
{
acc = new ADXL345_I2C (4, ADXL345_I2C::kRange_2G);
}
void Autonomous(void)
{
while(IsAutonomous())
{
}
}
void OperatorControl(void)
{
DriverStationLCD *dsLCD = DriverStationLCD::GetInstance();
while (IsOperatorControl())
{
while (true)
{
float x = acc->GetAcceleration(ADXL345_I2C::kAxis_X);
float y = acc->GetAcceleration(ADXL345_I2C::kAxis_Y);
float z = acc->GetAcceleration(ADXL345_I2C::kAxis_Z);
dsLCD->PrintfLine((DriverStationLCD::Line) 1, "x=%f y=%f z=%f", x, y, z);
dsLCD->UpdateLCD();
Wait(1.0);
}
}
}
};
START_ROBOT_CLASS(DefaultRobot);
|
|
#17
|
|||
|
|||
|
Re: ADXL345_I2C Help
We've been using the ADX345_SPI class, and we tried to use ADXL345_I2C without any luck.
however, I was reading though the part datasheet tonight, and I think the issue is that you have to hold the Chip Select line high to select I2C mode. See page 18 of the part datasheet: http://www.analog.com/static/importe...ts/ADXL345.pdf We'll probably stick to the SPI mode because we've got it working. Though we're considering modifying the class slightly from what WPI provides. (We'd like to add a calibration function, as described in the User's Guide). If you get it to work in I2C mode, I'd be interested in hearing about it. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|