Divya Vadivel
/
Lab4_2-2
Lab 4 part 1
Fork of Accelerometer_example by
main.cpp@2:41f1970641ca, 2018-02-16 (annotated)
- Committer:
- diviavad
- Date:
- Fri Feb 16 22:28:56 2018 +0000
- Revision:
- 2:41f1970641ca
- Parent:
- 0:a1caba5c4e48
Version 1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
WilliamMarshQMUL | 0:a1caba5c4e48 | 1 | #include "mbed.h" |
WilliamMarshQMUL | 0:a1caba5c4e48 | 2 | #include "rtos.h" |
WilliamMarshQMUL | 0:a1caba5c4e48 | 3 | #include "MMA8451Q.h" |
diviavad | 2:41f1970641ca | 4 | |
WilliamMarshQMUL | 0:a1caba5c4e48 | 5 | PinName const SDA = PTE25; |
WilliamMarshQMUL | 0:a1caba5c4e48 | 6 | PinName const SCL = PTE24; |
diviavad | 2:41f1970641ca | 7 | |
WilliamMarshQMUL | 0:a1caba5c4e48 | 8 | #define MMA8451_I2C_ADDRESS (0x1d<<1) |
diviavad | 2:41f1970641ca | 9 | |
WilliamMarshQMUL | 0:a1caba5c4e48 | 10 | int main(void) |
WilliamMarshQMUL | 0:a1caba5c4e48 | 11 | { |
WilliamMarshQMUL | 0:a1caba5c4e48 | 12 | MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS); |
WilliamMarshQMUL | 0:a1caba5c4e48 | 13 | PwmOut rled(LED1); |
WilliamMarshQMUL | 0:a1caba5c4e48 | 14 | PwmOut gled(LED2); |
WilliamMarshQMUL | 0:a1caba5c4e48 | 15 | PwmOut bled(LED3); |
diviavad | 2:41f1970641ca | 16 | |
WilliamMarshQMUL | 0:a1caba5c4e48 | 17 | Serial pc(USBTX, USBRX); // tx, rx |
diviavad | 2:41f1970641ca | 18 | |
diviavad | 2:41f1970641ca | 19 | |
WilliamMarshQMUL | 0:a1caba5c4e48 | 20 | pc.printf("MMA8451 ID: %d\n", acc.getWhoAmI()); |
diviavad | 2:41f1970641ca | 21 | |
WilliamMarshQMUL | 0:a1caba5c4e48 | 22 | while (true) { |
WilliamMarshQMUL | 0:a1caba5c4e48 | 23 | float x, y, z; |
diviavad | 2:41f1970641ca | 24 | |
diviavad | 2:41f1970641ca | 25 | float lower_th, upper_th; |
diviavad | 2:41f1970641ca | 26 | |
WilliamMarshQMUL | 0:a1caba5c4e48 | 27 | x = acc.getAccX(); |
WilliamMarshQMUL | 0:a1caba5c4e48 | 28 | y = acc.getAccY(); |
WilliamMarshQMUL | 0:a1caba5c4e48 | 29 | z = acc.getAccZ(); |
diviavad | 2:41f1970641ca | 30 | |
diviavad | 2:41f1970641ca | 31 | // |
WilliamMarshQMUL | 0:a1caba5c4e48 | 32 | Thread::wait(300); |
diviavad | 2:41f1970641ca | 33 | |
diviavad | 2:41f1970641ca | 34 | if(z>= 0.9 ){ // flat |
diviavad | 2:41f1970641ca | 35 | // myled1 = 0; |
diviavad | 2:41f1970641ca | 36 | |
diviavad | 2:41f1970641ca | 37 | rled = 0; |
diviavad | 2:41f1970641ca | 38 | gled = 0; |
diviavad | 2:41f1970641ca | 39 | bled =0; |
diviavad | 2:41f1970641ca | 40 | pc.printf("flat \n \r"); |
diviavad | 2:41f1970641ca | 41 | |
diviavad | 2:41f1970641ca | 42 | }else if(y>= 0.9 ){//right |
diviavad | 2:41f1970641ca | 43 | |
diviavad | 2:41f1970641ca | 44 | rled = 0; |
diviavad | 2:41f1970641ca | 45 | gled = 0; |
diviavad | 2:41f1970641ca | 46 | bled =0; |
diviavad | 2:41f1970641ca | 47 | pc.printf("right \n \r"); |
diviavad | 2:41f1970641ca | 48 | |
diviavad | 2:41f1970641ca | 49 | }else if(x>= 0.9){ // dowm |
diviavad | 2:41f1970641ca | 50 | |
diviavad | 2:41f1970641ca | 51 | rled = 0; |
diviavad | 2:41f1970641ca | 52 | gled = 0; |
diviavad | 2:41f1970641ca | 53 | bled =0; |
diviavad | 2:41f1970641ca | 54 | pc.printf("down \n \r"); |
diviavad | 2:41f1970641ca | 55 | |
diviavad | 2:41f1970641ca | 56 | }else if(z<= -0.90 ){ //over |
diviavad | 2:41f1970641ca | 57 | |
diviavad | 2:41f1970641ca | 58 | rled = 0; |
diviavad | 2:41f1970641ca | 59 | gled = 0; |
diviavad | 2:41f1970641ca | 60 | bled =0; |
diviavad | 2:41f1970641ca | 61 | pc.printf("over \n \r"); |
diviavad | 2:41f1970641ca | 62 | |
diviavad | 2:41f1970641ca | 63 | }else if(y<= -0.90 ){ |
diviavad | 2:41f1970641ca | 64 | |
diviavad | 2:41f1970641ca | 65 | rled = 0; |
diviavad | 2:41f1970641ca | 66 | gled = 0; |
diviavad | 2:41f1970641ca | 67 | bled =0; |
diviavad | 2:41f1970641ca | 68 | pc.printf("left \n \r"); |
diviavad | 2:41f1970641ca | 69 | |
diviavad | 2:41f1970641ca | 70 | }else if(x<= -0.90 ){ |
diviavad | 2:41f1970641ca | 71 | |
diviavad | 2:41f1970641ca | 72 | rled = 0; |
diviavad | 2:41f1970641ca | 73 | gled = 0; |
diviavad | 2:41f1970641ca | 74 | bled =0; |
diviavad | 2:41f1970641ca | 75 | pc.printf("up \n \r"); |
diviavad | 2:41f1970641ca | 76 | |
diviavad | 2:41f1970641ca | 77 | } |
diviavad | 2:41f1970641ca | 78 | |
diviavad | 2:41f1970641ca | 79 | else{ |
diviavad | 2:41f1970641ca | 80 | |
diviavad | 2:41f1970641ca | 81 | rled = 1; |
diviavad | 2:41f1970641ca | 82 | gled = 1; |
diviavad | 2:41f1970641ca | 83 | bled =1; |
diviavad | 2:41f1970641ca | 84 | pc.printf(" \n \r"); |
diviavad | 2:41f1970641ca | 85 | } |
diviavad | 2:41f1970641ca | 86 | // |
diviavad | 2:41f1970641ca | 87 | // pc.printf("X: %1.2f, Y: %1.2f, Z: %1.2f \n \r", x, y, z); |
WilliamMarshQMUL | 0:a1caba5c4e48 | 88 | } |
diviavad | 2:41f1970641ca | 89 | } |