T Umezawa
/
light5
Checking 6-axis sensor of accelerometer(z-axis)
Revision 0:441039f94b75, committed 2020-12-29
- Comitter:
- umezawa
- Date:
- Tue Dec 29 05:29:52 2020 +0000
- Commit message:
- test
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Dec 29 05:29:52 2020 +0000 @@ -0,0 +1,35 @@ +#include "mbed.h" +Serial pc(USBTX, USBRX); +I2C i2c(PB_7,PB_6); +DigitalOut conv(A3); + +const int addr_accel_gyro = 0xD0; +char cmd[2]; +char data[1]; +char xh[1]; +char xl[1]; + +int main() +{ + conv = 1; + i2c.frequency(100000); + cmd[0]=0x6B; + cmd[1]=0x00; + i2c.write(addr_accel_gyro,cmd,2); + cmd[0] = 0x37; + cmd[1] = 0x02; + i2c.write(addr_accel_gyro,cmd,2); + while(1) { + data[0] = 0x3F; + i2c.write(addr_accel_gyro,data,1); + i2c.read(addr_accel_gyro|0x01,xh,1); + data[0] = 0x40; + i2c.write(addr_accel_gyro,data,1); + i2c.read(addr_accel_gyro|0x01,xl,1); + //pc.printf("xh = 0x%02X,xl = 0x%02X\r\n",xh[0],xl[0]); + double acc_ax = short((xh[0]<<8) | (xl[0])); + double AX = (acc_ax)*2/32764*9.81; + pc.printf("AZ = %f\r\n",AX); + wait(0.5); + } +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Tue Dec 29 05:29:52 2020 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400 \ No newline at end of file