Lab4
Dependencies: mbed HeptaBattery
main.cpp@15:c9e7bc2c90b9, 2019-08-17 (annotated)
- Committer:
- HEPTA
- Date:
- Sat Aug 17 08:42:30 2019 +0000
- Revision:
- 15:c9e7bc2c90b9
- Parent:
- 14:1becf2edba9c
- Child:
- 16:52727cc1fb8a
Added sentence to make EN pin high
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_official | 0:bdbd3d6fc5d5 | 1 | #include "mbed.h" |
HEPTA | 14:1becf2edba9c | 2 | I2C i2c(p28, p27); |
HEPTA | 14:1becf2edba9c | 3 | Serial pc(USBTX, USBRX); |
HEPTA | 15:c9e7bc2c90b9 | 4 | DigitalOut EN(p26); |
HEPTA | 14:1becf2edba9c | 5 | const int addr_accel_gyro = 0xD0; |
HEPTA | 14:1becf2edba9c | 6 | char cmd[2]; |
HEPTA | 14:1becf2edba9c | 7 | short int xl,xh,yl,yh,zl,zh; |
HEPTA | 14:1becf2edba9c | 8 | int main() { |
HEPTA | 15:c9e7bc2c90b9 | 9 | EN = 1; // EN pin : high |
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 | } |