宏章のページ
裕子のページ
梓・洸のページ

 

趣味ではあるのですが、なかなかやる暇がありません。

ウルトラハット(早押しハット)の自作

すでに3バージョン作成していますので、順を追って。

バージョン1

友人の結婚式2次会の出し物としてウルトラハットを自作しました。

今回は4組作成。ウルトラハットそのものは東急ハンズで一つ800円程度で販売されています。かなり古い情報ですので、今はわかりません。

しかし、手動式なので、自動式に改造。もちろん、早押し判定機能、パソコンとのリンク機能付です。 たとえば、ボタンが押されたら押された音をパソコンから鳴らすことや、パワーポイントなどとの協調作業も可能で、クイズ画面はパワーポイントで作成しました。

24人同時判別可能な早押し機を作成した方がこの当時もいらっしゃいましたが、こちらのシステムでは お手軽なだけに最高8人までとなります。ネックは用いているプロセッサICのピン数です。FPGAなどが使える恵まれた環境にある人などは、いくらでも増やすことが可能だと思います(ということで、後に対応するわけですが)。

工作用具以外に準備するもの

bulletサーボモータ
おそらくどんなものでも大丈夫です。かなりの値段がするので安いものを入手しましょう。
プラモデル屋に行くと手に入ります。
ホームページに紹介されていたNOTゲートを使ったCR時定数発信による制御回路は精度が悪く、ぶれてしまい安定動作しませんでした。そこでプログラマブルICによるタイマ動作にしています。さすがにプロセッサのクロックは安定して動作します。
こんな人もいます。http://www2.plala.or.jp/k_y_yoshino/index.html
 
bulletスイッチ
当時地元にあったジョイフル本田というホームセンタで入手。ケースはフィルムケースを写真屋さんで無料で手に入れました。4組なので、4人分の早押しボタン+裏方さんが押すリセットボタンの5個必要です。
 
bulletとにかく長いコード
秋葉原の秋月で入手。
 
bulletBASIC STAMP II
いわずと知れた、ホビーエレクトロニクス作成の救世主!お手軽、簡単ときたら、これに勝るものはありません。Windows用の開発ツールもあります。とにかく秋月で 、ちょっと高いけど購入。使い回しも効きますし。
 
bullet抵抗
スイッチに必要です。何かと使える10Kを一袋買いました。
 
bulletDSub5 Pin
パソコンとのシリアル接続に用います
 
bullet5V電源。同じく秋月で入手。
 

工作手順

bulletまず、工作道具を準備。最近は基盤をパソコンCADでエッチングで作るようですが、部品点数が少ないのでラッピングにしました。ラッピングソケット、ハンドラッパー、CSMW(ャッカリッキリけるイアー と覚えています。これは、ラッピング用電線のブランド)です。あと、基盤、ニッパー、半田ごて、半田、ヤニでしょうか。
 
bulletハット
サーボを適当に貼り付けます。はじめからついているハットのちょうつがい部分を、サーボが針金で直接駆動するようにします。
 
bullet基盤
いろいろ乗っていますが、これは過去の実験の残骸で、実際には BASIC STAMP II と抵抗とコネクタだけです。肝はこんだけです。 はじめアナログ的に発信させるよう設計したのですが安定せず、デジタル制御に切り替えました。スイッチはパソコンと通信するために必要です。BASIC STAMP IIに焼きこみ、通信は BASIC STAMP II から PC への方向に限ってしまえば必要ありません。

 

動作の様子

閉じたところ

立ったところ

プログラムソース

ソースの全体を 入手する場合はここをクリック。IFなどの制御文で分岐させると分岐する場合としない場合で実行遅延が異なるため、正しく動作し ないかもしれないと思い、論理式のみで早押し判定を記述しています。実際のところはサーボ制御のON時間だけ守っていればよいため、それほど問題ないかもしれません。意味もなく液晶パネル表示のコントローラまで入っていますが、 これは、当初はつける予定でコードだけ埋め込んだもので、必要ありません。動作未確認ながら、LCD部を削除したソースはこちらです。 変数定義を除くと、ほんの30行です。おそらく、IFを用いて設計してもちゃんと動作すると思いますしその方が性能がよいかもしれません。

早押しされたら、DEBUG 文でも、SEROUT 文でもよいので結果をパソコンにシリアル経由で通知し、それを受けて画面に出すなり、音を鳴らすなりすることができます。

性能一覧

bulletほぼ20msターンで3回サンプリング、よって秒150サンプリング。たいしたことありませんが、4人の早押し判定では十分です。この精度を超えて同時にボタンが押された場合は優先度処理されます。
 
bulletハット動作遅延は、サーボモータの性能によります。購入したものは安物ですが0.4秒弱で寝た状態から起き上がった状態へ動作しています。サーボはトルクが出るので取り付けを工夫すればさらに素早く立ち上げることも可能です。

バージョン2

 こういうのも,依頼で作ってみました.浜松でうなぎに関するフェスティバルがあるとのこと,ウルトラハットを作って欲しいというお願いで,急遽2日で作ってみました.急ぎ案件で部品入手に苦労するも既製品を合わせたのでシンプルかつ高機能になりました.市販早押し機のランプと完全連動して動作します. 早押し機のランプ点滅をベーシックスタンプで検出します。これをそのままサーボモータの立ち上げ、たち下げ動作にすると、ランプと連動して上げ下げしてしまうため、デジタルホールドを入れました。

 

バージョン3

24人対応早押し機に挑戦

実は問い合わせが多い、このウルトラハットのページ

20人対応の早押し機を作ることに。やはり、こだわりとしては、

bulletピンポンという音に挑戦したい
bullet25人ぐらいいってみたい
bulletこれだけ人数がいると、だれがだれかわからないので数字でだれが勝ったかを表示したい
bullet超高精度で早押しを検出したい!

といったところ。組み込みプロセッサでも使って検出すればよいのですが、組み込みプロセッサですと、ピンネックで外部回路が増えてしまいます。FPGAはI/Oを沢山備えているため、外部回路が必要ないというメリットがあります。特に、早押し入力部はこのメリットが強力に効きます。結果として超高精度になりました。100万分の1秒の精度で早押しを判定します。はっきりいって意味がありませんが。

それでも50pinのユーザI/Oはピンネックで大変。出力部はシフトレジスタを使ってピンネック問題を解消することにしました。徹夜までして作ったものは。。
この様なお姿に。

ボタンはこちら。ちょっと壊れやすい。時間があれば加工しやすいボタンを発注できたが、発注しようとすると納品は1ヶ月後といわれ、
こちらのようになった。

動作しているところ、ピンポンという音と同時に、LEDが光り、インジケータに番号が表示されます。動作ムービーはこちら(巨大なので注意)。

発注者へのお届けは、この様な形で。発注者の方自ら、スイッチ部のケースを作られたそうです。イベントでも活躍したそうで、よかったです。