Part 2 lab 4

Dependencies:   MMA8451Q

Fork of Accelerometer_example by William Marsh

Committer:
Bossman
Date:
Fri Feb 16 21:58:20 2018 +0000
Revision:
2:304358fa24aa
Parent:
0:a1caba5c4e48
Child:
3:1861f741c2df
Version 1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
WilliamMarshQMUL 0:a1caba5c4e48 1 #include "mbed.h"
WilliamMarshQMUL 0:a1caba5c4e48 2 #include "rtos.h"
WilliamMarshQMUL 0:a1caba5c4e48 3 #include "MMA8451Q.h"
WilliamMarshQMUL 0:a1caba5c4e48 4
WilliamMarshQMUL 0:a1caba5c4e48 5 PinName const SDA = PTE25;
WilliamMarshQMUL 0:a1caba5c4e48 6 PinName const SCL = PTE24;
WilliamMarshQMUL 0:a1caba5c4e48 7
WilliamMarshQMUL 0:a1caba5c4e48 8 #define MMA8451_I2C_ADDRESS (0x1d<<1)
WilliamMarshQMUL 0:a1caba5c4e48 9
Bossman 2:304358fa24aa 10
WilliamMarshQMUL 0:a1caba5c4e48 11 int main(void)
WilliamMarshQMUL 0:a1caba5c4e48 12 {
WilliamMarshQMUL 0:a1caba5c4e48 13 MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);
WilliamMarshQMUL 0:a1caba5c4e48 14 PwmOut rled(LED1);
WilliamMarshQMUL 0:a1caba5c4e48 15 PwmOut gled(LED2);
WilliamMarshQMUL 0:a1caba5c4e48 16 PwmOut bled(LED3);
WilliamMarshQMUL 0:a1caba5c4e48 17 Serial pc(USBTX, USBRX); // tx, rx
WilliamMarshQMUL 0:a1caba5c4e48 18
WilliamMarshQMUL 0:a1caba5c4e48 19
WilliamMarshQMUL 0:a1caba5c4e48 20 pc.printf("MMA8451 ID: %d\n", acc.getWhoAmI());
WilliamMarshQMUL 0:a1caba5c4e48 21
WilliamMarshQMUL 0:a1caba5c4e48 22 while (true) {
WilliamMarshQMUL 0:a1caba5c4e48 23 float x, y, z;
WilliamMarshQMUL 0:a1caba5c4e48 24 x = acc.getAccX();
WilliamMarshQMUL 0:a1caba5c4e48 25 y = acc.getAccY();
WilliamMarshQMUL 0:a1caba5c4e48 26 z = acc.getAccZ();
WilliamMarshQMUL 0:a1caba5c4e48 27 rled = 1.0f - abs(x);
WilliamMarshQMUL 0:a1caba5c4e48 28 gled = 1.0f - abs(y);
WilliamMarshQMUL 0:a1caba5c4e48 29 bled = 1.0f - abs(z);
WilliamMarshQMUL 0:a1caba5c4e48 30 Thread::wait(300);
WilliamMarshQMUL 0:a1caba5c4e48 31 pc.printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n", x, y, z);
WilliamMarshQMUL 0:a1caba5c4e48 32 }
WilliamMarshQMUL 0:a1caba5c4e48 33 }