Lab4
Dependencies: mbed HeptaBattery
main.cpp@18:b7337953f90c, 2019-08-19 (annotated)
- Committer:
- HEPTA
- Date:
- Mon Aug 19 06:41:59 2019 +0000
- Revision:
- 18:b7337953f90c
- Parent:
- 16:52727cc1fb8a
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_official | 0:bdbd3d6fc5d5 | 1 | #include "mbed.h" |
HEPTA | 16:52727cc1fb8a | 2 | #include "HeptaBattery.h" |
HEPTA | 14:1becf2edba9c | 3 | I2C i2c(p28, p27); |
HEPTA | 14:1becf2edba9c | 4 | Serial pc(USBTX, USBRX); |
HEPTA | 18:b7337953f90c | 5 | HeptaBattery battery(p16,p26); |
HEPTA | 14:1becf2edba9c | 6 | const int addr_accel_gyro = 0xD0; |
HEPTA | 14:1becf2edba9c | 7 | char cmd[2]; |
HEPTA | 14:1becf2edba9c | 8 | short int xl,xh,yl,yh,zl,zh; |
HEPTA | 14:1becf2edba9c | 9 | int main() { |
HEPTA | 15:c9e7bc2c90b9 | 10 | i2c.frequency(100000); |
HEPTA | 14:1becf2edba9c | 11 | cmd[0]=0x6B; |
HEPTA | 14:1becf2edba9c | 12 | cmd[1]=0x00; |
HEPTA | 14:1becf2edba9c | 13 | i2c.write(addr_accel_gyro,cmd,2); |
HEPTA | 14:1becf2edba9c | 14 | cmd[0] = 0x37; |
HEPTA | 14:1becf2edba9c | 15 | cmd[1] = 0x02; |
HEPTA | 14:1becf2edba9c | 16 | i2c.write(addr_accel_gyro,cmd,2); |
HEPTA | 14:1becf2edba9c | 17 | i2c.stop(); |
HEPTA | 14:1becf2edba9c | 18 | while(1){ |
HEPTA | 14:1becf2edba9c | 19 | i2c.start(); |
HEPTA | 14:1becf2edba9c | 20 | i2c.write(addr_accel_gyro); |
HEPTA | 14:1becf2edba9c | 21 | i2c.write(0x3b);//read adress |
HEPTA | 14:1becf2edba9c | 22 | i2c.start(); |
HEPTA | 14:1becf2edba9c | 23 | i2c.write(addr_accel_gyro|0x01); |
HEPTA | 14:1becf2edba9c | 24 | xh = i2c.read(0); |
HEPTA | 14:1becf2edba9c | 25 | i2c.stop(); |
HEPTA | 14:1becf2edba9c | 26 | i2c.start(); |
HEPTA | 14:1becf2edba9c | 27 | i2c.write(addr_accel_gyro); |
HEPTA | 14:1becf2edba9c | 28 | i2c.write(0x3c); |
HEPTA | 14:1becf2edba9c | 29 | i2c.start(); |
HEPTA | 14:1becf2edba9c | 30 | i2c.write(addr_accel_gyro|0x01); |
HEPTA | 14:1becf2edba9c | 31 | xl = i2c.read(0); |
HEPTA | 14:1becf2edba9c | 32 | i2c.stop(); |
HEPTA | 14:1becf2edba9c | 33 | double acc_ax = short((xh<<8) | (xl)); |
HEPTA | 14:1becf2edba9c | 34 | double AX = (acc_ax)*2/32764*9.81; |
HEPTA | 14:1becf2edba9c | 35 | pc.printf("AX = %f\r\n",AX); |
HEPTA | 14:1becf2edba9c | 36 | wait(0.5); |
HEPTA | 14:1becf2edba9c | 37 | } |
umeume | 2:1c5cdb2c3e0f | 38 | } |