accelerometer

Dependencies:   mbed MMA7660

Committer:
rudolf5020
Date:
Wed Aug 19 12:25:24 2020 +0000
Revision:
2:b99449535e77
Parent:
1:19c7e004b469
acc

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rudolf5020 2:b99449535e77 1 #include "mbed.h"//preprosser command
rudolf5020 2:b99449535e77 2 #include "MMA7660.h"//preprocesser command
rudolf5020 2:b99449535e77 3
rudolf5020 1:19c7e004b469 4 #define PI 3.14159265
rudolf5020 0:045cab440776 5
rudolf5020 2:b99449535e77 6 Serial pc(USBTX,USBRX);//serial transmission
rudolf5020 2:b99449535e77 7 MMA7660 MMA(p28,p27);//IC2 pins accelerometer
rudolf5020 0:045cab440776 8
rudolf5020 2:b99449535e77 9 float calculateAngle(float x,float y,float z){
rudolf5020 1:19c7e004b469 10 float angle = 0;
rudolf5020 2:b99449535e77 11 // calculate of angle
rudolf5020 2:b99449535e77 12
rudolf5020 2:b99449535e77 13 angle = (y*y) + (z*z);//bottom of the division line
rudolf5020 2:b99449535e77 14 angle = sqrt (angle);//square root
rudolf5020 2:b99449535e77 15 angle = x/angle;
rudolf5020 2:b99449535e77 16 angle = atan (angle);//arctan of angle
rudolf5020 2:b99449535e77 17 angle = angle *180/PI; //radians to degrees!
rudolf5020 2:b99449535e77 18 return angle;
rudolf5020 1:19c7e004b469 19 }
rudolf5020 0:045cab440776 20
rudolf5020 2:b99449535e77 21 int main(){//main program
rudolf5020 2:b99449535e77 22 while (1){
rudolf5020 2:b99449535e77 23 pc.printf(" X%f Y%f Z%f angle%.2f degrees\r", MMA.x(),
rudolf5020 2:b99449535e77 24 MMA.y(), MMA.z(), calculateAngle(MMA.x(), MMA.y(), MMA.z()));
rudolf5020 2:b99449535e77 25 wait(1);//wait 1 second
rudolf5020 2:b99449535e77 26 }
rudolf5020 2:b99449535e77 27 }