目次 #contents #hr *図1 学習用簡単ロボット図解 [#a666b1bd] #ref(ciec-pcc-2006/ciec-2006-1.pdf); #ref(ciec-pcc-2006/ciec-2006-1.ps); #ref(ciec-pcc-2006/ciec-2006-1.eps); #ref(ciec-pcc-2006/ciec-2006-1.fig); #ref(ciec-pcc-2006/ciec-2006-1.png); #hr *図2a プログラム例:黒い線に沿って動くロボット (光センサ1個使用) [#u710031b] #ref(ciec-pcc-2006/ciec-2006-2a.pdf); #ref(ciec-pcc-2006/ciec-2006-2a.ps); #ref(ciec-pcc-2006/ciec-2006-2a.eps); #ref(ciec-pcc-2006/ciec-2006-2a.fig); #ref(ciec-pcc-2006/ciec-2006-2a.png); #hr *図2b プログラム例:黒い線に沿って動くロボット (光センサ2個使用) [#zd1b283c] #ref(ciec-pcc-2006/ciec-2006-2b.pdf); #ref(ciec-pcc-2006/ciec-2006-2b.ps); #ref(ciec-pcc-2006/ciec-2006-2b.eps); #ref(ciec-pcc-2006/ciec-2006-2b.fig); #ref(ciec-pcc-2006/ciec-2006-2b.png); #hr *授業日程の例 (90分×15週)[#k7e29e57] #ref(ciec-pcc-2006/ciec-2006-3.html); :第1週〜第3週:図形や文字を書くロボット (センサは使用しない)| --キットに慣れる (個々の部品の確認、サンプルロボットの作成など) --プログラム作成→コンパイル→プログラム転送までの基本操作 --モータを回転させるための基本的なAPI (Application Programming Interface)の利用方法 --定数や変数の使用 --手続きの抽象化を理解する(サブルーチンや関数の使用) --チーム内の交流を深める :第4週〜第5週:障害物を避けるロボット (タッチセンサを使用)| --論理式や制御構文の基礎学習 --『押されている(1)』『押されていない(0)』という2値を取る タッチセンサを使用し、if文やwhile文などを 使ったプログラムを作成する (論理積や論理和などの演算も登場) :第6週〜第7週:黒いラインに沿って走るロボット (光センサを使用)| --多段階の値を与える光センサを使用 --光センサを1個使った場合、2個使った場合、 モータを1個使った場合、2個使った場合など 種々のロボットを製作してスピードや確実性をアップさせる :第8週〜第9週:光を追いかけるロボット| --最大値を求めたり,近傍での明るさの差分を取って比較して進むなど これまでよりも多少複雑なアルゴリズムを考える --タイマ(時間センサと考えてもよい)の活用 //--ウェブ上での実習報告 :第10週〜第11週:曲を演奏しながら動くロボット| --曲を演奏しながら光センサとタッチセンサの両方を監視するなど 複数のタスクを並列で実行させる --割り込み処理やリソース(モータ)へのアクセス権についての学習 :第12〜第15週:簡単なロボット・コンテストの開催| --空き缶を集めてきて積み上げるロボットや、 紙パックを運搬して所定のカゴに投げ込むロボットなど、キットを2セット使用して多少複雑なロボットを作成する --通信機能を用いる(原始的なプロトコルを設計) --チームの人数も増えるため、作業分担を上手に行うことも重要