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

Dependencies:   mbed

Fork of circle_war_ver_A_NUCLEO_ by 新部内対抗A班

Committer:
baba2357
Date:
Tue Apr 05 17:25:09 2016 +0000
Revision:
14:3403ce49a37a
Parent:
13:7335d90b551a
??????;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
naoakiarimoto 12:2450012ce888 1 // 関数はヘッダファイル内にまとめる
naoakiarimoto 12:2450012ce888 2 // IRはGP2Y0E02Aを使用する
naoakiarimoto 12:2450012ce888 3 // (pc5.pc6.pa8.pa9)以外のpinを使う
naoakiarimoto 12:2450012ce888 4
naoakiarimoto 12:2450012ce888 5 #include "mbed.h"
baba2357 14:3403ce49a37a 6 //赤外線・超音波
baba2357 14:3403ce49a37a 7 AnalogIn IR_r(PA_1);
baba2357 14:3403ce49a37a 8 AnalogIn IR_l(PB_1);
baba2357 14:3403ce49a37a 9 DigitalInOut uw(PC_4);
naoakiarimoto 12:2450012ce888 10 #define PI 3.14159265f //円周率
naoakiarimoto 12:2450012ce888 11
naoakiarimoto 12:2450012ce888 12 //bole target
naoakiarimoto 12:2450012ce888 13 #define TARGET1 150.0f //2段目の位置
naoakiarimoto 12:2450012ce888 14 #define TARGET2 0.0f //1段目の位置
naoakiarimoto 12:2450012ce888 15 #define TARGET3 30.0f //移動時の位置
naoakiarimoto 12:2450012ce888 16
naoakiarimoto 12:2450012ce888 17 //blossom target
naoakiarimoto 12:2450012ce888 18 #define TARGET4 470.0f //桜の位置
naoakiarimoto 12:2450012ce888 19
naoakiarimoto 12:2450012ce888 20 //hand power
naoakiarimoto 12:2450012ce888 21 #define CLOSE 0.5 //回収pwm値
naoakiarimoto 12:2450012ce888 22 #define OPEN 0.3 //解放pwm値
naoakiarimoto 12:2450012ce888 23
naoakiarimoto 12:2450012ce888 24 //target-range
naoakiarimoto 12:2450012ce888 25 #define LIMITR 410 //右赤外線の判断距離[mm]
naoakiarimoto 12:2450012ce888 26 #define LIMITL 410 //左赤外線の判断距離[mm]
naoakiarimoto 12:2450012ce888 27 #define UWMAX 400 //超音波の許容最大値[mm]
naoakiarimoto 12:2450012ce888 28 #define UWMIN 375 //超音波の許容最小値[mm]
naoakiarimoto 12:2450012ce888 29
naoakiarimoto 12:2450012ce888 30 //arm limit
naoakiarimoto 12:2450012ce888 31 #define HMAX 10 //昇降完了判断上限[mm]
naoakiarimoto 12:2450012ce888 32 #define HMIN -10 //昇降完了判断下限[mm]
naoakiarimoto 12:2450012ce888 33 #define PUT 5 //幹を離す高さ[mm]
naoakiarimoto 12:2450012ce888 34
naoakiarimoto 12:2450012ce888 35 //pwm-MAX
naoakiarimoto 12:2450012ce888 36 #define MAX 0.8f //出力の上限
naoakiarimoto 12:2450012ce888 37
naoakiarimoto 12:2450012ce888 38
naoakiarimoto 12:2450012ce888 39 //pid-coefficient
naoakiarimoto 12:2450012ce888 40 //arm
naoakiarimoto 12:2450012ce888 41 float Kp_a=4.3f;
naoakiarimoto 12:2450012ce888 42 float Kd_a=0.0f;
naoakiarimoto 12:2450012ce888 43 float Ki_a=1.1f;
naoakiarimoto 12:2450012ce888 44
naoakiarimoto 12:2450012ce888 45
naoakiarimoto 12:2450012ce888 46
naoakiarimoto 12:2450012ce888 47
naoakiarimoto 12:2450012ce888 48 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
naoakiarimoto 12:2450012ce888 49 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
naoakiarimoto 12:2450012ce888 50
naoakiarimoto 12:2450012ce888 51 int arm=0; //昇降完了判断カウント
naoakiarimoto 12:2450012ce888 52 /* arm=1->1段目完了
naoakiarimoto 12:2450012ce888 53 arm=2->2段目完了
naoakiarimoto 12:2450012ce888 54 arm=3->3段目完了、幹完成
naoakiarimoto 12:2450012ce888 55 arm=4->雑木林に接地完了
naoakiarimoto 12:2450012ce888 56 arm=5->桜取得完了 */
naoakiarimoto 12:2450012ce888 57
naoakiarimoto 12:2450012ce888 58 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
naoakiarimoto 12:2450012ce888 59 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
naoakiarimoto 12:2450012ce888 60
naoakiarimoto 12:2450012ce888 61 #include "pinMode.h" //使用するピンの宣言及び変数の定義
naoakiarimoto 12:2450012ce888 62 #include "decision.h" //幹・桜を感知する関数の定義(タイマー割り込み使用)
naoakiarimoto 12:2450012ce888 63 #include "function.h" //pid,valve,interrupt,setup関数を定義
naoakiarimoto 12:2450012ce888 64 #include "step.h" //各作業段階の動作を定義
naoakiarimoto 12:2450012ce888 65 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
naoakiarimoto 12:2450012ce888 66 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
naoakiarimoto 12:2450012ce888 67
naoakiarimoto 12:2450012ce888 68
baba2357 14:3403ce49a37a 69 /*
naoakiarimoto 12:2450012ce888 70 int main(){
naoakiarimoto 12:2450012ce888 71 setup();
naoakiarimoto 12:2450012ce888 72
naoakiarimoto 12:2450012ce888 73 //set-Ticker
naoakiarimoto 12:2450012ce888 74 bole_checker.attach(bole_check,0.2);
naoakiarimoto 12:2450012ce888 75
naoakiarimoto 12:2450012ce888 76 while(1){
naoakiarimoto 12:2450012ce888 77
naoakiarimoto 12:2450012ce888 78 //測距関係により検知
naoakiarimoto 12:2450012ce888 79 if(UW*IR){ //幹検知
naoakiarimoto 12:2450012ce888 80 n++;
naoakiarimoto 12:2450012ce888 81 bole_checker.detach();
naoakiarimoto 12:2450012ce888 82 }
naoakiarimoto 12:2450012ce888 83
naoakiarimoto 12:2450012ce888 84 if(n==1){
naoakiarimoto 12:2450012ce888 85 expand_gf();
naoakiarimoto 12:2450012ce888 86 }else if(n==2){
naoakiarimoto 12:2450012ce888 87 expand_ff();
naoakiarimoto 12:2450012ce888 88 }else if(n>2){
naoakiarimoto 12:2450012ce888 89 expand_sf();
naoakiarimoto 12:2450012ce888 90 }
baba2357 14:3403ce49a37a 91
naoakiarimoto 12:2450012ce888 92 //自己位置による条件
naoakiarimoto 12:2450012ce888 93 if(){//雑木林
naoakiarimoto 12:2450012ce888 94 set_bole();
naoakiarimoto 12:2450012ce888 95 }
naoakiarimoto 12:2450012ce888 96
naoakiarimoto 12:2450012ce888 97 if(){//花見場
naoakiarimoto 12:2450012ce888 98 set_bole();
naoakiarimoto 12:2450012ce888 99 }
naoakiarimoto 12:2450012ce888 100
naoakiarimoto 12:2450012ce888 101 if(){//桜
naoakiarimoto 12:2450012ce888 102 blossom();
naoakiarimoto 12:2450012ce888 103 }
baba2357 14:3403ce49a37a 104
naoakiarimoto 12:2450012ce888 105
naoakiarimoto 12:2450012ce888 106 pc.printf("|%d|\t%d\t%f\t%f\t%f\n\r",target,count,dist_n,devi,pwm);
naoakiarimoto 12:2450012ce888 107 wait(0.1);
naoakiarimoto 12:2450012ce888 108 }
naoakiarimoto 12:2450012ce888 109
naoakiarimoto 12:2450012ce888 110 }
baba2357 14:3403ce49a37a 111 */