2005/C1/光センサー
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2005/C1/宇佐美]]
#contents
**ロボット製作者 [#e04ac4e9]
池尻、宇佐美
*ライントレースするロボット~モーター2個、光センサー1個使用~ [#c6ba4b0e]
**プログラム [#s21aa6f9]
#define T 40
task main ()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
while (true) {
if (SENSOR_2 < T) { //センサーが線の上にある条件
OnFwd(OUT_A); //左に曲がる
Off(OUT_C);
} else { //それ以外の条件
OnFwd(OUT_C); //右に曲がる
Off(OUT_A);
}
}
}
**ロボットについて [#u5de9a75]
キャタピラ(説明書通り)に光センサーを下向きに設置(写真はありません・・・。
**感想 [#y19b00a5]
うまくライントレースしてくれた。あっさり出来て、ちょっと嬉しかった。
*ライントレースするロボット~モーター1個、光センサー1個使用~ [#zaba073c]
**ロボットの写真 [#qf9bcb2e]
&ref(2005/C1/光センサー/画像 026.jpg,95%,モーター一個・ギア);
&ref(2005/C1/光センサー/画像 025.jpg,95%,モーター一個);
**プログラム [#e7b6ba72]
#define T 40
task main()
{
SetSensor(SENSOR_2, SENSOR_LIGHT);
while(true) {
if (SENSOR_2 > T) { //センサーが線の上にないとき
OnFwd(OUT_B);
}
if (SENSOR_2 < T)) { //センサーが線の上にあるとき
OnRev(OUT_B);
}
}
}
**ロボットについて [#p96413f8]
タッチセンサーに引き続き、めちゃくちゃ時間をかけた。
説明書通りにロボットを作ると、前進と(ブレーキを使って)左後進or右後進しかできなくて、
どうやれば右前進と左前進になるのか、すごく考えた。
ギアの組み合わせを変えなければならないのは分かったけど、
ブレーキの使いどころやギアの組み合わせ方に迷った。
出来た!っておもっても、その場で回転することしか出来ひんロボットとか、そもそも動力を打ち消しあって動かないやつとか・・・。
で、左右でギアの個数を変えればいい!!って思い立って作ろうとしても
大小のギアが上手くかみ合わなかったりした。
何回もギアを変えに変えて、写真のような組み合わせで成功。
**感想 [#y0a0ebbc]
モーター1個に苦戦した。作れた!と思ったら、
ギアの構造が先生のヒントと同じような感じだったので、
ちょっと残念だった。
*ライントレースするロボット~モーター2個、光センサー2個使用(前後に設置)~ [#i482f782]
**ロボットの写真 [#w483406f]
&ref(2005/C1/光センサー/画像 024.jpg,95%,モーター二個);
**プログラム [#k8102cb8]
#define T 40
task main ()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
while (true) {
if ((SENSOR_1 < T) &&(SENSOR_3 < T)){
//前後のセンサーが線の上にある条件
OnFwd(OUT_A);
OnFwd(OUT_C);
} if (SENSOR_1 < T){ //前のセンサーのみ線の上にある条件
OnFwd(OUT_A);
Off(OUT_C);
} if (SENSER_1 < T){ //後のセンサーのみ線の上にある条件
Off(OUT_A);
OnFwd(OUT_C);
}
}
}
**感想 [#k2ce5059]
うまくライントレースしなかった。
両方のセンサーが線から離れないと曲がらないようにしたため、
車体の長さの分、線からはみ出すまで進んだ。
結果、ズルをしたり、線から離れるロボットとなった。
*ライントレースするロボット~モーター2個、光センサー2個使用(両方前に線を挟むように設置)~ [#ace261c4]
**プログラム [#a5282cbb]
#define T 40
task main()
{
SetSensor(SENSOR_1, SENSOR_LIGHT);
SetSensor(SENSOR_3, SENSOR_LIGHT);
while(true) {
if ((SENSOR_1 > T)&&(SENSOR_3 > T)){ //センサーが両方線の上にないとき
OnFwd(OUT_A+OUT_C);
Off(OUT_A+OUT_C);
}
if (SENSOR_1 < T) { //センサー1が線の上にあるとき
OnFwd(OUT_A);
Off(OUT_A);
}
else { //センサー3が線の上にあるとき
OnFwd(OUT_C);
Off(OUT_C);
}
}
}
**感想 [#jcba5cfc]
ちゃんとライントレースした。
モーター1個に挑戦したあとだったので、モーターを2つ使えるのが嬉しかった。
-前後にセンサを付けたロボットは独創的ですね。プログラムをもう少し工夫するときっとちゃんと動くと思います。センサ1つでもちゃんとトレースできるので、それをもう一つのセンサを使ってどのように効率アップできるか…ですね。 -- [[松本(教員)]] &new{2005-12-28 (水) 13:07:46};
-ロボットについて、をアップしました -- [[宇佐美]] &new{2006-02-09 (木) 03:18:30};
#comment
終了行:
[[2005/C1/宇佐美]]
#contents
**ロボット製作者 [#e04ac4e9]
池尻、宇佐美
*ライントレースするロボット~モーター2個、光センサー1個使用~ [#c6ba4b0e]
**プログラム [#s21aa6f9]
#define T 40
task main ()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
while (true) {
if (SENSOR_2 < T) { //センサーが線の上にある条件
OnFwd(OUT_A); //左に曲がる
Off(OUT_C);
} else { //それ以外の条件
OnFwd(OUT_C); //右に曲がる
Off(OUT_A);
}
}
}
**ロボットについて [#u5de9a75]
キャタピラ(説明書通り)に光センサーを下向きに設置(写真はありません・・・。
**感想 [#y19b00a5]
うまくライントレースしてくれた。あっさり出来て、ちょっと嬉しかった。
*ライントレースするロボット~モーター1個、光センサー1個使用~ [#zaba073c]
**ロボットの写真 [#qf9bcb2e]
&ref(2005/C1/光センサー/画像 026.jpg,95%,モーター一個・ギア);
&ref(2005/C1/光センサー/画像 025.jpg,95%,モーター一個);
**プログラム [#e7b6ba72]
#define T 40
task main()
{
SetSensor(SENSOR_2, SENSOR_LIGHT);
while(true) {
if (SENSOR_2 > T) { //センサーが線の上にないとき
OnFwd(OUT_B);
}
if (SENSOR_2 < T)) { //センサーが線の上にあるとき
OnRev(OUT_B);
}
}
}
**ロボットについて [#p96413f8]
タッチセンサーに引き続き、めちゃくちゃ時間をかけた。
説明書通りにロボットを作ると、前進と(ブレーキを使って)左後進or右後進しかできなくて、
どうやれば右前進と左前進になるのか、すごく考えた。
ギアの組み合わせを変えなければならないのは分かったけど、
ブレーキの使いどころやギアの組み合わせ方に迷った。
出来た!っておもっても、その場で回転することしか出来ひんロボットとか、そもそも動力を打ち消しあって動かないやつとか・・・。
で、左右でギアの個数を変えればいい!!って思い立って作ろうとしても
大小のギアが上手くかみ合わなかったりした。
何回もギアを変えに変えて、写真のような組み合わせで成功。
**感想 [#y0a0ebbc]
モーター1個に苦戦した。作れた!と思ったら、
ギアの構造が先生のヒントと同じような感じだったので、
ちょっと残念だった。
*ライントレースするロボット~モーター2個、光センサー2個使用(前後に設置)~ [#i482f782]
**ロボットの写真 [#w483406f]
&ref(2005/C1/光センサー/画像 024.jpg,95%,モーター二個);
**プログラム [#k8102cb8]
#define T 40
task main ()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
while (true) {
if ((SENSOR_1 < T) &&(SENSOR_3 < T)){
//前後のセンサーが線の上にある条件
OnFwd(OUT_A);
OnFwd(OUT_C);
} if (SENSOR_1 < T){ //前のセンサーのみ線の上にある条件
OnFwd(OUT_A);
Off(OUT_C);
} if (SENSER_1 < T){ //後のセンサーのみ線の上にある条件
Off(OUT_A);
OnFwd(OUT_C);
}
}
}
**感想 [#k2ce5059]
うまくライントレースしなかった。
両方のセンサーが線から離れないと曲がらないようにしたため、
車体の長さの分、線からはみ出すまで進んだ。
結果、ズルをしたり、線から離れるロボットとなった。
*ライントレースするロボット~モーター2個、光センサー2個使用(両方前に線を挟むように設置)~ [#ace261c4]
**プログラム [#a5282cbb]
#define T 40
task main()
{
SetSensor(SENSOR_1, SENSOR_LIGHT);
SetSensor(SENSOR_3, SENSOR_LIGHT);
while(true) {
if ((SENSOR_1 > T)&&(SENSOR_3 > T)){ //センサーが両方線の上にないとき
OnFwd(OUT_A+OUT_C);
Off(OUT_A+OUT_C);
}
if (SENSOR_1 < T) { //センサー1が線の上にあるとき
OnFwd(OUT_A);
Off(OUT_A);
}
else { //センサー3が線の上にあるとき
OnFwd(OUT_C);
Off(OUT_C);
}
}
}
**感想 [#jcba5cfc]
ちゃんとライントレースした。
モーター1個に挑戦したあとだったので、モーターを2つ使えるのが嬉しかった。
-前後にセンサを付けたロボットは独創的ですね。プログラムをもう少し工夫するときっとちゃんと動くと思います。センサ1つでもちゃんとトレースできるので、それをもう一つのセンサを使ってどのように効率アップできるか…ですね。 -- [[松本(教員)]] &new{2005-12-28 (水) 13:07:46};
-ロボットについて、をアップしました -- [[宇佐美]] &new{2006-02-09 (木) 03:18:30};
#comment
ページ名: