- 追加された行はこの色です。
- 削除された行はこの色です。
[[2006a/B6]]
*ライン・トレース・ロボットの制作 [#i6c7b9d7]
黒い線に沿って動くロボットを作る。
**メンバー [#jd064d2f]
//伊藤
-さんさー:プログラム担当
//竹村
-偏頭痛:ロボット担当
//中條
-HAL:HP担当
**プログラム [#oa2cd1f0]
思うように動かず、とっっっっっっっっっっても苦労しました。
***ライントレース・プログラム [#pda96059]
***ライントレース・プログラム :さんさー[#pda96059]
#define THRESHOLD 40
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_2,SENSOR_TOUCH);
SetSensor(SENSOR_3,SENSOR_LIGHT);
while(true)
{
OnFwd(OUT_A+OUT_C); // 基本は前進
OnFwd(OUT_A+OUT_C); // 基本は前進
if(SENSOR_1 < THRESHOLD){ //センサ−1が黒い線に乗ったら、右回り
if(SENSOR_1 < THRESHOLD){ //センサ−1が黒い線に乗ったら、右回り
Off(OUT_A);
until(SENSOR_1 > THRESHOLD);
}
if(SENSOR_3 < THRESHOLD) { //センサ−3が黒い線に乗ったら、左回り
if(SENSOR_3 < THRESHOLD) { //センサ−3が黒い線に乗ったら、左回り
Off(OUT_C);
until(SENSOR_3 > THRESHOLD);
}
ここに、下のプログラムを入れることで
タッチセンサー反応後の動きを指定できる。
}
}
***前方のロボットにぶつかったら、反転して進む [#j425f7c9]
***前方のロボットにぶつかったら、反転して進む :さんさー[#j425f7c9]
if(SENSOR_2 == 1){ //タッチセンサーが反応したら
OnRev(OUT_A);Wait(180); //反転
if(SENSOR_2 == 1){ //タッチセンサーが反応したら
OnRev(OUT_A);Wait(180); //反転
OnFwd(OUT_A);
}
***前方のロボットにぶつかったら、追い抜かしてライントレースを続ける [#f0b35fdf]
if(SENSOR_2 == 1){ //タッチセンサーが反応したら
OnRev(OUT_A);Wait(90); //曲がって、線を探す
***前方のロボットにぶつかったら、追い抜かしてライントレースを続ける :HAL[#f0b35fdf]
if(SENSOR_2 == 1){ //タッチセンサーが反応したら
OnRev(OUT_A);Wait(90); //曲がって、線を探す
OnFwd(OUT_A);
}
**班員の一言 [#a1f6899b]
-もうプログラムを書きたくない。
-教室内の人口密度が高いです。
-目がチカチカしてきた。
-ごめんなさい。
**反省・考察 [#x85ad7e6]
-ロボットを持ち上げるたび、センサーがとれてしまった。
--パーツを足して、より頑丈な作りにした。
-黒い線に沿って走るプログラムが、なかなか作れなかった。
--ほかのチームや先輩方のレポートを見て、プログラム作りをした。
-ロボットがまっすぐ進まなかった。
--本体に異常がないか、バラして組み直してみた。
--ロボットに異常がなかったので、電池を替えてみた。
--他の班の正常なプログラムを入れて走らせてみた。
---普通に走ったので、プログラムを書き直した。
-時間が・・・。
**写真 [#ke7c2051]
&ref(ST280003_0001.jpg);
タッチセンサー1つと、光センサ−2つがついています。
今回は、かなりコンパクト。
**コメント 何でもどうぞ〜 [#o4bd4e7d]
#comment