Lab4

Dependencies:   mbed HeptaBattery

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?

UserRevisionLine numberNew 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 }