![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Measurement of slope of accelerometer
Dependencies: mbed C12832 MMA7660
main.cpp
- Committer:
- Dariusz_Piskorowski
- Date:
- 2019-08-11
- Revision:
- 0:a52d467589e0
File content as of revision 0:a52d467589e0:
#include "mbed.h" #include "C12832.h" #include "MMA7660.h" #define PI 3.14159265 C12832 lcd(p5, p7, p6, p8, p11); // setting up lcd MMA7660 MMA(p28, p27); //setting up MMA float mean; float calculateAngle(float x, float y, float z){ //calculate angle float angle=0; angle=pow(y,2) + pow(z,2); angle=sqrt(angle); angle=x/angle; angle=atan(angle); angle=angle* 180/PI; for(int i=0; i<100; i++){ //loop for counting angle 100 times mean =+ angle; //add next value of angle to mean wait(0.001); //wait a little for different value } angle=mean/100; //angle as mean return angle; } int main() { while(1) { lcd.cls(); lcd.locate(0,4); //print on lcd values of X,Y,Z and calculated angle lcd.printf("X= %f Y= %f Z= %f Angle= %.1f ", MMA.x(),MMA.y(),MMA.z(), calculateAngle(MMA.x(),MMA.y(),MMA.z())); wait(1); // frequency of displayed data on lcd screen = delay time } }