メインプログラム最新版です
Dependencies: mbed SBDBT arrc_mbed
main.cpp
- Committer:
- guesta
- Date:
- 2022-03-11
- Revision:
- 8:e76d6c16d7af
- Parent:
- 7:59be95fceafa
- Child:
- 10:4fe47396eb5a
File content as of revision 8:e76d6c16d7af:
#include "mbed.h" #include "scrp_slave.hpp" #include "sbdbt.hpp" #include "mp3.hpp" int main(){ //---------------初期設定--------------- //scrp_slave ScrpSlave scrp(PC_12,PD_2,PH_1,0x0807f800); //sbdbt sbdbt sb(PA_0,PA_1); //scrp_slaveのid設定 const int wheel_num = 1; const int BeanbagGet_num = 2; const int BeanbagShot_num = 3; const int TakoGetPut_num = 4; const int remort_stop_num = 5; const int send_all = 255; //コマンド番号設定 //足回り用 const int x_component_cmd = 1; const int y_component_cmd = 2; const int l2_cmd = 3; const int r2_cmd = 4; const int l1_cmd = 5; //ビーンバッグ回収用 const int move = 1; //ビーンバッグ発射用 const int shot = 2; //農作物回収・設置用 const int up = 1; const int down = 2; const int limit1 = 3; const int limit2 = 4; //テープLED用 //遠隔非常停止受信用 //全体送信用 const int select = 50;//手動・自動切り替え const int stop_all = 51;//全プログラム停止 //変数 bool auto_mode = false; bool auto_start; int x_component; int y_component; int l2_num; int r2_num; //mp3 Playmp3 voice(PA_9,PA_10); int volume = 200;//音量 int track; voice.set_volume(200); voice.quiet_mode(false); DigitalIn sw1(PB_4); DigitalIn sw2(PB_5); sw1.mode(PullUp); sw2.mode(PullUp); //count int count_up; int count_down; int count_shot; int count_auto; //------------------------------------- while(true){ printf("%d\n",sw1.read()); sb.button_state(); x_component = sb.rsx(); y_component = sb.rsy(); l2_num = sb.l2An(); r2_num = sb.r2An(); if(sb.select() == 1){ count_auto++; if(count_auto == 1){ auto_mode =! auto_mode; } }else{ count_auto = 0; } //足回り scrp.send1(wheel_num,x_component_cmd,x_component); wait_ms(2); scrp.send1(wheel_num,y_component_cmd,y_component); wait_ms(2); scrp.send1(wheel_num,l2_cmd,l2_num); wait_ms(2); scrp.send1(wheel_num,r2_cmd,r2_num); wait_ms(2); scrp.send1(wheel_num,l1_cmd,sb.l1()); wait_ms(2); //ビーンバッグ回収 scrp.send1(BeanbagGet_num,move,sb.square()); wait_ms(2); //ビーンバッグ発射 if(auto_mode == true){ scrp.send1(BeanbagShot_num,shot,sb.square()); wait_ms(2); if(sb.square() == 1){ count_shot++; if(count_shot == 1){ voice.set_number_of_tracks(5); } }else{ count_shot = 0; } } //農作物回収・設置 if(sb.up() == 1){ count_up++; if(count_up == 1){ voice.set_number_of_tracks(1); } }else{ count_up = 0; } if(sb.down() == 1){ count_down++; if(count_down == 1){ voice.set_number_of_tracks(2); } }else{ count_down = 0; } scrp.send1(TakoGetPut_num,up,sb.up()); wait_ms(2); scrp.send1(TakoGetPut_num,down,sb.down()); wait_ms(2); if(sw1.read() == 0){ scrp.send1(TakoGetPut_num,limit1,1); }else{ scrp.send1(TakoGetPut_num,limit1,0); } wait_ms(2); if(sw2.read() == 0){ scrp.send1(TakoGetPut_num,limit2,1); }else{ scrp.send1(TakoGetPut_num,limit2,0); } wait_ms(2); //全体送信 scrp.send1(send_all,select,auto_mode);//自動・手動モード切り替え wait_ms(2); } }