accelerometer

Dependencies:   mbed MMA7660

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?

UserRevisionLine numberNew 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