サイトマップ         トップページ  »  科学  »  ビー玉を用いた計算器の製作

ビー玉を用いた計算器の製作




作成日:2023/11/04
最終更新日:2023/11/04

  1. 動機・概要
  2. 機械式計算器の簡単な構造
  3. 計算するために必要な機能
  4. ビー玉計算器の仕組みと構造
  5. 参考資料

1. 動機・概要

発表者はコンピュータや計算の仕組みに興味があり、 以前にはドミノ倒しで足し算を行う実験などを実施した。 ここでは、より高度な計算が出来る機構を求めてビー玉を転がすことに注目し、 機械式計算器の仕組みにならって四則演算ができる機構を作成する。


発表者が2020年に実施したドミノ倒しで足し算を行う実験

2. 機械式計算器の簡単な構造


  このハンドルを回して計算する。 回す方向によって、入力した値が足されるか引かれるかが決まっている。
  この部分が左右にスライドして 入力した値の10倍、1/10倍、100倍、1/100倍、… を入力できる。
  ここで値を入力する
  入力した値を足した/引いた結果が記録される。 掛け算なら答え、割り算なら余りが記録される。
  ハンドルを回した回数が記録される。 掛け算ならかける数、割り算なら商が記録される。

3. 計算するために必要な機能

四則演算(足し算、引き算、掛け算、割り算)ができる事を目標にする。

よって、最低限必要なものは1桁の足し算繰り上がり処理補数を求める演算である。

補数とは…

基準となる数Cに対してC - xをxのCでの補数という
例えば十進法で 73 - 48 を計算したいとき、C = 100 - 1 = 99 として 48 の 99 での補数は 51 (9から元の各桁の数字を引いたものになっている)。
よって 73 + 51 + 1 = 73 + (100 - 1 - 48) + 1 = 73 - 48 + 100 より繰り上がりを無視すれば 73 - 48 と 73 + 51 + 1 (73 + 48の99での補数 + 1) の結果が一致する。

二進法で考えると…

4. ビー玉計算器の仕組みと構造

先行事例(足し算のみ)

アメリカのDIYを中心とした記事を掲載するメディアMake:の Marble Adding Machine という記事でビー玉を転がして二進法での足し算をする機構が紹介されていました。 動画の方が分かりやすいのでYouTubeのリンクも貼っておきます。

今回作った二進法で8桁の計算ができるビー玉計算器




  左/右加算器(Marble Adding Machine)
  入力装置
  カウンター(±1を入力)

加算機構


  初期状態
  コマは左に倒れている。
  ビー玉が1つ落ちてきた状態
  コマは右に倒れ、ビー玉が保持されている。
  ビー玉がもう1つ落ちてきた状態
  コマは左に倒れ、保持されていたビー玉が捨てられる
  左に落ちたビー玉は繰り上がりとして一つ上の桁に入力される


ビー玉が…
入力1入力2出力1出力2出力3
入らない入らない出ない出ない出ない
入らない入る出ない出ない出る
入る入らない出ない出ない出る
入る入る出る出る出ない

①左/右加算器

先ほどのMarble Adding Machineと同じ構造で、 ②入力装置と③カウンターからの値を受け取って足し合わせる。


(A)  ここのバーを押すことで最終的な計算結果が下に表示される。
(B)  ここを引くことでロックが外れて2つセットで左右に動き、入力を2のべき乗倍できる。
(C)  オーバーフロー検出器(右加算器のみ)


(C)オーバーフロー検出器
オーバーフローが起きてビー玉が通ると鈴がなる。

②入力装置

計算したい値を入力し、その値の+1倍か-1倍を右加算器に入力する。


(A)  計算に使用するためのビー玉を溜めておく部分
(B)  ここに二進法で値の入力する
(C)  このレバーで各計算を実行する
(D)  このレバーで値を再利用するかどうかを切り替える
(E)  このレバーで+1倍か-1倍かを切り替える

中心付近に可動部分があり、持ち上げることで同じ値を何度も入力することができる。


③カウンター

+1 = 00000001(2) か -1 = 11111111(2) を左加算器に入力する。


(A)  計算に使用するためのビー玉を溜めておく部分
(B)  入力装置の計算実行に連動するレバー
(C)  このレバーで +1 か -1 かを切り替える

使用例①

1~10までの総和(= 55)を計算する様子

使用例②

11×13 = 143 を計算する様子

5. 参考資料