
Sample
main.cpp@0:df47a2b2f7eb, 2018-01-09 (annotated)
- Committer:
- prathameshrs22
- Date:
- Tue Jan 09 10:43:43 2018 +0000
- Revision:
- 0:df47a2b2f7eb
Initial Commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
prathameshrs22 | 0:df47a2b2f7eb | 1 | #include "mbed.h" |
prathameshrs22 | 0:df47a2b2f7eb | 2 | #include "MMA8451Q.h" |
prathameshrs22 | 0:df47a2b2f7eb | 3 | |
prathameshrs22 | 0:df47a2b2f7eb | 4 | #define MMA8451_I2C_ADDRESS (0x1d<<1) |
prathameshrs22 | 0:df47a2b2f7eb | 5 | |
prathameshrs22 | 0:df47a2b2f7eb | 6 | MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS); |
prathameshrs22 | 0:df47a2b2f7eb | 7 | |
prathameshrs22 | 0:df47a2b2f7eb | 8 | BusOut rgb(LED1,LED2,LED3); |
prathameshrs22 | 0:df47a2b2f7eb | 9 | Serial pc(USBTX,USBRX); |
prathameshrs22 | 0:df47a2b2f7eb | 10 | |
prathameshrs22 | 0:df47a2b2f7eb | 11 | int main() { |
prathameshrs22 | 0:df47a2b2f7eb | 12 | float accy,accz; |
prathameshrs22 | 0:df47a2b2f7eb | 13 | int y,z; |
prathameshrs22 | 0:df47a2b2f7eb | 14 | int count=0; |
prathameshrs22 | 0:df47a2b2f7eb | 15 | rgb=0b111; // turning all leds off |
prathameshrs22 | 0:df47a2b2f7eb | 16 | while(1) { |
prathameshrs22 | 0:df47a2b2f7eb | 17 | //acquiring values of accelerometer |
prathameshrs22 | 0:df47a2b2f7eb | 18 | accy=acc.getAccY(); |
prathameshrs22 | 0:df47a2b2f7eb | 19 | accz=acc.getAccZ(); |
prathameshrs22 | 0:df47a2b2f7eb | 20 | y=(accy+2)*100; |
prathameshrs22 | 0:df47a2b2f7eb | 21 | z=(accz+2)*100; |
prathameshrs22 | 0:df47a2b2f7eb | 22 | pc.printf("$%d %d;",y,z); |
prathameshrs22 | 0:df47a2b2f7eb | 23 | //detecting movement |
prathameshrs22 | 0:df47a2b2f7eb | 24 | if((accy>1)||(accy<-1)){ |
prathameshrs22 | 0:df47a2b2f7eb | 25 | count++; |
prathameshrs22 | 0:df47a2b2f7eb | 26 | switch(count){ |
prathameshrs22 | 0:df47a2b2f7eb | 27 | case 1: rgb=0b110; break; |
prathameshrs22 | 0:df47a2b2f7eb | 28 | case 2: rgb=0b101; break; |
prathameshrs22 | 0:df47a2b2f7eb | 29 | case 3: rgb=0b011; break; |
prathameshrs22 | 0:df47a2b2f7eb | 30 | case 4: rgb=0b000; break; |
prathameshrs22 | 0:df47a2b2f7eb | 31 | case 5: rgb=0b111; count=0; break; |
prathameshrs22 | 0:df47a2b2f7eb | 32 | } |
prathameshrs22 | 0:df47a2b2f7eb | 33 | wait(0.5); |
prathameshrs22 | 0:df47a2b2f7eb | 34 | } |
prathameshrs22 | 0:df47a2b2f7eb | 35 | else if((accz>1)||(accz<-1)){ //detecting if it's left movement |
prathameshrs22 | 0:df47a2b2f7eb | 36 | count--; |
prathameshrs22 | 0:df47a2b2f7eb | 37 | switch(count){ |
prathameshrs22 | 0:df47a2b2f7eb | 38 | case 1: rgb=0b110; count=6; break; |
prathameshrs22 | 0:df47a2b2f7eb | 39 | case 2: rgb=0b101; break; |
prathameshrs22 | 0:df47a2b2f7eb | 40 | case 3: rgb=0b011; break; |
prathameshrs22 | 0:df47a2b2f7eb | 41 | case 4: rgb=0b000; break; |
prathameshrs22 | 0:df47a2b2f7eb | 42 | case 5: rgb=0b111; break; |
prathameshrs22 | 0:df47a2b2f7eb | 43 | } |
prathameshrs22 | 0:df47a2b2f7eb | 44 | wait(0.5); |
prathameshrs22 | 0:df47a2b2f7eb | 45 | } |
prathameshrs22 | 0:df47a2b2f7eb | 46 | } |
prathameshrs22 | 0:df47a2b2f7eb | 47 | } |