てすと
Dependencies: BOARDC_BNO055 mbed BOARDC_BME280
main.cpp@0:8c0d8dc9eeac, 2018-11-28 (annotated)
- Committer:
- Yamanobe
- Date:
- Wed Nov 28 05:04:30 2018 +0000
- Revision:
- 0:8c0d8dc9eeac
???1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Yamanobe | 0:8c0d8dc9eeac | 1 | #include "mbed.h" |
Yamanobe | 0:8c0d8dc9eeac | 2 | #include "BNO055.h" |
Yamanobe | 0:8c0d8dc9eeac | 3 | #include "BME280.h" |
Yamanobe | 0:8c0d8dc9eeac | 4 | |
Yamanobe | 0:8c0d8dc9eeac | 5 | DigitalOut m1_dir(p23); |
Yamanobe | 0:8c0d8dc9eeac | 6 | PwmOut m1_duty(p24); |
Yamanobe | 0:8c0d8dc9eeac | 7 | DigitalOut m2_dir(p21); |
Yamanobe | 0:8c0d8dc9eeac | 8 | PwmOut m2_duty(p22); |
Yamanobe | 0:8c0d8dc9eeac | 9 | |
Yamanobe | 0:8c0d8dc9eeac | 10 | DigitalOut led1(LED1); |
Yamanobe | 0:8c0d8dc9eeac | 11 | DigitalOut led2(LED2); |
Yamanobe | 0:8c0d8dc9eeac | 12 | |
Yamanobe | 0:8c0d8dc9eeac | 13 | Serial pc(USBTX, USBRX); |
Yamanobe | 0:8c0d8dc9eeac | 14 | I2C ifaceI2C(I2C_SDA, I2C_SCL); //センサー用のI2C |
Yamanobe | 0:8c0d8dc9eeac | 15 | BOARDC_BNO055 sensor1(&ifaceI2C);//センサーで使うI2Cの定義 |
Yamanobe | 0:8c0d8dc9eeac | 16 | |
Yamanobe | 0:8c0d8dc9eeac | 17 | float pitch, roll; |
Yamanobe | 0:8c0d8dc9eeac | 18 | int i = 1.0; |
Yamanobe | 0:8c0d8dc9eeac | 19 | int k = 0.0; |
Yamanobe | 0:8c0d8dc9eeac | 20 | float p; |
Yamanobe | 0:8c0d8dc9eeac | 21 | |
Yamanobe | 0:8c0d8dc9eeac | 22 | int main() |
Yamanobe | 0:8c0d8dc9eeac | 23 | { |
Yamanobe | 0:8c0d8dc9eeac | 24 | char co; |
Yamanobe | 0:8c0d8dc9eeac | 25 | ifaceI2C.frequency(200000); |
Yamanobe | 0:8c0d8dc9eeac | 26 | sensor1.initialize(false); |
Yamanobe | 0:8c0d8dc9eeac | 27 | short dataBox[12]; |
Yamanobe | 0:8c0d8dc9eeac | 28 | float scEUL; |
Yamanobe | 0:8c0d8dc9eeac | 29 | scEUL = sensor1.getEulerScale(); |
Yamanobe | 0:8c0d8dc9eeac | 30 | |
Yamanobe | 0:8c0d8dc9eeac | 31 | pc.printf("Chaek Driver.\n"); |
Yamanobe | 0:8c0d8dc9eeac | 32 | |
Yamanobe | 0:8c0d8dc9eeac | 33 | while(1) |
Yamanobe | 0:8c0d8dc9eeac | 34 | { |
Yamanobe | 0:8c0d8dc9eeac | 35 | wait(0.1); |
Yamanobe | 0:8c0d8dc9eeac | 36 | co=pc.getc(); |
Yamanobe | 0:8c0d8dc9eeac | 37 | pc.putc(co); |
Yamanobe | 0:8c0d8dc9eeac | 38 | sensor1.get9AxisAndEUL(dataBox); |
Yamanobe | 0:8c0d8dc9eeac | 39 | roll = (float)dataBox[10] * scEUL; |
Yamanobe | 0:8c0d8dc9eeac | 40 | pitch = (float)dataBox[11] * scEUL; |
Yamanobe | 0:8c0d8dc9eeac | 41 | |
Yamanobe | 0:8c0d8dc9eeac | 42 | m1_duty.write(p); |
Yamanobe | 0:8c0d8dc9eeac | 43 | m2_duty.write(p); |
Yamanobe | 0:8c0d8dc9eeac | 44 | |
Yamanobe | 0:8c0d8dc9eeac | 45 | switch(co) |
Yamanobe | 0:8c0d8dc9eeac | 46 | { |
Yamanobe | 0:8c0d8dc9eeac | 47 | case'w': |
Yamanobe | 0:8c0d8dc9eeac | 48 | m1_dir = i; |
Yamanobe | 0:8c0d8dc9eeac | 49 | m2_dir =1.0 - i ; |
Yamanobe | 0:8c0d8dc9eeac | 50 | p = 0.95; |
Yamanobe | 0:8c0d8dc9eeac | 51 | break; |
Yamanobe | 0:8c0d8dc9eeac | 52 | |
Yamanobe | 0:8c0d8dc9eeac | 53 | case'd': |
Yamanobe | 0:8c0d8dc9eeac | 54 | m1_dir = i; |
Yamanobe | 0:8c0d8dc9eeac | 55 | m2_dir = i; |
Yamanobe | 0:8c0d8dc9eeac | 56 | p = 0.95; |
Yamanobe | 0:8c0d8dc9eeac | 57 | break; |
Yamanobe | 0:8c0d8dc9eeac | 58 | |
Yamanobe | 0:8c0d8dc9eeac | 59 | case's': |
Yamanobe | 0:8c0d8dc9eeac | 60 | m1_dir = 1.0 - i; |
Yamanobe | 0:8c0d8dc9eeac | 61 | m2_dir = i; |
Yamanobe | 0:8c0d8dc9eeac | 62 | p = 0.95; |
Yamanobe | 0:8c0d8dc9eeac | 63 | break; |
Yamanobe | 0:8c0d8dc9eeac | 64 | |
Yamanobe | 0:8c0d8dc9eeac | 65 | case'a': |
Yamanobe | 0:8c0d8dc9eeac | 66 | m1_dir = 1.0 - i; |
Yamanobe | 0:8c0d8dc9eeac | 67 | m2_dir = 1.0 - i; |
Yamanobe | 0:8c0d8dc9eeac | 68 | p = 0.95; |
Yamanobe | 0:8c0d8dc9eeac | 69 | break; |
Yamanobe | 0:8c0d8dc9eeac | 70 | |
Yamanobe | 0:8c0d8dc9eeac | 71 | case'e': |
Yamanobe | 0:8c0d8dc9eeac | 72 | p = 0.0; |
Yamanobe | 0:8c0d8dc9eeac | 73 | break; |
Yamanobe | 0:8c0d8dc9eeac | 74 | |
Yamanobe | 0:8c0d8dc9eeac | 75 | case'c': |
Yamanobe | 0:8c0d8dc9eeac | 76 | pc.printf("%05.4f,%05.4f\n", pitch,roll); |
Yamanobe | 0:8c0d8dc9eeac | 77 | break; |
Yamanobe | 0:8c0d8dc9eeac | 78 | } |
Yamanobe | 0:8c0d8dc9eeac | 79 | } |
Yamanobe | 0:8c0d8dc9eeac | 80 | } |