XRQ技研業務日誌

ものづくりを楽しんでいます。日々の暮らしの中に面白そうなものを探しながら

デバイスからプログラムへ

shig552009-08-10

台風9号が接近し、その影響を受けた前線が大雨を降らせている。局所的な豪雨により各地で被害が出ているようだ。急な増水により、道路と用水路が区別できず足を取られて流されたという災害も報道されている。通常では考えもしない事故が起きている。被害に遭われた方々へお見舞いの気持ちを表したい。
このところ、傘も役に立たないような雨を何度も経験している。カラッと青空の広がる夏の太陽を見ないままに、今年の夏が終わってしまいそうである。

昨日の豪雨の中、震度4の地震があった。停車中の車の中にいたのだが、ゆっくりと揺れるので、「おかしいな」とは思っていた。地震だとは思わなかった。そのうちにガタガタと周りのものが音を出して揺れだしたので地震とわかった。しかし、揺れている時間が長い。衝撃的な揺れはないがゆっくりといつまでも揺れが収まらない。テレビの地震速報を見ると、大変深いところで発生した地震のようだ。震度4の分布が関東から東北にかけて縦に広がっている。震源を中心にした同心円ではないのが特徴的であった。
大きな地震ではあったが、被害は少なかったようだ。震源の深さによって地表の揺れ方が変わってくるということなのだろう。

車の天井扇(シーリングファン)のコントローラを作った。
原則的に私のくるま旅は暑い時期には涼しいところへ、寒い時期には暖かいところへ移動する。しかし、この夏は標高の高いところでも天井扇を回しながら寝たいときがあった。一晩中ファンを動作させておく訳にもいかず、眠い目をこすりながら夜中にスイッチを切ったのだが、タイマー動作をするコントローラで必要である。

これまでタイマーは専用のデバイス、たとえばS-8081BやNE555などを使ってCRの時定数で作っていた。単純なon-off動作だけなら、これでもよいのだが、今回はいくつかの動作をさせたいと考えた。そこで、回路的に簡潔になるPICを使うことにする。プログラムでさまざまな動作をさせることで、出力側の工夫をするだけで装置を作ることができる。
また、プログラムで動作させることで、入出力の対応もシンプルにすることができる。デバイスで組んだ場合、いくつものスイッチを用いて動作を切り替えるのだが、プログラムでは押しボタン1つで対応することができた。通常、ボタンを押したか押さないかの入力だが、押したとき、どの程度の時間を押していたかを判定することで今回は3つのモードを選択することにした。モード判定動作を走らせて、そのとき「押さなかった、少しだけ押した、長い時間押した」を判定させる方法である。これにより押しボタン一つでモード切替ができる。デバイスを組み合わせた場合にはとても複雑な回路になってしまうのだが、プログラムなら簡単である。
動作モードの表示もシンプルなものにした。1つのLEDで表示させたのである。「このランプがついているときにはAモード。こちらのランプがついたらBモード」と、ランプの点灯に対応して表示することが一般的だが、今回はLEDの点灯の仕方により表示を区別することとした。LEDの点灯は常時点灯、点滅点灯、フラッシュ点灯と区別することができる。また点灯の数、2回点滅とか3回フラッシュということでも区別をつけられる。また、どの程度の間隔で点灯させるか、1秒間隔か、3秒間隔かなどでも区別できる。これらの動作を組み合わせることでいくつかのモードを表示できる。このような動作もプログラムなら容易に組むことができるでだ。部品を組み合わせて回路を考えていた時代とは雲泥の差である。
タイマーについてもプログラム的に行っている。ただし、正確な時間を設定する場合には発振周波数を調整するなど配慮が必要だが、今回のシーリングファンコントローラという目的では、大まかな時間でも実用上問題はない。そこで、PICに内蔵さえているCR発振で行った。実測してみたのだが設計値と比較しても許容範囲内で動作している。

PICなどマイクロコントローラの登場で、デバイスを組み合わせての回路がプログラムにその座を譲ってきている。ハンダごてを握っている時間より、パソコンに向かっていることが多くなった自作の楽しみである。