Test program for testing the ADXL345 Brake Outbeard

Dependencies:   ADXL345 TextLCD mbed

Committer:
Tuxitheone
Date:
Mon Mar 31 19:09:14 2014 +0000
Revision:
0:6b905abf1374
Test program for testing the ADXL345 brake outboard.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Tuxitheone 0:6b905abf1374 1 #include "mbed.h"
Tuxitheone 0:6b905abf1374 2 #include "ADXL345.h"
Tuxitheone 0:6b905abf1374 3 #include "TextLCD.h"
Tuxitheone 0:6b905abf1374 4
Tuxitheone 0:6b905abf1374 5 ADXL345 accelerometer(p5, p6, p7, p8); // (SDA, SDO, SCL, CS);
Tuxitheone 0:6b905abf1374 6 Serial pc(USBTX, USBRX); //For raw data
Tuxitheone 0:6b905abf1374 7 TextLCD lcd(p15, p16, p17, p18, p19, p20, TextLCD::LCD16x2); // rs, e, d4-d7
Tuxitheone 0:6b905abf1374 8
Tuxitheone 0:6b905abf1374 9 float x,y,z;
Tuxitheone 0:6b905abf1374 10
Tuxitheone 0:6b905abf1374 11
Tuxitheone 0:6b905abf1374 12 int main()
Tuxitheone 0:6b905abf1374 13 {
Tuxitheone 0:6b905abf1374 14
Tuxitheone 0:6b905abf1374 15 int readings[3] = {0, 0, 0};
Tuxitheone 0:6b905abf1374 16
Tuxitheone 0:6b905abf1374 17 lcd.cls();
Tuxitheone 0:6b905abf1374 18 lcd.printf("Starting ADXL345 test...\n");
Tuxitheone 0:6b905abf1374 19 lcd.printf("Device ID is: 0x%02x\n", accelerometer.getDevId());
Tuxitheone 0:6b905abf1374 20 pc.printf("Starting ADXL345 test...\n");
Tuxitheone 0:6b905abf1374 21 pc.printf("Device ID is: 0x%02x\n", accelerometer.getDevId());
Tuxitheone 0:6b905abf1374 22
Tuxitheone 0:6b905abf1374 23 //Go into standby mode to configure the device.
Tuxitheone 0:6b905abf1374 24 accelerometer.setPowerControl(0x00);
Tuxitheone 0:6b905abf1374 25
Tuxitheone 0:6b905abf1374 26 //Full resolution, +/-4g, 3.9mg/LSB.
Tuxitheone 0:6b905abf1374 27 accelerometer.setDataFormatControl(0x0B);
Tuxitheone 0:6b905abf1374 28
Tuxitheone 0:6b905abf1374 29 //3.2kHz data rate.
Tuxitheone 0:6b905abf1374 30 accelerometer.setDataRate(ADXL345_3200HZ);
Tuxitheone 0:6b905abf1374 31
Tuxitheone 0:6b905abf1374 32 //Measurement mode.
Tuxitheone 0:6b905abf1374 33 accelerometer.setPowerControl(0x08);
Tuxitheone 0:6b905abf1374 34
Tuxitheone 0:6b905abf1374 35 while (1) {
Tuxitheone 0:6b905abf1374 36
Tuxitheone 0:6b905abf1374 37 wait(0.1); //Intaval
Tuxitheone 0:6b905abf1374 38
Tuxitheone 0:6b905abf1374 39 accelerometer.getOutput(readings);
Tuxitheone 0:6b905abf1374 40
Tuxitheone 0:6b905abf1374 41 x=(int16_t)readings[0];
Tuxitheone 0:6b905abf1374 42 x=x*4e-3;
Tuxitheone 0:6b905abf1374 43 y=(int16_t)readings[1];
Tuxitheone 0:6b905abf1374 44 y=y*4e-3;
Tuxitheone 0:6b905abf1374 45 z=(int16_t)readings[2];
Tuxitheone 0:6b905abf1374 46 z=z*4e-3;
Tuxitheone 0:6b905abf1374 47
Tuxitheone 0:6b905abf1374 48 //13-bit, sign extended values.
Tuxitheone 0:6b905abf1374 49 lcd.cls();
Tuxitheone 0:6b905abf1374 50 lcd.printf("%.1f, %.1f, %.1f\n", x,y,z); //Convertet to G
Tuxitheone 0:6b905abf1374 51 lcd.printf(" X Y Z ");
Tuxitheone 0:6b905abf1374 52 pc.printf("%i, %i, %i\n\r", (int16_t)readings[0], (int16_t)readings[1], (int16_t)readings[2]); //Raw data
Tuxitheone 0:6b905abf1374 53
Tuxitheone 0:6b905abf1374 54 }
Tuxitheone 0:6b905abf1374 55
Tuxitheone 0:6b905abf1374 56 }