新型の構想だけを練る その2
QUIZ Buzzer をアマゾンで検索したりすると、海外製のが買えるわけで。そんな時代なので「早押し機」を入手したい人はイロイロ方法はあると思います。職人に頼む、自作するだけがルートじゃなかろう。
作り手は趣味「作りたい」から作っている。ほしい人がいれば売る。それだけです。
さて、部品の選定となりますと。
親機側:
Arduion UNO 互換ボードでいいので 1000円くらい
押しボタンスイッチ 照光式 LP01シリーズ (LP01-15CH1CKNS1NR)
ノーマルオープンで使用 600円くらいかな
4芯ステレオジャック =1 子機とつなぐ
LCDディスプレイ =1 16文字2行 バックライトは無くてもいいや。I2Cはプルアップ抵抗が面倒なのでやりません。
音はこちらの記事を参考に、Arduinoから直接押し下げ音を鳴らすつもり。
LCDのコントラストはこちらを参考に、Arduino自体で設定させちゃう。
正誤の音はありません。コスト削減のため。
子機(端子)側:(1台あたり)
Arduino Promini互換ボード 400円くらい
4芯ステレオジャック =2
照光式 押しボタンスイッチ 激安のもの 親機と違って NO(A接点)使用
抵抗 220Ω=1
ボードの固定は何とかして考えます。
筐体はタカチで200円未満のを探します。
<<基礎的ロジック 順番に>>
親機RXと子機TXを接続
親機TXと子機RXを接続
子機同士は4芯で 「電源 RX TX COM」 を並列接続
親機側側リセットスイッチ(電源直付け)
押すことで全電源OFF 離して全電源ON
子機側 押し下げ機
RXからの入力が無ければ
押し下げを判断、押し下げがあれば
自機のLED(ボタンと一緒)ON
TXに自機の名前を流す
LED点灯以外の処理を無視
親機側
RXからの入力(1文字でも)があれば、リセットスイッチを光らせる
TXにフラグとなる文字列を出力
LCDディスプレイに押し下げ子機の名前を表示
音を鳴らす
TXからの受付を無視(あるいは長時間停止)
※ ここを処理して着順、着差を表示させることもできるが、そこまではやらない
子機 2着以降
RXからの入力があればすべての処理を無視
プログラムのながれはこんな感じでしょうか。
親機側を凝れば、今までの様に「着差」や「1/1000」や「外部出力」「音の変更」もちろん「正誤判定音」も付けることは容易でしょうが、今回の目標は
「子機1800円」「親機5000円」10人で23000円 20人で41000円 50人で95000円の早押し機を作る(作る可能性を模索)することであります。
で、今回の早押し機は、少し時間をかけて、プログラムも含めてすべてを公開してゆこうと考えています。SSJ-003号機(システム)になりますね。