はじめに
今週からGR-LYCHEEコンテストのソフトウェアを製造しています。
プログラムの製造といっても、何か手を動かして切ったり貼ったりして作る訳ではありません。パソコンの画面で開発ツールあるいは、ノートパットを開いてコードをコピペしたり、修正したりするだけです。特にArduino IDEの場合は、サンプルコードを探して貼り付ける作業がほとんどになります。
今回のロボットでもそれは同じで、GR-LYCHEE用の開発環境に、昔作った中野島ロボットで紹介してきた、Arduinoのコードをつなぎ合わせて行くだけになります。
プログラムの製造を始める場合に特に重要なのが、コメントです。コメントを書いておかないと直ぐに、なんの処理だったか判らなくなってしまいます。人間は見えている範囲しか正確に記憶できないという特性があるので、コメントでアウトラインを書いて、コードの詳細は記憶できていなくても、コメントを覚えていれば、ソースコードがスクロールして画面の外に行ってしまっても、そこで何をしようとしていたかを頭の中で思い出しながらソースコードを書いて行く事ができるのです。
C/C++言語の場合のコメントは
//コメント
としてこの一行コメントとするか
/*コメント*/
として、スラコメ(/*)とコメスラ(*/)で囲んだ範囲をコメントとすることができます。
コーディング
では最初に詳細設計で設計した内容をコメントとして、記述して行きます。
setup() // 初期化を行う
{
// 初期化ではセンサ、サーボモータの初期化を行う。
// センサの初期化
// ROHMセンサー用のI2Cを初期化する。
// サーボモータの初期化
// 起動時にLEDとジングルを鳴らす。
// LEDを点ける
// ジングルを鳴らす。
}
loop() // 制御ループ
{
// 異常がない限り、制御ループからは抜けなくて良い。
// 制御ループの中ではセンサ入力、サーボモータ駆動を行う。
// センサから入力を行う
// カメラ画像を入力する
// 加速度センサーから入力する
// 磁気センサーから入力する
// センサの入力に応じて「処理」を行う。
// センサから入力があってもすぐに動かずに、考えたふりをして動き出す。
// サーボモータを駆動する
// 足のサーボモータを動かして歩く
// 手のサーボモータを動かす
// 制御ループは10Hzとする。
// 10Hzになるように時間を調整する。(または、10Hzのタイマー割り込みを使う)
}
つづく