2005/B4/課題4左
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2005/B4]]
#contents
* 課題4(光の方について行くプログラム(試作)) [#fd669b4a]
//課題4(光の方について行くプログラム(試作))
//
//
#define THRESHOLD 40
task main(){
int max_right,time_max;
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
while(true){
if(SENSOR_1>THRESHOLD&&SENSOR_3<THRESHOLD){
OnFwd(OUT_C);
}
if(SENSOR_1<THRESHOLD&&SENSOR_3>THRESHOLD){
OnFwd(OUT_A);
}
if(SENSOR_1<THRESHOLD&&SENSOR_3<THRESHOLD){
OnFwd(OUT_A);
}
if(SENSOR_1>THRESHOLD&&SENSOR_3<THRESHOLD){
OnFwd(OUT_A+OUT_C);
}
}
-普通の所より明るいを見つけて進むプログラム
-とりあえず失敗しましたがここから改良です。
-ぶっちゃけタッチセンサーの光バージョン。
-(このプログラムはWaitがないので動かなかった模様、原因が分かったので
-一応記述します。)
* 課題4(光の方について行くプログラム(改良)) [#d7f264a8]
//right_trace
// 作成者 やらー&すなお&satoshi
//
#define THRESHOLD 40
task main(){
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
while(true){
if(SENSOR_1>THRESHOLD&&SENSOR_3<THRESHOLD){//左のセンサーのみ感知
OnFwd(OUT_C);//左回転
OnRev(OUT_A);
Wait(10);
}
if(SENSOR_1<THRESHOLD&&SENSOR_3>THRESHOLD){//右のセンサーのみ感知
OnFwd(OUT_A);//右回転
OnRev(OUT_C);
Wait(10);
}
if(SENSOR_1<THRESHOLD&&SENSOR_3<THRESHOLD){//両方感知してなかったら
while(SENSOR_1<THRESHOLD||SENSOR_3<THRESHOLD){//どちらかが反応するまで
OnFwd(OUT_C);//左回転
OnRev(OUT_A);
Wait(10);
until(SENSOR_1>THRESHOLD||SENSOR_3>THRESHOLD);//もしかしたらいらないかも…
}
}
if(SENSOR_1>THRESHOLD&&SENSOR_3>THRESHOLD){//両方感知していたら
OnFwd(OUT_A+OUT_C);//前進
}
}
}
#ref(2005/B4/課題4左/060110_2328~02.jpg,ライトトレース1)
#ref(2005/B4/課題4左/060110_2328~01.jpg,ライトトレース2)
-改良前のとちがうのはWaitをいれて刻んでる所です。
-センサーが反応してなければひたすら左回りなので少し遅い。
-ロボは前タイヤを大きくしてセンサーが光を感知しやすくした。
-見ました。見やすくまとまっていると思います。 -- [[ゆん(TA)]] &new{2006-02-02 (木) 18:46:51};
#comment
終了行:
[[2005/B4]]
#contents
* 課題4(光の方について行くプログラム(試作)) [#fd669b4a]
//課題4(光の方について行くプログラム(試作))
//
//
#define THRESHOLD 40
task main(){
int max_right,time_max;
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
while(true){
if(SENSOR_1>THRESHOLD&&SENSOR_3<THRESHOLD){
OnFwd(OUT_C);
}
if(SENSOR_1<THRESHOLD&&SENSOR_3>THRESHOLD){
OnFwd(OUT_A);
}
if(SENSOR_1<THRESHOLD&&SENSOR_3<THRESHOLD){
OnFwd(OUT_A);
}
if(SENSOR_1>THRESHOLD&&SENSOR_3<THRESHOLD){
OnFwd(OUT_A+OUT_C);
}
}
-普通の所より明るいを見つけて進むプログラム
-とりあえず失敗しましたがここから改良です。
-ぶっちゃけタッチセンサーの光バージョン。
-(このプログラムはWaitがないので動かなかった模様、原因が分かったので
-一応記述します。)
* 課題4(光の方について行くプログラム(改良)) [#d7f264a8]
//right_trace
// 作成者 やらー&すなお&satoshi
//
#define THRESHOLD 40
task main(){
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
while(true){
if(SENSOR_1>THRESHOLD&&SENSOR_3<THRESHOLD){//左のセンサーのみ感知
OnFwd(OUT_C);//左回転
OnRev(OUT_A);
Wait(10);
}
if(SENSOR_1<THRESHOLD&&SENSOR_3>THRESHOLD){//右のセンサーのみ感知
OnFwd(OUT_A);//右回転
OnRev(OUT_C);
Wait(10);
}
if(SENSOR_1<THRESHOLD&&SENSOR_3<THRESHOLD){//両方感知してなかったら
while(SENSOR_1<THRESHOLD||SENSOR_3<THRESHOLD){//どちらかが反応するまで
OnFwd(OUT_C);//左回転
OnRev(OUT_A);
Wait(10);
until(SENSOR_1>THRESHOLD||SENSOR_3>THRESHOLD);//もしかしたらいらないかも…
}
}
if(SENSOR_1>THRESHOLD&&SENSOR_3>THRESHOLD){//両方感知していたら
OnFwd(OUT_A+OUT_C);//前進
}
}
}
#ref(2005/B4/課題4左/060110_2328~02.jpg,ライトトレース1)
#ref(2005/B4/課題4左/060110_2328~01.jpg,ライトトレース2)
-改良前のとちがうのはWaitをいれて刻んでる所です。
-センサーが反応してなければひたすら左回りなので少し遅い。
-ロボは前タイヤを大きくしてセンサーが光を感知しやすくした。
-見ました。見やすくまとまっていると思います。 -- [[ゆん(TA)]] &new{2006-02-02 (木) 18:46:51};
#comment
ページ名: