終わったー!

講義時間の関係から駆け足のプレゼンになり、しかも大トリが74シリーズ縛りの電卓*1で、その一個前という微妙な順番でしたが、夕べ(今朝とも言う)完成させたものを発表しました。
その名も自宅警備装置「My Sweet Home Security Service」
当初は赤外線センサーで反応したらLEDがピカピカ光るという簡単なものだったのですが、そこにパラレルポートを経由させるという一手間を加えて話が大型化。
パラレルポートへ各センサがデータを送り*2、PCがそれを配列として格納し、ある番号の組み合わせが成立したらパラレルポートを出力モードにして特定のLEDに出力信号を送るという複雑怪奇なものが出来上がりました。
「X号のセンサーが何かを感知した」を入力し、「Y番のマシンよ動け」を出力するだけですから、もちろん255個のセンサーと、255個の出力機器を扱えるんです。予算の都合上、今はまだ2入力1出力ですけど(ぇ
入力と出力を同じポートで行うので、混信しないように切り替わる仕組みがミソとなります。パラレルポートは入力モードのときに3〜4[V]に内部で昇圧しているので、きちんとGNDに接続してやらないとゼロを認識してくれません。ところが出力モードのときに、パラレルポートが0をさしているのにセンサーが1(あるいはその逆)の場合、出力を受け取る側が混乱をきたす可能性があります。というわけでパラレルポートの電圧を「入力モードのときはセンサからの電位に、出力モードのときはパラレルポートの電位にあわせる」という回路が必要になるんですね。こんなのPICで作ってやれば一発なのですが、ここはあえて74HCでやることにしました。一応ソフト屋じゃなくてハード屋志望ですから。
他にも工夫した点としては、センサ同士が同時に出力して誤った番号をPCに送らないよう、同期を取って順送りに出力するところとか、入出力の切り替えや同期信号の最初の一発目をPCから出すためにパラレルポートの16番、17番の各ピン*3から出したりとか。
うーん、プレゼンは駆け足だったし、見た目のインパクトが足りないから観客の受けを考えるといまいち不発でしたが、初めてのPIC、初めてのパラレルポート入出力、それに費やした時間と学んだものの量を考えれば、まあ満足のいくものだったと思います。
また何か作る機会があったら、もう少し実用性のあるものにしたいですけどね。
あ、もちろんこの自宅警備装置もそれなりに有用ですよ!日本の普通の家に250個もセンサー置いたら、住人の行動なんてらくらく監視できますし。

*1:こりゃもう趣味の世界だ

*2:データといってもセンサーが感知したら自身の番号を送るというだけだけど

*3:それぞれ、Initialize Printer,Select Inputって名前がついてる