カウンターで人数を数える回路

概要

カウンターを2つ使用して、0から9999まで数える回路です。今回はHBHFセンサーを使ってやってきた人の累計の人数を数える回路を作ります。

必要なもの

  • 電力:11
  • Electrical Branch:3
  • カウンター:2
  • センサー類:1(今回はHBHFを使用)

回路の配置

以下のように回路を組みます。
・一番左のBranchは電源からこの回路に必要な電力11を取り出すもので、必ず必要ではありません。
今回は電力11あれば動くということを証明するために入れています。
・各設定値は設置後にEキーで設定することができます。
・Counterには2つのモードがありますが、ShowCounterモード(設置直後のデフォルトのまま)です。
・HBHFは部外者をカウントするorしない、TCに登録している人をカウントするorしないを選べますが、お好みで設定してください。とりあえず設定なしでデフォルトで作ると良いと思います。

仕様

回路を組むと、0~9999人まで人数をカウントできます。9999まで数えた場合は0にリセットされます。
また、人数の読み方は以下のようになります。
ポイントは右のカウンタが1桁の場合、2桁目に0を入れて読むことになります。
左:1 右:1 →11 ではなく、101のように読みます。

左のカウンター右のカウンター示す数字
011
01010
09999
10100
11101
110110
199199
20200
999999
1011001
10991099

仕組みの解説

人がいないとき

カウンターには電源が供給されるため、数字は表示され続けます。HBHFセンサが反応しないので、HBHFセンサは電気を通しません。よって、Counterには何も電気が来ないため、特に何もおきません。

人が来たとき

人が来たとき、HBHFセンサが反応するため、電気を通します。電気は右のカウンタのIncrement端子に供給され、右のカウンタは+1されます。今回は15から16になりました。
右のカウンタの設定値は100になっているため、16になったカウンタは特に電気を通さず、何もおきません。

100人目が来たとき

カウンタが99のとき、人がやってくると、+1され右のカウンタが100になります。
設定値が100に設定されているカウンタはPowerInの電気を通します。電気はBranchで分岐され、左カウンタのIncrement端子に供給され、左カウンタは+1されます。もう一方に分岐された電気は右カウンタのClear 端子に供給され、右カウンタは0にリセットされます。
この動きを瞬時にやることで、最初は左:0 右:99 だったものが、左:1 右:0となり、99から100になりました。

10000人目が来たとき

左:99 右:99のときに10000人目が来たとき、まず右カウンタが+1され100になります。そして、100人目が来たときと同じように、右カウンタが0にリセットされ、左カウンタが+1されます。
+1された左カウンタは99から100になりますが、100になるとPowerInからの電気を通し、その電気は自身のClear端子に供給され、左カウンタも0にリセットされます。
よって、9999から0になります。

動作確認のポイント

10000回 出入りするのは大変なので、カウンタの設定値を100から10 または3とかにしてしまって、挙動を確認するといいです。
HBHFの代わりに普通のSwitchを使って、ON OFFを素早く切り替えて試すのもありです。

補足

10000人も数えないという場合は右カウンタの設定値を10、左カウンタは100にすることで、0~999人を数えることができます。こうすれば、読み替えることなく、そのままの数字を合体させて見ればOKになります。

にゃんこ
  • にゃんこ
  • よく遊ぶゲームは
    ・CitiesSkylines
    ・RUST
    ・TransportFever2
    です。
    使える言語は
    C++、Pythonぐらいです
    趣味としては旅行だったり、メルカリ・ヤフオクで売ってたりします

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)