Rudolf Rumpler
/
embedded_answ_2_
accelerometer
main.cpp@1:19c7e004b469, 2020-08-19 (annotated)
- Committer:
- rudolf5020
- Date:
- Wed Aug 19 11:15:23 2020 +0000
- Revision:
- 1:19c7e004b469
- Parent:
- 0:045cab440776
- Child:
- 2:b99449535e77
with deg calculation
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rudolf5020 | 0:045cab440776 | 1 | |
rudolf5020 | 0:045cab440776 | 2 | #include "mbed.h" |
rudolf5020 | 0:045cab440776 | 3 | #include "MMA7660.h" |
rudolf5020 | 1:19c7e004b469 | 4 | |
rudolf5020 | 1:19c7e004b469 | 5 | #define PI 3.14159265 |
rudolf5020 | 0:045cab440776 | 6 | |
rudolf5020 | 0:045cab440776 | 7 | |
rudolf5020 | 0:045cab440776 | 8 | MMA7660 MMA(p28, p27); |
rudolf5020 | 0:045cab440776 | 9 | DigitalOut connectionLed(LED1); |
rudolf5020 | 0:045cab440776 | 10 | |
rudolf5020 | 1:19c7e004b469 | 11 | float calculateAngle(float x, float y, float z){ |
rudolf5020 | 1:19c7e004b469 | 12 | float angle = 0; |
rudolf5020 | 1:19c7e004b469 | 13 | double val = 180 / PI; |
rudolf5020 | 1:19c7e004b469 | 14 | |
rudolf5020 | 1:19c7e004b469 | 15 | double bot_part = sqrt( pow((double)y, 2.0) + pow((double)z, 2.0) ); |
rudolf5020 | 1:19c7e004b469 | 16 | double top_part = (double)x; |
rudolf5020 | 1:19c7e004b469 | 17 | angle = atan(top_part/bot_part); |
rudolf5020 | 1:19c7e004b469 | 18 | |
rudolf5020 | 1:19c7e004b469 | 19 | return angle*val; |
rudolf5020 | 1:19c7e004b469 | 20 | } |
rudolf5020 | 0:045cab440776 | 21 | int main() { |
rudolf5020 | 0:045cab440776 | 22 | |
rudolf5020 | 1:19c7e004b469 | 23 | if (MMA.testConnection()) //LED shows connection is ok |
rudolf5020 | 0:045cab440776 | 24 | connectionLed = 1; |
rudolf5020 | 0:045cab440776 | 25 | |
rudolf5020 | 0:045cab440776 | 26 | while(1) { |
rudolf5020 | 1:19c7e004b469 | 27 | double res = calculateAngle(MMA.x(), MMA.z(), MMA.x()); |
rudolf5020 | 1:19c7e004b469 | 28 | printf("result = %f \r", res); |
rudolf5020 | 1:19c7e004b469 | 29 | wait(0.5); |
rudolf5020 | 0:045cab440776 | 30 | |
rudolf5020 | 0:045cab440776 | 31 | } |
rudolf5020 | 0:045cab440776 | 32 | |
rudolf5020 | 0:045cab440776 | 33 | } |
rudolf5020 | 0:045cab440776 | 34 | |
rudolf5020 | 0:045cab440776 | 35 | |
rudolf5020 | 0:045cab440776 | 36 | |
rudolf5020 | 0:045cab440776 | 37 |