EASY84シリーズとは、PIC16F84を使って簡単な電子工作を楽しもうという企画である。
2回目はスイッチを使った作品である。
これはまた 基本的な事例である。
よほどのことがない限りスイッチのない装置はないといえるくらい入力手段の大御所である。
さてスイッチ工作の代表例といえばクイズ番組でおなじみ「早押しマシーン」であろう。いちばん早くボタンを押した人を検出する装置である。
仕様を考えよう。
まず、何人用にするかである。
1人につき、入力(押しボタン)と出力(LED)が必要である。
16F84 1つで作るとすると、入出力は13bitあるので、
リセット入力用とサウンド出力用の2を引いて11bit。
11÷2=5余り1なので、5人用が作れる。
ポートAが5bitだからちょうどいい。
というわけで次のように決めた。
・5人用
・2位まで検出。(1位はLED点滅、2位は点灯)
・スイッチを押した時にサウンド発生。
ところで、ただ1枚の基板上に回路を実現しただけでは実用性に乏しい。
そこで、使用部品をこだわることにしよう。
部品
スイッチ
大きくて軽い押し具合。アーケードゲームなどにもよく使われている。
さすがにとても押しやすい。
LED
発光面積の大きいものがいい。でこれ。実はLED3個分である。このうち2個使用。
![]()
サウンド
押した時のサウンドはやはり「ピンポン」がいい。ドアチャイムを利用しよう。
これは昔からあるドアチャイムである。
ボタンを押すと、電磁コイルが棒を動かし(いわゆる電磁石ですね)、金属板をつついて音が出る。
これをリレーを使って鳴らすことにしよう。
![]()
回路図
回路図はこうである。
いたってシンプルである。
ポートBはPIC内部でプルアップすることができるので、スイッチをつなげるだけでよい。
電源はドアチャイムの電源からとってしまおう。
PICやリレーにはやや高すぎるが別電源を用意するのがいやだったので、無理やり使ってしまった。
ホントは5Vが望ましい。
ところでドアチャイムであるが、電磁コイルを動かすから、動作時にとても電流が流れる。
実測2Aであった。このくらいの電流を制御できるとなると、小信号用のリレーは使えない。
ここでは松下電工製のDSリレーを使用した。
プログラム
メインループでは、
ポートBの各ビットを順にスキャンを繰り返す。
LEDの点灯制御
サウンド用のリレー制御
スイッチが押された場合の処理では、
ステータス変数(STS)を参照し、確定している番号により処理分岐する。
この処理はどのスイッチでも同じある。
・・・
PUSH1 BTFSC STS,1
RETURN
BTFSS STS,0 ;1番確定しているか?
GOTO SETS1 ;
BTFSC FST,S1 ;自分が1番として既に確定しているたら戻る
RETURN
BSF SND,S1 ;2番として受け付け
INCF STS,F ;状態を2番確定にする
RETURN
SETS1 BSF FST,S1 ;1番として受け付け
INCF STS,F ;状態を1番確定にする
MOVLW TLP
MOVWF TCNT
RETURN
・・・
タイマルーチンでは、LEDの点滅フラグとリレー用カウンタを制御する。
製作
基板に部品を配置して配線する。
LEDやスイッチ類は、コネクタで接続する。
![]()
さて、入れ物を作ろう。
1.
木板と角材でハコを作る。大きさは5人が取り囲んで使うことを考えて適度な大きさにする。
大きい方がもちろん使いやすいがあまり大きくてもねぇ。
ところで、スイッチをバラバラにするカタチもあるが、延長された配線でノイズを拾いやすくなるので、一体構造にした方がいい。
2.
天板はアクリル板を使う。スイッチとLEDを取り付けるための穴を開ける。3.
天板に部品と基板を取り付け、配線する。4.
1で作ったハコの側面を着色する。家庭用スプレー塗料を利用すると簡単だ。5.
ハコの中にドアチャイムを収納し、固定する。6.
天板に貼り付けるラベルを作る。ラベルはこのようなインクジェットプリンタ用の透明フィルム を使って作る。粘着シールなので、印刷したら切り抜いて貼り付ければOK。7.
天板をハコに取り付けて完成!
人数ゴマかしバレバレのサンプル ムービー(MPEG 996KBytes)
製作を終えて
スイッチを使った工作例だったのであるが、回路やプログラムはさほど時間はかからなかったが、 入れ物の構想と製作に2ヶ月もかかってしまった。
これではもはや電子工作ではないね。
ホームパーティのイベントとして利用してはいかがだろうか?
あるいは家族会議で、家事役割分担を決めるのに早押しで決めるなんてのもしゃれているかもね。