Takushima Yukimasa
/
R19_ManuTakukAHWGeo
a
main.h@8:b79d21c8178b, 2019-08-27 (annotated)
- Committer:
- Tom0108
- Date:
- Tue Aug 27 08:54:15 2019 +0000
- Revision:
- 8:b79d21c8178b
- Parent:
- 6:040d001acb12
- Child:
- 10:7c73e1577742
The color changes according to the zone
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Tom0108 | 0:761a63c6d020 | 1 | /** |
Tom0108 | 0:761a63c6d020 | 2 | ****************************************************************************** |
Tom0108 | 0:761a63c6d020 | 3 | * @file main.h |
Tom0108 | 0:761a63c6d020 | 4 | * @author You |
Tom0108 | 0:761a63c6d020 | 5 | * @version V?.?.? |
Tom0108 | 0:761a63c6d020 | 6 | * @date Today |
Tom0108 | 0:761a63c6d020 | 7 | * @brief メインのヘッダファイル |
Tom0108 | 0:761a63c6d020 | 8 | ****************************************************************************** |
Tom0108 | 0:761a63c6d020 | 9 | */ |
Tom0108 | 0:761a63c6d020 | 10 | |
Tom0108 | 0:761a63c6d020 | 11 | /* ヘッダ再呼び出し防止のための定義 ------------------------------------------*/ |
Tom0108 | 0:761a63c6d020 | 12 | |
Tom0108 | 0:761a63c6d020 | 13 | #ifndef _MAIN_H_ |
Tom0108 | 0:761a63c6d020 | 14 | #define _MAIN_H_ |
Tom0108 | 0:761a63c6d020 | 15 | |
Tom0108 | 0:761a63c6d020 | 16 | /* ファイル追加 --------------------------------------------------------------*/ |
Tom0108 | 0:761a63c6d020 | 17 | #include "YKNCT.h" |
Tom0108 | 0:761a63c6d020 | 18 | #include "mbed.h" |
Tom0108 | 6:040d001acb12 | 19 | #include "gyro.h" |
Tom0108 | 6:040d001acb12 | 20 | #include "YKNCT_I2C.h" |
Tom0108 | 6:040d001acb12 | 21 | #include <math.h> |
Tom0108 | 0:761a63c6d020 | 22 | |
Tom0108 | 0:761a63c6d020 | 23 | /* 定数定義 ------------------------------------------------------------------*/ |
Tom0108 | 6:040d001acb12 | 24 | #define CIRCLE sbdbt.CIRCLE |
Tom0108 | 6:040d001acb12 | 25 | #define SQUARE sbdbt.SQUARE |
Tom0108 | 6:040d001acb12 | 26 | #define CROSS sbdbt.CROSS |
Tom0108 | 6:040d001acb12 | 27 | #define TRIANGLE sbdbt.TRIANGLE |
Tom0108 | 6:040d001acb12 | 28 | #define LEFTkey sbdbt.LEFTkey |
Tom0108 | 6:040d001acb12 | 29 | #define RIGHTkey sbdbt.RIGHTkey |
Tom0108 | 6:040d001acb12 | 30 | #define UPkey sbdbt.UPkey |
Tom0108 | 6:040d001acb12 | 31 | #define DOWNkey sbdbt.DOWNkey |
Tom0108 | 0:761a63c6d020 | 32 | |
Tom0108 | 0:761a63c6d020 | 33 | /* マクロ定義 ----------------------------------------------------------------*/ |
Tom0108 | 8:b79d21c8178b | 34 | //#define PALETTE(color)\ |
Tom0108 | 8:b79d21c8178b | 35 | //for(int s=0; s<3; s++) LED[s]=color&1<<s |
Tom0108 | 6:040d001acb12 | 36 | #define PALETTE(color)\ |
Tom0108 | 8:b79d21c8178b | 37 | for(int s=0; s<3; s++)\ |
Tom0108 | 8:b79d21c8178b | 38 | i2c.Out_Set(Out_Data, s+5, color&1<<s);\ |
Tom0108 | 8:b79d21c8178b | 39 | i2c.Out(Out_Data,8) |
Tom0108 | 0:761a63c6d020 | 40 | |
Tom0108 | 0:761a63c6d020 | 41 | /* 型定義 --------------------------------------------------------------------*/ |
Tom0108 | 0:761a63c6d020 | 42 | typedef enum |
Tom0108 | 0:761a63c6d020 | 43 | { |
Tom0108 | 0:761a63c6d020 | 44 | test_motor, |
Tom0108 | 0:761a63c6d020 | 45 | test_motor2, |
Tom0108 | 0:761a63c6d020 | 46 | test_motor3, |
Tom0108 | 0:761a63c6d020 | 47 | test_motor4, |
Tom0108 | 0:761a63c6d020 | 48 | test_motor5, |
Tom0108 | 0:761a63c6d020 | 49 | test_motor6, |
Tom0108 | 0:761a63c6d020 | 50 | test_motor7, |
Tom0108 | 0:761a63c6d020 | 51 | test_motor8, |
Tom0108 | 0:761a63c6d020 | 52 | Motor_MAX |
Tom0108 | 0:761a63c6d020 | 53 | } _Motor_; |
Tom0108 | 0:761a63c6d020 | 54 | |
Tom0108 | 0:761a63c6d020 | 55 | |
Tom0108 | 0:761a63c6d020 | 56 | typedef enum{ |
Tom0108 | 0:761a63c6d020 | 57 | limit, |
Tom0108 | 0:761a63c6d020 | 58 | limit1, |
Tom0108 | 0:761a63c6d020 | 59 | limit2, |
Tom0108 | 0:761a63c6d020 | 60 | limit3, |
Tom0108 | 0:761a63c6d020 | 61 | limit4, |
Tom0108 | 0:761a63c6d020 | 62 | limit5, |
Tom0108 | 0:761a63c6d020 | 63 | limit6, |
Tom0108 | 0:761a63c6d020 | 64 | limit7, |
Tom0108 | 0:761a63c6d020 | 65 | IN_MAX |
Tom0108 | 0:761a63c6d020 | 66 | }_limit_; |
Tom0108 | 0:761a63c6d020 | 67 | typedef enum{ |
Tom0108 | 0:761a63c6d020 | 68 | out1, |
Tom0108 | 0:761a63c6d020 | 69 | out2, |
Tom0108 | 0:761a63c6d020 | 70 | out3, |
Tom0108 | 0:761a63c6d020 | 71 | out4, |
Tom0108 | 0:761a63c6d020 | 72 | ExTowel, |
Tom0108 | 0:761a63c6d020 | 73 | OUT_MAX |
Tom0108 | 0:761a63c6d020 | 74 | }_OUT_; |
Tom0108 | 6:040d001acb12 | 75 | |
Tom0108 | 6:040d001acb12 | 76 | typedef enum { |
Tom0108 | 6:040d001acb12 | 77 | BLACK, |
Tom0108 | 8:b79d21c8178b | 78 | GREEN, |
Tom0108 | 8:b79d21c8178b | 79 | RED, |
Tom0108 | 8:b79d21c8178b | 80 | YELLOW, |
Tom0108 | 6:040d001acb12 | 81 | BLUE, |
Tom0108 | 6:040d001acb12 | 82 | CYAN, |
Tom0108 | 6:040d001acb12 | 83 | MAGENTA, |
Tom0108 | 6:040d001acb12 | 84 | WHITE, |
Tom0108 | 6:040d001acb12 | 85 | |
Tom0108 | 6:040d001acb12 | 86 | COLOR_MAX |
Tom0108 | 6:040d001acb12 | 87 | |
Tom0108 | 6:040d001acb12 | 88 | } _COLOR_; |
Tom0108 | 6:040d001acb12 | 89 | |
Tom0108 | 6:040d001acb12 | 90 | MD_I2C_Data_TypeDef MD_Data[Motor_MAX] = { |
Tom0108 | 6:040d001acb12 | 91 | { 8, 0, 0, 0, {0}}, //足回り |
Tom0108 | 6:040d001acb12 | 92 | { 9, 1, 0, 0, {0}}, |
Tom0108 | 6:040d001acb12 | 93 | {10, 0, 0, 0, {0}}, |
Tom0108 | 6:040d001acb12 | 94 | {11, 1, 0, 0, {0}}, |
Tom0108 | 6:040d001acb12 | 95 | {12, 0, 0, 0, {0}}, // 洗濯物回収 |
Tom0108 | 6:040d001acb12 | 96 | {13, 1, 0, 0, {0}}, // 上下機構 |
Tom0108 | 6:040d001acb12 | 97 | {14, 0, 0, 0, {0}}, // 洗濯物排出 |
Tom0108 | 6:040d001acb12 | 98 | {15, 1, 0, 0, {0}} // 左右移動 |
Tom0108 | 6:040d001acb12 | 99 | }; |
Tom0108 | 6:040d001acb12 | 100 | |
Tom0108 | 6:040d001acb12 | 101 | IN_I2C_Data_TypeDef In_Data[] = { |
Tom0108 | 6:040d001acb12 | 102 | {1,0,0}, // 洗濯物排出(初期位置) |
Tom0108 | 6:040d001acb12 | 103 | {1,1,0}, // 洗濯物排出(停止) |
Tom0108 | 6:040d001acb12 | 104 | {1,2,0}, // 腕(最大 タオル) |
Tom0108 | 6:040d001acb12 | 105 | {1,3,0}, // 腕(初期位置) |
Tom0108 | 6:040d001acb12 | 106 | {3,0,0}, // 上下機構(上) |
Tom0108 | 6:040d001acb12 | 107 | {3,1,0}, // (下) |
Tom0108 | 6:040d001acb12 | 108 | {3,2,0}, // 腕(シーツ兼シャツ) |
Tom0108 | 6:040d001acb12 | 109 | }; |
Tom0108 | 6:040d001acb12 | 110 | |
Tom0108 | 6:040d001acb12 | 111 | OUT_I2C_Data_TypeDef Out_Data[] = { |
Tom0108 | 6:040d001acb12 | 112 | {0,0,0}, // 腕の上下 |
Tom0108 | 6:040d001acb12 | 113 | {0,1,0}, // 爪 |
Tom0108 | 6:040d001acb12 | 114 | {0,2,0}, // タオルの先 |
Tom0108 | 6:040d001acb12 | 115 | {0,3,0}, // タオル展開 |
Tom0108 | 6:040d001acb12 | 116 | {1,0,0}, // タオルの中央 |
Tom0108 | 8:b79d21c8178b | 117 | {1,1,0}, // 赤 |
Tom0108 | 8:b79d21c8178b | 118 | {1,2,0}, // 青 |
Tom0108 | 8:b79d21c8178b | 119 | {1,3,0}, // 緑 |
Tom0108 | 6:040d001acb12 | 120 | }; |
Tom0108 | 0:761a63c6d020 | 121 | /* 変数宣言 ------------------------------------------------------------------*/ |
Tom0108 | 0:761a63c6d020 | 122 | |
Tom0108 | 6:040d001acb12 | 123 | /* 関数宣言 ------------------------------------------------------------------*/ |
Tom0108 | 6:040d001acb12 | 124 | //メカナム基本動作 |
Tom0108 | 6:040d001acb12 | 125 | void mecanum_Move(int lx, int ly, int rx); |
Tom0108 | 0:761a63c6d020 | 126 | |
Tom0108 | 6:040d001acb12 | 127 | //角度補正 |
Tom0108 | 6:040d001acb12 | 128 | //n_angle: 現在の角度 |
Tom0108 | 6:040d001acb12 | 129 | //t_angle: 目標の角度 |
Tom0108 | 6:040d001acb12 | 130 | void AngleCorrection(double n_angle, double t_angle); |
Tom0108 | 0:761a63c6d020 | 131 | |
Tom0108 | 6:040d001acb12 | 132 | /*クラス宣言-------------------------------------------------------------------*/ |
Tom0108 | 6:040d001acb12 | 133 | Y_I2C i2c(PB_9, PB_8); // I2C |
Tom0108 | 6:040d001acb12 | 134 | SBDBT sbdbt(PA_0, PA_1, 9600); // SDBDT |
Tom0108 | 6:040d001acb12 | 135 | MyMPU6050 mpu(PC_9, PA_8); // ジャイロセンサ |
Tom0108 | 6:040d001acb12 | 136 | DigitalOut LED[]= {PA_10,PB_4,PB_5}; |
Tom0108 | 0:761a63c6d020 | 137 | |
Tom0108 | 6:040d001acb12 | 138 | //半自動の時に使う |
Tom0108 | 6:040d001acb12 | 139 | Timer tim; |
Tom0108 | 0:761a63c6d020 | 140 | |
Tom0108 | 6:040d001acb12 | 141 | //角度補正の時に使う |
Tom0108 | 6:040d001acb12 | 142 | Timer drift_tim; |
Tom0108 | 0:761a63c6d020 | 143 | |
Tom0108 | 0:761a63c6d020 | 144 | #endif /* _MAIN_H_ */ |
Tom0108 | 0:761a63c6d020 | 145 | |
Tom0108 | 0:761a63c6d020 | 146 | /******************************** END OF FILE *********************************/ |