WebShop>書籍・雑誌総合案内>電子工作Hi-Techシリーズ>知的LEGO Mindstorms NXTプログラミング入門
WebShop内検索(googleで本サイトを検索:別ウィンドウ)
電子工作Hi-TechシリーズBricxCCとNXCで学ぶ知的LEGO Mindstorms NXTプログラミング入門
海外ではレゴ・マインドストームNXTに関する情報は豊富にあり,インターネットでもいろいろと紹介されています.調べると多くの事例が,本書で紹介している統合開発環境のBricxCCを使って,C言語ライクなNXCで開発しています.本書は,各種センサの利用を含み,大学や高専,工業高校におけるロボット教育に活用できるNXCの解説書です.また,制御・組み込みプログラミングの情報技術を学ぶ教育現場には最適です.
目次
I.導入・準備編 第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-3 BricxCCの主な機能 (1)File(ファイル)機能 (2)Edit(編集)機能 (3)Search(検索)機能 (4)View(ビュー)機能 (5)Compile(コンパイル)機能 (6)Tools(ツール)機能 (7)Window (ウィンドウ)機能 (8)Help(ヘルプ)機能 II.基礎編 第4章 ロボットを動かす 4-1 ロボットの前進と後退 (1)BricxCCを使ってNXCプログラムの作成 (2)NXCプログラムの保存とコンパイル (3)NXTロボットへのプログラムのダウンロード (4)NXTロボットのプログラム実行 4-2 ロボットの停止 4-3 スピードの変更 【課題1】定位置で停止 【課題2】正確に前進・後退 Column4-1 プログラムのデバッグ 第5章 ロボットを複雑に動かす 5-1 ロボットの旋回(簡単なプログラミング) 5-2 繰り返しの動き(わかりやすいプログラミング) 5-3 渦巻いて動く(複雑なプログラミング) 5-4 ランダムに動く(高度なプログラミング) 5-5 センサを使う(知的なプログラミング) 5-6 ディスプレイとサウンドを使う(賢いプログラミング) 【課題3】直角に曲がる 【課題4】円を描く Column5-1 わかりやすいプログラム 第6章 NXCプログラム仕様 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】プログラムの変更 Column6-1 プログラム設計とモデル化 III.応用編 第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】手拍子の記録と再生 Column7-1 データ構造とアルゴリズム 第8章 高度なモータ制御 8-1 調整機能をもつモータ制御(OnFwdReg) 8-2 同期をとるモータ制御(OnFwdSync) 8-3 回転角度によるモータ制御(RotateMotorEx) 8-4 モータのPID制御(OnFwdRegPID) 8-5 回転センサを使いこなす(MotorRotationCount & MotorTachoCount) 【課題9】ライン・トレース 【課題10】正確に直角に曲がるロボット Column8-1 メモリ管理と高速化 第9章 並列処理と割り込み 9-1 マルチ・タスク(並列処理) 9-2 割り込み処理と衝突(コンフリクト) 9-3 セマフォによる制御 9-4 mutex変数による制御 9-5 safecallによる同期処理 【課題11】二つのセンサによる割り込み処理 【課題12】割り込み処理を考慮したライン・トレースの挑戦 Column9-1 組み込みプログラミング 第10章 便利機能 10-1 LCD画面表示機能 (1)テキスト表示 (2)グラフィック表示 (3)画像ファイル表示 10-2 ファイル入出力機能 (1)ファイルの入出力機能 (2)センサ・データ値のファイル入出力事例 10-3 サウンド機能 (1)メロディを奏でる (2)サウンド・ファイルの変換と再生その他 10-4 ロボット間通信機能(複数ロボットの操作) (1)NXT間のBluetooth通信の接続設定 (2)NXT間でのメッセージ送受信 (3)スレーブ側NXTのコマンド起動 (4)スレーブ側NXTのプログラム起動 (5)NXT間でのより複雑な制御 【課題13】実行時のデバッグ対応支援プログラムの作成 【課題14】探索問題アルゴリズムへの挑戦 Column10-1 トラブル・シューティング Appendix Appendix A BricxCC機能概要一覧表 Appendix B 標準CとNXCとの違い Appendix C NXC APIライブラリ関数一覧表 Appendix D NXT拡張関連情報 Appendix E NXTを使った教育カリキュラムの提案 |
書籍・雑誌総合案内