PICライタ4号機が完成したので、玄関のドアの錠前がこわれかけていたのを、ピッキングがしにくいようにコードロック式のドアに改造することを計画しました。2003年の正月に構想をねり、回路図の作成にとりかかりました。同時に、ドアロックで使用するPIC16F84A用の実験ボードの製作にとりかかりました。
![]() |
![]() |
SunhayatoのPICマイコン評価ボードを使って実験ボードをつくりました。これがその基板を上からみたところです。RAポート、RBポートともに入出力ができるようにし、RAポートにはプルアップ抵抗、RBポートには出力を確認できるように8個のLEDをつけました。 | 実験ボードを裏からみたところです。電線が2段に重なっています。はんだ付けも難儀しました。老眼鏡で目を凝らしてみても、ホールのまわりが銀色に光ってみにくい。ヘルパーをつかってみても、はんだや部品が巨大な山にみえてくるだけです。 |
この実験ボードをつかって、LEDの点灯や点滅実験をおこなったあと、ドアロックの回路の実験をやっていきました(以下、つづく)。
ドアのコードロックの回路は、海外のJap's electronic projectsのElectronic door codelock with PICを参考にして、わたしが入手可能な部品でできる回路にしました。プログラムは、Jap氏の書かれたものを、クロック周波数を20Mhzに変更しただけで、そのまま使用しています。
PIC16F84Aを使用した回路図は、つぎのようなものです。Pcbeで書きました。
![]() |
クリックすると拡大できます。 |
キーパッドは、共立電子産業のワンダーキット「暗証番号リレー」のマトリクス12キーパッドを使用しました。他のキーパッドも日本橋のジャンク屋をうろついてさがしたのですが、自宅の外壁に防水ケースにおさめてはいる適当な厚さと大きさのものがみつかりませんでした。また、厚さはちょっとありましたが、手ごろな大きさのものがあって、買ってかえると外見は通常のプッシュホンとキーとおなじでも、内部の配線がちがったりして、そのままではドアのコードロックにはつかえませんでした。それで、つかわなくなったプッシュホンとか、携帯電話とか、落雷でこわれてしまったファクシミリ(雷の通り道なのでしょうか、ファクシミリはいままでに4台もこわれました。モデムも2台、こわれました。それで、いまは、電源と電話線の両方に雷ガードをつけています。こわれたモデムからは、再利用のために圧電ブザーをとりはずしました)を分解してキーパッドをとりはずしたりしたのですが、本体と一体型のキーパッドで、あとの細工がめんどうなのでやめました。それで、「暗証番号リレー」のキーパッドがちょうどいい大きさとキーの配列だったので、キットを買ったしだいです。
「暗証番号リレー」のキットも組み立ててみました。PIC16C54を使用しているのですが、キーパッドとの接続はキットの説明書に書いてあるように10cm以内でないと誤動作するようです。わたしのばあいは、ドアの内側から外側につけるキーパッドまでのケーブルの長さが最低20cmは必要だったのですが、もしかしたらキットがこのままつかえるかもしれないとおもい、20cmのケーブルをつけてためしてみました。最初はちゃんと設定した暗証番号でアンロックできましたが、電源をいれた状態で1日間放置し、その後、ためしてみたところ、どんな暗証番号を入力してもアンロックできるようになってしまいました。10cm以内のケーブルしかつかえないとなると、自宅の玄関のドアをコードロック式に改造することはできません。ちょっともったいない気がしました。
ちなみに、「暗証番号リレー」キットの回路図をみると、PIC16C54のRB0〜RB2ピンにプルアップ抵抗をいれています。これらのピンの出力をHighにし、RB4〜RB7ピンはLowにして、どれかキーを押すとRB0〜RB2ピンがLowになって割り込みを発生してウェイクアップするしかけになっているようです(まちがっていたら、ごめんなさい)。PICのメモリの中身をみたわけではないのですが(みても、初心者のFENG3にはわかりません)、どうやらそうなっているみたいです。ここは、ドアロックに使用するキーパッドがほしかっただけなので、キットからキーパッドとトランジスタ(2SC945)だけを流用することにしました。キット付属のリレーも、ソレノイドの駆動にはちょっと不安があったので、もうすこし接点容量の大きそうなリレーをつかうことにしました。キット付属の圧電ブザーは、外径が30mmもあって、基板に組み込むにはちょっと大きいので、さきほどのモデムから取り外した圧電ブザーをつかうことにしました。
キーパッドまわりの回路はつぎのようなものです。防水カバーのケースをあけると照明用の高輝度LEDが点灯するようにマイクロスイッチをつけました。また、2色のLEDをつかって、暗証番号の照合に成功してアンロックできたときにLEDが赤く点灯し、暗証番号を変更するときには緑色に点灯するようにしました。暗証番号の変更には「*」のボタンをつかうのですが、通常の使用でまちがって「*」ボタンをおしてしまわないように、キーパッドを分解して「*」ボタンの接点をつぶしました。かわりに、室内のPICマイコン側に暗証番号変更用のプッシュボタンをつけました。
![]() |
|
この回路図は、「暗証番号リレー」キットに付属していた12キーパッド用のものです。外国の一部でつかわれているABCD4文字が追加された16キーパッドや他のキーパッドでも、マトリクスがおなじならつかえるとおもいます。
つぎに、実験ボードをつかって、コードロックのプログラムが正常に作動するか、テストしました。キーパッドだけ結線して、リレーはつけず、暗証番号が符合してRB2ポートが出力されたら、実験ボードのLEDが3秒間点灯します。暗証番号の初期値は「1234」となっています。「1234」とキーをおして、「#」でキーロックが解除されます。暗証番号を変更するには、古い暗証番号を入力して、「#」のかわりに「*」ボタンをおし、つづけて「新しい暗証番号」を入力し、「#」をおします。再度、「新しい暗証番号」と「#」をおせば、暗証番号の変更が完了します。
ロックの解除機構が難問
ちゃんとプログラムが作動することが確認されたので、つぎの問題は、ドアロックをどうするかです。ドアロックのラッチを、モーターで動かして解除するのか、ソレノイドで解除するのか。日本橋でみつけてきた100円のソレノイドは、ストロークが1mmしかなかったので、10mmのストロークがあるラッチをうごかすことは無理なようです。自動車用のアンロックソレノイドやモーターは値段が高そうだし、ここは身近になにかないものか、さがしてみました。そして、机の引出しをあけてみると、こわれたハードディスクが目に入りました。これなら、強力な磁石をつかっているから、ひょっとしてつかえるかもしれないとおもい、さっそく分解しました。
さっそく、ドアロックのラッチにハードディスクから取り出したソレノイドを連結し、ロックを解除できるか、実験してみました。ハードディスクの磁気ヘッドのスイングアームを半分ほど切断し、ストロークが10mmになる位置に穴をあけて、ドアロックのラッチと連結し、12Vの電流をながすと、見事にラッチがうごき、ロックは解除されました。しかし、ロックを解除している時間は3秒間です。3秒間もソレノイドに電流をながすと、コイルが発熱して指でさわるとやけどしそうになります。しかも、ドアノブを引っ張るなど、ラッチにかかる負荷が大きいときは、ハードディスクのソレノイドのトルクでは、微動だにしません。これでは実用化できませんので、他をさがすことにしました。
そんなとき、ジャンク屋で、ペーパーカッターをみつけました。裁断機の刃をソレノイドで押し下げ、紙を裁断するものです。さっそくこのペーパーカッターを分解し、使用されているソレノイドをしらべてみると、「新電元」のロータリーソレノイドでした。ソレノイドの直線方向の運動を、ベアリング・ボールをつかって回転運動にかえる機構を内蔵しています。サイズからいうと7Sタイプのようですが、どうも別注品のようです。小型の直径3cmくらいのロータリーソレノイドなら、ドアロックのラッチの穴にちょうどおさまりそうなのであとあとの工作が楽なのですが、これは直径が7cm、重さは1kgはありそうです。しかし、見た目にも強力そうで、取り付け方法を考えれば、なんとか使えそうです。ためしに、6V、12V、18Vの電源で動かしてみました。6Vでは非力でしたが、18V 1.5AのACアダプタで動かしてみると、ガチッと音がして、軸が45°ほど回転します。「押し切り」のようなペーパーカッターの刃で紙を裁断するのですから、そうとう強力です。12V 1AのACアダプタで動かしても、十分な力を発揮しました。回転するケースの部分がアルミでできていて、放熱効果もありそうです。1分ほど電流をながしつづけても、ケースは熱くなりませんでした。
このロータリーソレノイドから、ぜんまいバネのような復帰スプリングを取り外しました。ドアロックのラッチにスプリングが内蔵されているので、不要だからです。回転軸と取り付け用のボルトも、ドアと干渉する部分は切断して短くしました。短くなった回転軸に、ドアノブを取り付け、ドアノブとドアロックのラッチを衝撃緩衝のためのコイルスプリングで連結しました。そして、PICマイコンで動かしてみると、ソレノイド駆動用のリレー接点に、ソレノイドが復帰したときに「バチッ」と大きな火花がとぶのです。ソレノイド駆動用リレーは、オムロン製のジャンク品で(廃品種)、定格24Vで駆動しますが、高速動作させるわけでもないし、12Vでもちゃんと動作しました。これをPICマイコン側のオムロン製の5Vリレーで駆動するようにしているのですが、逆励磁というものでしょうか? そうとう大きな電流がおきるようです。
ジャンク屋で買ってきたときから、ソレノイドの端子にはスパークキラーがついていたので、これで大丈夫かなとおもったのですが、どういうわけか、こわれていたようです。あわてて、日本橋へスパークキラーをさがしにいき、ソレノイド駆動リレーにとりつけました。そして、ソレノイドをうごかしてみると、火花はまったく発生しなくなりました。これで一安心です。ソレノイドとリレーは、つぎのように配線しました。
![]() |
|
つぎに、停電のときとか、ドアロックのPICマイコンやリレーその他の部品が壊れたとき、また、暗証番号を忘れてしまったときにどう対処するかという難問があります。そんなときのために、ねんのため、非常用の解錠装置をとりつけました。これは、どういうつくりか、くわしくはおおしえできませんが、電源も電灯線からではなくて、二次電池をつかった別電源を用意し、PICマイコンをつかった回路とは独立した回路になっています。この非常用の解錠装置を作動させるには、特別な「鍵」が必要ですから、完全な「キーレス」のドアロックとはいえなくなりました。また、非常用の解錠装置もこわれたとき、あるいは「鍵」すらないときのために、ドアを小破してあける方法も考えました。これらはあくまで「非常用」ですが、みなさんもいいアイデアを考えてみてください。
PICマイコンの組み立てとプログラムの書きこみ
実機の製作も、回路図にそって、SunhayatoのPIC評価ボードをつかっておこないました。下の写真がそうです。赤く光っているのが、電源のLEDです。透明プラスチックのケースにおさめて、コネクタがゆるんでいないかどうかなど、いつでも目視して確認できるようにしました。
つぎに、Electronic door codelock with PICからプログラムのソースファイル cl2_asm をダウンロードして、テキストエディタでコピーアンドペーストし、使用しているクロック周波数にあわせて、44行目の「mhz EQU D'10' ; processor frequency in MHz」を「mhz EQU D'20' ; processor frequency in MHz」に変更しました。それだけです。
list p=16f84a #include <p16F84a.inc> mhz EQU D'10' ; processor frequency
in MHz |
これを、マイクロチップ・テクノロジー社が提供するフリーソフトウェアMPLABをつかってアセンブルし、自作したPICライタ4号機とライタソフトIC-Prog 1.05aでPIC16F84Aに書きこみました。プログラムを考える必要もなかったので、ひじょうに簡単でした。プログラムを書きこんだPICをマイコンボードに挿入し、キーパッドとつないで電源をいれ、「1234#」とボタンをおすと、5Vリレーの「カチッ」という音がし、キーパッドのLEDが3秒間点灯しました。うれしいものです。たとえ一部分であっても、自分の頭をつかい、自分の手でこしらえたものがちゃんとうごくということは、至上の喜びがあります。しかし、夜更けになって、「たとえ一部分」以外の大きな部分におもいをはせました。「猿も木から落ちる」ではなくて、「猿が木からおり」たことの意味、人類の歴史の歩みというもののなかに自分がいることに改めて感慨を深くしました。おおげさなようですが、「他人の努力」が積み重なっていたのですね。インターネットで有用なソフトや情報を提供してくださる方々に、改めて感謝する次第です。
取り付け工事です
いよいよ、ドアの改造工事です。いままでついていたドアの錠前をとりはずし、ロータリーソレノイドと連結してうごくドアロックのラッチをとりつけました。さいきんは、充電式のインパクトドライバーやドリルドライバーなどが安価になってきて、使い勝手がいいので重宝しますが、ねじをしめるときには、ねじと適合したビットをつかって慎重にやらないと、あっという間にねじの頭がつぶれてしまいます。つぎに、ソレノイド駆動用のリレー、PICマイコンをとりつけ、ACアダプタからの電源の配線をおこないました。つぎに、非常用の解錠装置のとりつけと配線です。こういう工事は、一気にやるほうが楽ですね。中断すると、後戻りできないのに再開するのがいやになってしまいます。決断が必要です。しかも家にはわたし1人です。この絶好の機会をのがせば、いつ目的がかなうのでしょうか?
というわけで、工事を強行しました。ところが、大失敗です。ドアロックのラッチの遊びを調節しようと、ドアクローザーのしまりぐあいを微調整しているときに、玄関から表にでたのです。すると、ドアクローザーによって、ドアがしまり、つけたばかりのドアロックによって、自動的に鍵がかかってしまったのです。PICマイコンの電源スイッチは、まだいれていません。とうぜん、暗証番号を押しても、ドアはひらきません。あせりました。家にはわたし1人です(猫はたくさんいますが、なんの助けにもなりません)。こういう失態を妻にみられたら、再起不能です。PICどころではありません。「万事休す」です。手にもっていたのは、プラスのドライバー1本だけです。「さあ、どうしよう…」と、途方にくれました。そして、手にもっていたドライバーでドアを壊そうとしたのですが、そんなことをすると、事態はなおいっそう悪化することが予想されます。鍵屋さんをよんでも、鍵穴すらないのです。どうしたらいいものか……。そのとき、「にゃ〜」という声がしたのです。なんと、猫が足元にいるではありませんか! 二階の窓があいていたのです。さっそく、壁づたいに二階の窓から家の中にはいることができました。猫は「なんの助けにもなりません」と書きましたが、訂正します。助けてくれました。おかげで、無事、玄関のドアをコードロック式に改造することができました。帰ってきた妻はびっくり。怪訝そうな顔をしながらも、「これで夜、暗いときに鍵穴をさがさなくてすむかもね」といってくれました。しかし、暗証番号の変更方法はおしえるわけにはいきません。ほんとうにしめだされてしまいます。
(もうすこしつづくかな?)
(2003年2月22日)
トラブル発生!
4月6日の日曜日、突然のトラブルに見まわれました。チャイムが鳴るので、玄関にでると、ドアのノブをまわしてもドアが開かないのです。ガチャガチャやって、ようやくドアが開くと、そこには妻の姿が……あきらかに怒っています。暗証番号をちゃんと押したのに、ドアが開かないというのです。ピンチです。コードロック式のドアに改造してから、はじめてのトラブルです。原因究明ができなければ、FENG3の電子工作への道は、閉ざされてしまうことは必至です。さっそくキーパッドから暗証番号を入力してみると、ちゃんとソレノイドは動いております。ところが、ドアロックのラッチが動きません。これは、PICマイコンの故障ではなくて、ドアロックの機械的な故障です。いろいろ調べてみると、ドアロックの装置そのものには問題はありませんでした。それで、ドアロックのラッチ部分の油切れかなあと考えて、潤滑油を差してみましたが、なおりません。ドア枠のたてつけがゆがんできたのかなあと考えて、計測してみたのですが、なんの問題もありません。「どうしてだろう……」と首をかしげたときに、足元には……なんと、ドアとドア枠のあいだに小石が数個、あるではありませんか。形状と大きさからいって、たぶん、植木鉢をいじっていたときに、鉢の底にしきつめてあった小石です。これが原因でした。ドアのあいだにはさまって、ラッチに大きな負荷をかけていたのです。小石をとりのぞくと、ドアロックは正常に開閉動作できるようになりました。もともと、ドアロックにとりつけているソレノイドは強力なトルクを発生するのですが、あえてコイルスプリングを介してショックを緩衝し、ラッチをうごかすようにしていたので、ラッチにかかる負荷が大きいと、うごかなくなってしまうのです。もうすこし、かためのスプリングにとりかえる必要がありそうです(それよりも、植木鉢をいじったあとは、ちゃんと掃除しましょう!)。まあ、電子工作への道は、とうぶん歩めそうです。
(2003年4月7日)