- ベストアンサー
「いいとも」とかで使ってる100人がスイッチ持ってるやつについて
今度高校の文化祭で100人にスイッチ持ってもらい 何人が押したかを数えるトータライザー(?)みたいのを作ることになったのですが、 「笑っていいとも」とかの100人のスイッチとかってどんな仕組みなんですか? まさかホントに単純に100本も入力あったりとかじゃないですよね? 今はひとまずPICでやることを考えています 数えた後の表示は7セグか、VBにもってってやろうかと そこら辺は経験あるので大丈夫なんですが100本の入力管理するいい方法が思い浮かばなくて... 助けてくださいお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
単純に100本入力を持たせるのが結局楽だと思いますよ。 PICというとデジタル入力ポートは8本くらいは平気で取れますよね。 8bitトライステートバッファを13個並べれば、100入力が扱えます。 専用開発機器があるのなら、FPGAで作ってしまうのが一番楽ですが。
その他の回答 (4)
- a-saitoh
- ベストアンサー率30% (524/1722)
マトリクスの交点にスイッチを入れていくのは、ダイオードが100個必要だし、スイッチへの配線の両方をつながないといけないので面倒かも知れません。 スイッチ配線の一方は一律にGNDで足りる方式の方が楽だと思います。 8ビットトライステートバッファを13個並列にPICの入力ポートにつなぎます。バッファの入力は当然各スイッチに(保護/プルアップ抵抗などをどうするかは自分で工夫してください)。あとは、トライステートバッファの特定の1つだけをPICからの出力でオンにするように、4bitデコーダをつければOK. これだけのヒントで回路/プログラムが造れないようなら、失礼ですが、あなたには今回の工作は無理だということです。 スイッチとケーブルが合計100円だとしても、100人分で1万円かかりますよね。文化祭の予算をもらっておいて「作れませんでした」ではしゃれにならないので、はやめに撤退することをお勧めします。
お礼
親切にありがとうございます たくさんのヒントありがとうございました 本当に助かりました がんばってみます 本当にありがとうございました
- Pesuko
- ベストアンサー率30% (2017/6702)
我流想像 産業用の省配線システムを使用して100個の入力を使用していると考えます。 http://www.mekatoro.net/mp/pdf/mp_pdf/P04-055.pdf 各個人に渡したスイッチには配線が必要ですが、現場で100本の配線の引き回しと常設でない事を考えれば毎回配線すると地獄です。 省配線を使うと座っている各列にバスのように主線を引いて その主線にカプラーで配線していくだけで済むので 大本のコントローラーの部分も主線1組だけです。 省配線コントローラーとホスト側とはケーブルで配線。 もっと簡単にするなら、上記のS-LINKを内蔵したPLCが あるから、それを使えば100本の入力配線はまったくなし。 FP2-C1SL http://www.naisweb.com/j/pcfaj/pro_jpn/pro_jpn_fp2/ida44st.html イメージ sw sw sw sw | | | | ---------------------------------------------FP2-C1SL 問題点は、予算がかなりかかる事。
お礼
回答ありがとうございます なるほどこういうものがあるんですね だいぶ配線が楽になりますね でも予算は高校の文化祭なのでそんなになくて... 一応考えておきますありがとうございました
- engine
- ベストアンサー率48% (15/31)
実際にどう作っているかはわかりませんが マトリクスを作ってスキャンして 8bit単位くらいて読んでいると思います 私も昔せり機(オークションの)で作ったことがありますのでそこから類推しました
お礼
回答ありがとうございます その方法だと単純にやるより楽ですね 考えてみます ありがとうございました
- Ki4-U2
- ベストアンサー率81% (364/446)
もしアナログ入力なりA/D変換器があるなら、定電流電源に抵抗100個(それぞれにスイッチを並列につなぐ)を直列につなげば、押した数に比例した電圧を作って入力できるのでは。精度良く作れるかが問題ですが。
お礼
回答ありがとうございます 僕もそれを考えていたのですが どのくらい正確なんですかね... 自分で色々試してみます
補足
回答ありがとうございます ですが、僕まだ未熟で、8bitトライステートバッファをどう利用したら効率よく行くかいまいち分かりません... 教えてください お願いします