2012-04-24

日文NXC新書--知的LEGO Mindstorms NXTプログラミング入門: BricxCCとNXCで学ぶ (電子工作Hi-Techシリーズ)

新的日文版NXC書籍快上市了,預訂5/1發行,4/27開始預購。

知的LEGO Mindstorms NXTプログラミング入門: BricxCCとNXCで学ぶ (電子工作Hi-Techシリーズ)

作者高本 孝頼有自己的網頁介紹,網頁裡面也有一些資料(當然是日文!

http://www2.ocn.ne.jp/~takamoto/

高本先生也發佈他的書籍預訂大綱,看來真的很詳盡喔!

はじめに
もくじ
Ⅰ.導入・準備編
1.ロボット教育
1.1 ロボット教育とは
1)実社会でのロボットの活躍
2)ロボットの研究
3)ロボット教育が目指すもの
4)学校でのロボット教育
1.2 レゴ・マインドストームによるロボット教育
1)NXTハードウェア仕様
2)NXTプログラミング教育
3)レゴ・マインドストームの教育

2.NXTの購入と開発環境
2.1 製品と購入について
2.2 NXTを動かす手順
2.3 ロボットの組立て
2.4 NXTのソフトウェア開発環境
2.5 BricxCC・NXCとは

3.BricxCCの開発環境
3.1 BricxCCのプログラミング開発環境構築
1)BricxCCのインストール
2)BricxCCの起動
3)BricxCCの画面概要
3.2 BricxCCの基本的な環境設定
1)環境設定「General」(一般)
2)環境設定「Editor」(エディタ関連)
3)環境設定「Compiler」(コンパイラ関連)
4)環境設定「API」(アプリ開発インタフェース)
5)環境設定「Start Up」(セットアップ)
6)環境設定「Templates」(テンプレート関連)
7)環境設定「Macros」(マクロ関連)
8)環境設定「Color」(カラー設定)
9)環境設定「Options」(オプション)
3. BricxCCの主な機能
1)File(ファイル)機能
2)Edit(編集)機能
3)Search(検索)機能
4)View(ビュー)機能
5)Compile(コンパイル)機能
6)Tools(ツール)機能
7)Window(ウィンドウ)機能
8)Help(ヘルプ)機能


Ⅱ.基礎編
4.ロボットを動かす
4.1 ロボットの前進と後退
1)BricxCCを使ってNXCプログラミングの作成
2)NXCプログラムのコンパイル
3)NXTロボットへのプログラムのダウンロード
4)NXTロボットのプログラム実行
4.2 ロボットの停止
4.3 スピードの変更
【課題1】:定位置で停止
【課題2】:正確に前進・後退
コラム1:プログラムのデバッグ

5.ロボットを複雑に動かす
5.1 ロボットの旋回(簡単なプログラミング)
5.2 繰り返しの動き(分かり易いプログラミング)
5.3 渦巻いて動く(複雑なプログラミング)
5.4 ランダムに動く(高度なプログラミング)
5.5 センサを使う(知的なプログラミング)
5.6 ディスプレイとサウンドを使う(賢いプログラミング)
【課題3】:垂直に曲がる
【課題4】:円を描く
コラム2:分かり易いプログラム

6.プログラムを学ぶ
6.1 記述ルール
1)空白文字の扱い
2)コメント記述
3)数値定数
4)文字列定数と文字定数
5)識別子とキーワード
6)演算子(オペレータ)
6.2 変数とデータ構造
1)データ構造(タイプ)と変数宣言
2)構造体(struct)
3)配列(array)
4)定数変数(const)
5)静的変数(static)
6)列挙タイプ(enum)
7)タイプ宣言(typedef)
 
6.3 制御ステートメント群
1)repeatステートメント
2)whileステートメント
3)forステートメント
4)ifステートメント
5)do-whileステートメント
6)untilステートメント
7)switchステートメント
6.4 コード群
1)タスク
2)関数とプロシジャ
3)プリプロセッサ
6.5 コンパイルと実行ファイル
1)ソースファイルと実行ファイル
2)コンパイル
【課題5】:車庫入れ
【課題6】:プログラムの変更
コラム3:プログラム設計とモデル化


Ⅲ.応用編
7.センサを制御する
7.1 センサで判断する
1)NXT付属のセンサ群の検知
2)センサの設定とセンサ値の利用
7.2 センサの設定とデータ値取得方法
1)センサ設定1:SetSensorによる入力ポートの設定方法
2)センサ設定2:タイプ設定とモード設定
3)センサ設定3:各種センサ設定関数
4)センサ値の取り出し方法
7.3 タッチセンサ
7.4 音センサ
7.5 光センサ
7.6 カラーセンサ
7.7 超音波センサ
【課題7】:三重線の往復
【課題8】:手拍子の記録と再生
コラム4:データ構造とアルゴリズム

8.高度なモータ制御
8.1 調整機能を持つモータ制御
1)調整機能を持つモータ制御
2)同期をとるモータ制御
3)回転角度によるモータ制御
8.2 モータの回転数を制御
1)移動距離を指定する
8.3 タコメータ制限モータ制御
1)回転センサによる回転角度の検出関数
2)回転センサを使った同期プログラム
【課題9】:ライントレース
【課題10】:一直線かつ定位置までの走行
コラム5:メモリー管理と高速化

9.並列処理と割込み
9.1 並列タスクと割込み・衝突
9.2 セマフォによる制御
9.3 mutexによる制御
9.4 safecallによる制御
【課題11】:2つ以上のセンサによる割込み処理
【課題12】:3つ以上の処理と割込み
コラム6:組込みプログラミング

10.便利機能
10.1 画面表示機能
1)テキスト表示
2)グラフィック表示
3)画像ファイル表示
10.2 ファイル入出力機能
1)ファイルの作成・削除
2)ファイルの書き出し・読み込み
3)ファイルの入出力の事例
10.3 サウンド機能
1)メロディを奏でる
2)サウンド・ファイルの変換と再生
10.4 ロボット間通信機能(複数ロボットの操作)
1)NXT間のBluetooth通信の接続設定
2)NXT間でのメッセージ送受信
3)スレーブ側NXTのコマンド起動
4)スレーブ側NXTのプログラム起動
【課題13】: 画面表示によるデバッグ対応
【課題14】: ファイル入出力とグラフ表示
コラム7:トラブルシューティング

【添付資料】
A.BricxCC機能一覧表
B.標準CとNXCとの比較一覧表
C.NXC基本関数一覧表
D.NXT関連情報一覧表
E.教育カリキュラム提案
索引