目次

ロボット

本体

課題2を参照. 光センサーの位置を変えただけである.

アーム

・モーターの横に光センサーを配置.
・打ち出すためのガイドを設置.

1.jpg

プログラム

回転させて光センサーの値が最大のところからタイマーをスタートさせる.
一回転し終わったとこまでの時間ぶん反対に回転させる.
光の方を向いたらボールを発射させる.

#define turnT_1 400 //回転する時間
#define turn_search OnFwd(OUT_A); OnRev(OUT_C); Wait(1);//探す方向の回転
#define turn_back OnFwd(OUT_C); OnRev(OUT_A); Wait(FastTimer(1));Off(OUT_AC);//逆回転

task main() 
{

SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);//回転する時間
ClearTimer(1);//探してから終わるまでの時間
int count=0;

    while(FastTimer(0)<=turnT_1){
 
    if(SENSOR_2>count){//もしセンサーの値が今までの値より高ければ
    count=SENSOR_2;//countにセンサーの値を代入
    ClearTimer(1);//タイマーをリセット
}
    turn_search;//4秒間回る
}

    turn_back;//タイマー(1)の分逆回転
    Off(OUT_AC);
    Wait(100);
    OnFwd(OUT_B);//ボールを発射
    Wait(5);
    Off(OUT_B);
}

反省点と改善点

なかなかうまくいったと思う.
もっと上手なアームにしたい.


添付ファイル: file1.jpg 174件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-08-16 (日) 17:30:46