静大のテクノフェスタ展示用に振子時計を改造した。
ほっておいても動き続けるようコイルと磁石で振子を駆動し、将来教材にしやすいように制御はリモコン基板を使う。
リモコン基板で操作・コイル駆動・振子基板への信号送信を行う。コイル駆動用にリードスイッチとコイル駆動信号の2本、制御基板に送るシリアル信号で1本の信号ラインを使うので、操作用には3本しか残らない。ボリュームの駆動と信号で2本使うので、スイッチは1つしか使えないことになり、操作方法を変更した。
操作するパラメータが8つあるので、動作モードを8つにし、モード毎のパラメータの値を変更する。
パラメータの変更はボリュームで値をセットしてスイッチを1回押す。モード切替はボリュームを左端・左側・右側・右端の4つの位置にセットしてスイッチを2回連続押しするとモード0-3、3回連続押しすると4-7となる。モード設定を行うと"M0000"とモードが数字で残像表示されるようにした。
振子の駆動パラメータ設定中は、振子の一番下のLEDでコイル駆動信号、下から2番目のLEDでリードスイッチの状態を表示する。
振子基板は、20ピンのPIC18F14K22を使い、ユニバーサル基板で作成した。赤外線リモコンは使わないので、PICの他にはLEDと抵抗が8ヶずつ、それに温度センサーというシンプルな構成となっている。制御基板から電源とシリアル信号のケーブル3本がつながる。
展示用なので、電池で動かすこととし、PICは完全にスリープさせることにした。制御側は操作スイッチとリードスイッチの割り込みでPICが動作開始し、動作が完了するとスリープする。振子側は2秒以上制御側からのシリアル信号がこないとスリープし、制御信号が来ると動作再開する。動作中で割り込み待ちの間はアイドル状態になる。
表示するメッセージは、時刻+温度・温度・メッセージ1・メッセージ2の4種類。