投票装置の妄想
2025.07.09
昔から、どんな仕組みだろうと考えている物・・・
TV番組で観客がボタンを一つずつ持って、質問にYESと思う人はボタンを押すと、その集計結果が表示される。
まあ、わからんけどな。TV番組の演出の都合で、(投票とは無関係に)操作されているかもしれないけど。
それは置いといて、純粋に投票を集計する仕組みを考察する。
真面目にリレーやICを並べて作ると、投票人数によっては相当な規模の回路になることは予想される。
そこでシーケンサ(PLC)を利用するのが適当と考えられる。これなら入力はたくさん増設できる。
ラダープログラムは、ひとりずつに自己保持回路を設ける。同じ回路を並べるから、おそらく単純な記述で済むのだろうと想像する。(自分は古い世代のPLCしか知らない)
BASIC風に書けば、FOR I=1 TO 100 といった記述もたぶん可能なのだろう。
拡張、応用を考慮すれば、投票者が増えても柔軟に対応できるように作られていることが理想的である。
それと、投票の開始/締切とリセットが必要。
投票開始前や締め切った後に投票ボタンを押しても反応しないようにする。
次の投票に備えて、集計結果をゼロに戻すリセット。
これらは司会者やスタッフが操作する。
集計結果をリアルに表示するか、あるいは、OPEN THE PRICE !のようにもったいぶってじわじわ表示するかは、演出の都合があると思う。
リアルに表示する、というのは押した時にすぐ反応して数字が増えていく感じ。欽ちゃん仮装大賞みたいに、ボタンを押すと即時グラフに反映するやつだ。
残念ながら合格ラインに届かず、子どもが泣き出した。「みんな一生懸命頑張ったのにねぇ~」とか言うと、ポロッと一票投じられて、またポロ、ポロと入って合格してしまうという展開。
じわじわ表示するのは、集計が終わりました。結果を見てみましょう!という流れで、1の位から上位に向かって、数字がくるくる回りながら徐々に表示する。期待感を煽っている。
それで、回路の話に戻るけど、
入力を覚えておく回路はさっき書いた通りで、一回押せば同じ人が何回押してもそれ以上反応しない。バスの降車ボタンと同じ。
それを数える回路はどうしたら良いか。シーケンス回路、ラダーで記述するには。
ラダーは今までそれなりに経験はあるけど、こんな数える回路は意外と考えたことはない。たぶん便利な機能があるのだろうけど。
マイコンだったらどうか。
入力ポートがたくさんあって、たとえば100点以上ある。8bitで13個以上のバッファがあって、順次高速でスキャンしながら入力をメモリに取り込む。
一度でもONを検知したら、メモリ上にはONのフラグbitを保持する。
あとは1になったフラグを数えていくだけなので、単純にできる。
どちらかというとマイコンに慣れているので、マイコンのほうが作りやすい。(個人的には)
取りこぼしは無いか、というのは最も注意すべきところ。十分に高速なマイコンを使い、できるだけ短い周期で取り込む。
’80年代のクイズ番組だとZ80だったかもしれないが、それでも十分だったかも。
投票ボタンまでの配線が長いので、ノイズで誤作動しないようにするのは大事な所。あまりにも短いパルスは受け付けようにフィルタを入れる。
※追記
シーケンサ(PLC)の場合
ONになったビット数を数える命令があるそうだ。
TV番組で観客がボタンを一つずつ持って、質問にYESと思う人はボタンを押すと、その集計結果が表示される。
まあ、わからんけどな。TV番組の演出の都合で、(投票とは無関係に)操作されているかもしれないけど。
それは置いといて、純粋に投票を集計する仕組みを考察する。
真面目にリレーやICを並べて作ると、投票人数によっては相当な規模の回路になることは予想される。
そこでシーケンサ(PLC)を利用するのが適当と考えられる。これなら入力はたくさん増設できる。
ラダープログラムは、ひとりずつに自己保持回路を設ける。同じ回路を並べるから、おそらく単純な記述で済むのだろうと想像する。(自分は古い世代のPLCしか知らない)
BASIC風に書けば、FOR I=1 TO 100 といった記述もたぶん可能なのだろう。
拡張、応用を考慮すれば、投票者が増えても柔軟に対応できるように作られていることが理想的である。
それと、投票の開始/締切とリセットが必要。
投票開始前や締め切った後に投票ボタンを押しても反応しないようにする。
次の投票に備えて、集計結果をゼロに戻すリセット。
これらは司会者やスタッフが操作する。
集計結果をリアルに表示するか、あるいは、OPEN THE PRICE !のようにもったいぶってじわじわ表示するかは、演出の都合があると思う。
リアルに表示する、というのは押した時にすぐ反応して数字が増えていく感じ。欽ちゃん仮装大賞みたいに、ボタンを押すと即時グラフに反映するやつだ。
残念ながら合格ラインに届かず、子どもが泣き出した。「みんな一生懸命頑張ったのにねぇ~」とか言うと、ポロッと一票投じられて、またポロ、ポロと入って合格してしまうという展開。
じわじわ表示するのは、集計が終わりました。結果を見てみましょう!という流れで、1の位から上位に向かって、数字がくるくる回りながら徐々に表示する。期待感を煽っている。
それで、回路の話に戻るけど、
入力を覚えておく回路はさっき書いた通りで、一回押せば同じ人が何回押してもそれ以上反応しない。バスの降車ボタンと同じ。
それを数える回路はどうしたら良いか。シーケンス回路、ラダーで記述するには。
ラダーは今までそれなりに経験はあるけど、こんな数える回路は意外と考えたことはない。たぶん便利な機能があるのだろうけど。
マイコンだったらどうか。
入力ポートがたくさんあって、たとえば100点以上ある。8bitで13個以上のバッファがあって、順次高速でスキャンしながら入力をメモリに取り込む。
一度でもONを検知したら、メモリ上にはONのフラグbitを保持する。
あとは1になったフラグを数えていくだけなので、単純にできる。
どちらかというとマイコンに慣れているので、マイコンのほうが作りやすい。(個人的には)
取りこぼしは無いか、というのは最も注意すべきところ。十分に高速なマイコンを使い、できるだけ短い周期で取り込む。
’80年代のクイズ番組だとZ80だったかもしれないが、それでも十分だったかも。
投票ボタンまでの配線が長いので、ノイズで誤作動しないようにするのは大事な所。あまりにも短いパルスは受け付けようにフィルタを入れる。
※追記
シーケンサ(PLC)の場合
ONになったビット数を数える命令があるそうだ。
トラックバックURL
トラックバック一覧
コメント一覧
コメント投稿