Pi:Co Classic2 製作記(移行中)

2015年新人研修 マイクロマウス編(39)

こんにちは。

Pi:Co Classic2はプログラムの中の

spd_r=184;
spd_l=488;

によって(数字を固定している)右回りするようになっています。
よって、数字を逆にすると左回りになります。
でもどちらにも回れるようになるには変数化する必要があります。
本日はその関数化を行いました。

関数化を行う前にまず変数化します。

spd_r=184;
spd_l=488;

↑を↓に書き換えます。

spd_r=speedr;
spd_l=speedl;

次に

void int_cmt0(void)			//制御、加減速用割り込み
{
	float spd_r, spd_l;		//最終的な速度

の下に

int  speedr = 184;
int  speedl = 488; 

を書きます。
動作チェックをして動くことを確認!
次にロール化変数からGLOBAL変数に変更します。
glob_ver.hに

GLOBAL float speedr;
GLOBAL float speedl;

を書きます。
先ほど書いた

int  speedr = 184;
int  speedl = 488; 

のintをコメントアウト。
動くか確認後これを全てコメントアウト。
次にrun.cの

int obj_step;		//目標ステップ数

の下に

speedr = 184;
speedl = 488;

を書きます。
動くかチェックして、ここまでで関数化の準備が完了しました。

いよいよ関数化していきます。

void sura (void);

void sura (float R , float L);

に。

speedr=184;
speedl=488;

speedr=R;
speedl=L;

に書き換えます。

void surarome_check(void)

の中の

sura();

sura(184,488);
sura(488,184);

に書き換えます。
また、

void sura(void)

void sura (float R , float L)

に書き換えます。
右に90°曲がり、そのあとすぐ左90°曲がるように走るはずでした←
解決できず来週へ持ち越しです(T_T)

それでは本日のオフショットです。

IMG_0048_R

IMG_0049_R

IMG_0050_R

IMG_0051_R

IMG_0053_R

IMG_0054_R

IMG_0057_R

タイトルとURLをコピーしました