Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Fork of circle_war_ver_A_NUCLEO_ by
pinMode.h@14:3403ce49a37a, 2016-04-05 (annotated)
- Committer:
- baba2357
- Date:
- Tue Apr 05 17:25:09 2016 +0000
- Revision:
- 14:3403ce49a37a
- Parent:
- 12:2450012ce888
??????;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
baba2357 | 14:3403ce49a37a | 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); |
baba2357 | 14:3403ce49a37a | 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 |