ボールを見つけよう 光センサーの使い方 室蘭工業大学 情報工学科 B3 佐々木 一洋 http://d.hatena.ne.jp/dustytrombone JRS2007 AGENDA • プログラムの保存 • プログラムを印刷する 1. 2. 3. 4. 光センサーとは 光センサーの使い方 条件分岐とループ しきい値を測定する JRS2007 第1話 光センサーとは JRS2007 はじめまして 光センサーです JRS2007 光センサーは 明るさを 数値で表す JRS2007 明るい → 数字が大きい 暗い → 数字が小さい JRS2007 1が最も暗い 100が最も明るい JRS2007 20 暗いとき JRS2007 80 明るいとき JRS2007 80 ボールから赤外線 JRS2007 80 センサーがボールの方を向いている JRS2007 30 センサーがボールの方を向いていない JRS2007 実験!! JRS2007 センサーを蛍光灯に向けて 値が大きくなるのを確かめよう。 JRS2007 第2話 光センサーの使い方 JRS2007 80 ボールから赤外線 JRS2007 80 センサーがボールの方を向いている JRS2007 30 センサーがボールの方を向いていない JRS2007 ボールを見つけるには? JRS2007 ロボットの向きを変えながら センサーの値が大きいところを探す JRS2007 暗い 暗い 明るい 回転しながら →ボールを 発見 明るいところ を探す JRS2007 ロボットの向いている方向を調べるには? JRS2007 30 80 暗い 明るい サッカーフィールド JRS2007 明るくなっていく サッカーフィールド センサーの値 60 55 52 40 30 12 5 0 JRS2007 グラデーションの検出は明日 JRS2007 休憩 JRS2007 第3話 条件分岐とループ ∼条件分岐篇∼ JRS2007 条件分岐ってなに? JRS2007 何らかの条件が成立したときだけ 文の並びを実行する制御構文 フリー百科事典 WikiPediaより JRS2007 C言語では・・・ JRS2007 #include<stdio.h> int main(int argc,char *argv){ int count = 10; while(count--) { if(count %3 == 0){ printf( fizz\n } else{ printf( buzz\n } } } JRS2007 ); ); 難しい?? JRS2007 たとえば・・・ JRS2007 明日は日曜日、 JRS2007 晴れ もし ならば 水族館 JRS2007 もし 雨 ならば 家でゲーム JRS2007 つまり・・・ JRS2007 もし ○○○ ならば △△△する これが分岐 JRS2007 図で書いてみると・・・ JRS2007 NO 天気が良いか?? YES 水族館に行く JRS2007 ゲームをする ロボットに応用すると? JRS2007 その前におさらい JRS2007 80 センサーがボールの方を向いている →明るい JRS2007 30 センサーがボールの方を向いていない →暗い JRS2007 暗い 暗い 明るい 回転しながら →ボールを 発見 明るいところ を探す JRS2007 ボールが見つからない→暗い ボールを発見→明るい JRS2007 方向転換 直進 条件分岐 この3つを使ってボールを探す JRS2007 暗い 突進!! 暗い 明るい →ボールを 発見 回転中 JRS2007 これを文章にすると・・・ JRS2007 もし センサーが明るい ならば 直進する そうでなければ 向きを変える JRS2007 センサーが明るいか? NO YES 直進する JRS2007 向きを変える 次はROBOLABで JRS2007 関数パレットから ストラクチャ を選択 JRS2007 分岐 を選択する JRS2007 光センサー分岐 を選択する JRS2007 前に進む 左右同じ 向きを変える 左右逆向き JRS2007 分岐合流 を選択する JRS2007 前に進む 左右同じ 向きを変える 左右逆向き JRS2007 さらにループを追加する JRS2007 JRS2007 第4話 しきい値を 測定する JRS2007 ところで・・・ JRS2007 センサーの値が どのくらいのときに 「明るい」 と 判断したらいいのか? JRS2007 30は明るい? 50は暗い?? JRS2007 明るい、暗いの境目→しきい値 センサーの値 60 55 52 40 30 12 5 0 明るい 暗い JRS2007 実験!! JRS2007 ボールを見つけるために ちょうど良い しきい値を 調べよう JRS2007 本日のラスボス JRS2007 ボールを探して追いかける プログラムを作れ!! JRS2007 ヒント • 条件分岐とループを使う ‒ ボールが見つかれば直進 ‒ 見つからなければ方向転換 • 明るい→しきい値より大きい • 暗い→しきい値より小さい JRS2007 解答例 JRS2007 JRS2007 おつかれさまでした • 置いていくもの ‒ カード ‒ 名札 • 持って帰るもの ‒ テキスト JRS2007
© Copyright 2024 Paperzz