大実験その10

今日は大実験第10回目があった。

今日のメインテーマは、LEDとフォトトランジスタを用いた赤外線センサの実装と、H8でのセンシング。また、それが終わったらDCモータ制御のためのPWMをコーディングして、そのピンからきちんと意図した方形波が出るかどうかのチェックだった。

フォトトランジスタを用いたセンサを作る段階で、「あまり自分だけで作っていると、残りのメンバの力がつかないと思い、残りのメンバにその制作を任せた。すると、時間がかかりすぎです。まぁ、普段電子工作をやっていない人に作らせると、こうなることはだいたい予想は出来ていたのだが…。とは言っても、自分ひとりで作るには荷が重い実験なので、メンバには力を十分付けて頂く機会かなと思った。

で、次の段階でフォトトランジスタからの信号をきちんとH8で読むためのコーディング。Htermというモニターソフトを用いてH8と通信するのだが、通信がシリアルを通して送られてくるためfor文を用いてプログラムにウェイトを置くことになった。しかしながらそのウェイトのためのカウンタを最初は"int"で宣言していたため、0x7fffまでにしても動かない。悩んでいたところ、担当の助手の先生から、最上位ビットのことをよく考えろと言うつっこみが入った。
そこで、"unsigned int"に宣言をかえたところすんなりうまくいった。
普段プログラミングするときはintとunsined intの差なんかよく考えずに使ってしまっているが、やはりハードウェアが絡んでくるとその辺りまできちんと考えておかなければならないことを痛切に感じた。

また、次にやったのはPWMを用いた方形波の出力。コーディングに関しては、CQ出版社のH8/3694Fの本を参考に(というよりはほぼコピペで、必要なところだけ追加等を行った)したのですぐに出来たが、出力された波が方形波だった。PWMといえば、何となく「三角波」が出てくるというイメージがあったので、方形波が出てきてすごくがっかりしていた。しかし、よく考えると方形波が出てくるに決まっているので安堵した。

あしたは、センシングかつPWMで簡単な制御に入っていくのかなぁ…。