新部内対抗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:26:26 2016 +0000
Revision:
13:7335d90b551a
Parent:
12:2450012ce888
Child:
14:3403ce49a37a
add arm

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