新部内対抗A班 / Mbed 2 deprecated circle_war_ver_A_NUCLEO__

Dependencies:   mbed

Fork of circle_war_ver_A_NUCLEO_ by 新部内対抗A班

Committer:
naoakiarimoto
Date:
Mon Apr 04 09:25:57 2016 +0000
Revision:
12:2450012ce888
Child:
14:3403ce49a37a
add pin

Who changed what in which revision?

UserRevisionLine numberNew contents of line
naoakiarimoto 12:2450012ce888 1
naoakiarimoto 12:2450012ce888 2 // pin番号・変数を定義
naoakiarimoto 12:2450012ce888 3 // pid関数のプロトタイプ宣言
naoakiarimoto 12:2450012ce888 4
naoakiarimoto 12:2450012ce888 5 //encoder
naoakiarimoto 12:2450012ce888 6 InterruptIn a(PA_13);
naoakiarimoto 12:2450012ce888 7 InterruptIn b(PA_14);
naoakiarimoto 12:2450012ce888 8 InterruptIn a2(PC_10);
naoakiarimoto 12:2450012ce888 9 InterruptIn b2(PC_12);
naoakiarimoto 12:2450012ce888 10 //arm_motor
naoakiarimoto 12:2450012ce888 11 PwmOut bole_f(PB_6);
naoakiarimoto 12:2450012ce888 12 PwmOut bole_b(PC_9);
naoakiarimoto 12:2450012ce888 13 PwmOut bloss_f(PB_5);
naoakiarimoto 12:2450012ce888 14 PwmOut bloss_b(PA_10);
naoakiarimoto 12:2450012ce888 15 //hand_motor
naoakiarimoto 12:2450012ce888 16 PwmOut catch1_f(PC_7);
naoakiarimoto 12:2450012ce888 17 PwmOut catch1_b(PB_3);
naoakiarimoto 12:2450012ce888 18 PwmOut catch2_f(PB_10);
naoakiarimoto 12:2450012ce888 19 PwmOut catch2_b(PB_4);
naoakiarimoto 12:2450012ce888 20
naoakiarimoto 12:2450012ce888 21 //hand_valve
naoakiarimoto 12:2450012ce888 22 DigitalOut valve1(PC_4);
naoakiarimoto 12:2450012ce888 23 //hand_touch-sensor
naoakiarimoto 12:2450012ce888 24 DigitalIn sw1(PA_11);
naoakiarimoto 12:2450012ce888 25 DigitalIn sw2(PC_2);
naoakiarimoto 12:2450012ce888 26 //bole_find-sensor
naoakiarimoto 12:2450012ce888 27 AnalogIn IR_r(PC_0);
naoakiarimoto 12:2450012ce888 28 AnalogIn IR_l(PC_3);
naoakiarimoto 12:2450012ce888 29 DigitalInOut uw(PB_0);
naoakiarimoto 12:2450012ce888 30
naoakiarimoto 12:2450012ce888 31
naoakiarimoto 12:2450012ce888 32 Serial pc(USBTX, USBRX);
naoakiarimoto 12:2450012ce888 33
naoakiarimoto 12:2450012ce888 34
naoakiarimoto 12:2450012ce888 35 //variable
naoakiarimoto 12:2450012ce888 36 long int count=0,count2=0,pa,pb,pa2,pb2;
naoakiarimoto 12:2450012ce888 37
naoakiarimoto 12:2450012ce888 38 bool c0=0,c1=0,c2=0,c3=0;
naoakiarimoto 12:2450012ce888 39
naoakiarimoto 12:2450012ce888 40 double radius=14.4; //回転半径[mm]
naoakiarimoto 12:2450012ce888 41 double gear1=16.0/36.0;//boleギア比
naoakiarimoto 12:2450012ce888 42 double gear2=20.0/36.0;//blossギア比
naoakiarimoto 12:2450012ce888 43
naoakiarimoto 12:2450012ce888 44 float dist_n=0.0f; //現在の距離[mm]
naoakiarimoto 12:2450012ce888 45 float dist_p=0.0f; //過去の距離[mm]
naoakiarimoto 12:2450012ce888 46
naoakiarimoto 12:2450012ce888 47 float devi=0.0f; //目標との差
naoakiarimoto 12:2450012ce888 48 float diff=0.0f; //微分値
naoakiarimoto 12:2450012ce888 49 float inte=0.0f; //積算量
naoakiarimoto 12:2450012ce888 50 float dt=0.0f; //割り込み時間
naoakiarimoto 12:2450012ce888 51 float pwm=0.0f; //操作量
naoakiarimoto 12:2450012ce888 52 int ratio=1000.0f; //出力値調整
naoakiarimoto 12:2450012ce888 53
naoakiarimoto 12:2450012ce888 54 int n=0; //幹検知回数カウント
naoakiarimoto 12:2450012ce888 55 int target=0; //目標値:高さ[mm](確認/調整用)
naoakiarimoto 12:2450012ce888 56
naoakiarimoto 12:2450012ce888 57 double dist; //幹との距離[mm]
naoakiarimoto 12:2450012ce888 58 bool UW; //超音波の判断
naoakiarimoto 12:2450012ce888 59
naoakiarimoto 12:2450012ce888 60 int r,l; //幹の有無検知
naoakiarimoto 12:2450012ce888 61 bool IR; //赤外線の判断
naoakiarimoto 12:2450012ce888 62
naoakiarimoto 12:2450012ce888 63
naoakiarimoto 12:2450012ce888 64 bool sw_state=0;//タッチセンサの判断
naoakiarimoto 12:2450012ce888 65 bool sw1_n=0; //現在のタッチセンサ1の状態
naoakiarimoto 12:2450012ce888 66 bool sw1_p=0; //過去のタッチセンサ1の状態
naoakiarimoto 12:2450012ce888 67 bool sw2_n=0; //現在のタッチセンサ2の状態
naoakiarimoto 12:2450012ce888 68 bool sw2_p=0; //過去のタッチセンサ2の状態
naoakiarimoto 12:2450012ce888 69
naoakiarimoto 12:2450012ce888 70
naoakiarimoto 12:2450012ce888 71 //Timer-setup
naoakiarimoto 12:2450012ce888 72 Timer meas_pulse;
naoakiarimoto 12:2450012ce888 73 Timer count_time;
naoakiarimoto 12:2450012ce888 74 //Ticker-setup
naoakiarimoto 12:2450012ce888 75 Ticker bole_checker;
naoakiarimoto 12:2450012ce888 76 Ticker sw_check;
naoakiarimoto 12:2450012ce888 77
naoakiarimoto 12:2450012ce888 78
naoakiarimoto 12:2450012ce888 79
naoakiarimoto 12:2450012ce888 80 //pid-prototype
naoakiarimoto 12:2450012ce888 81 void pid(float t,int count,double rate,bool c = 0);
naoakiarimoto 12:2450012ce888 82