mbedを用いた制御学生の制御 / Mbed 2 deprecated Tilt

Dependencies:   mbed

Committer:
WAT34
Date:
Thu Dec 18 15:43:21 2014 +0000
Revision:
0:8c7b1674d5eb
ADXL345 tilt;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
WAT34 0:8c7b1674d5eb 1 #include "mbed.h"
WAT34 0:8c7b1674d5eb 2 #include "math.h"
WAT34 0:8c7b1674d5eb 3 #define pi 3.1415
WAT34 0:8c7b1674d5eb 4 I2C sensor(p9,p10); //using ADXL345
WAT34 0:8c7b1674d5eb 5 Serial pc(USBTX,USBRX);
WAT34 0:8c7b1674d5eb 6 int main() {
WAT34 0:8c7b1674d5eb 7 int addr = 0x1D; //set device's address
WAT34 0:8c7b1674d5eb 8 int i;
WAT34 0:8c7b1674d5eb 9 double a[2],t;
WAT34 0:8c7b1674d5eb 10 short data[3];
WAT34 0:8c7b1674d5eb 11 char rd_val[6];
WAT34 0:8c7b1674d5eb 12 char start[2] = {0x2D,0x08};
WAT34 0:8c7b1674d5eb 13 char get_val[6] ={0x32};
WAT34 0:8c7b1674d5eb 14 sensor.write(addr<<1,start,2);
WAT34 0:8c7b1674d5eb 15 while(1) {
WAT34 0:8c7b1674d5eb 16 sensor.write(addr<<1,get_val,1);
WAT34 0:8c7b1674d5eb 17 sensor.read((addr<<1)+1,rd_val,6);
WAT34 0:8c7b1674d5eb 18 i = 0;
WAT34 0:8c7b1674d5eb 19 while(i<3){
WAT34 0:8c7b1674d5eb 20 data[i] =(rd_val[2*i+1]<<8)+rd_val[2*i];
WAT34 0:8c7b1674d5eb 21 i++;
WAT34 0:8c7b1674d5eb 22 }
WAT34 0:8c7b1674d5eb 23 i = 0;
WAT34 0:8c7b1674d5eb 24 while(i<3){
WAT34 0:8c7b1674d5eb 25 a[i] = data[i]*4.0/1024.0;
WAT34 0:8c7b1674d5eb 26 pc.printf("val%d--->%lfG\n\r",i,a[i]);
WAT34 0:8c7b1674d5eb 27
WAT34 0:8c7b1674d5eb 28 i++;
WAT34 0:8c7b1674d5eb 29 }
WAT34 0:8c7b1674d5eb 30 t = atan(a[0]/a[1]);
WAT34 0:8c7b1674d5eb 31 t = 180/pi*t;
WAT34 0:8c7b1674d5eb 32 pc.printf("t=%lf\n\r",t);
WAT34 0:8c7b1674d5eb 33 wait(1);
WAT34 0:8c7b1674d5eb 34
WAT34 0:8c7b1674d5eb 35 }
WAT34 0:8c7b1674d5eb 36
WAT34 0:8c7b1674d5eb 37 }