2020年7月2日木曜日

20.7.2 マイコン式手回し計算機


60年以上前に、タイガー計算機という機械式手回し計算機が使われていた。今回は、同じように手回しで計算する「マイコン式手回し計算機」を作ってみた。
計算は、「答え」±「足す数」→「答え」の足し算・引き算だけができる。掛け算は足し算を繰り返して行うことで計算する。掛け算の場合は、掛ける数の1桁分ずつしか計算できないので、筆算と同じように、桁をずらしながら計算する必要がある。でも実際は掛け算が一番得意。


マイコンは、掛け算は必要ないのでPIC16F1508を使う。表示は16*2文字の液晶表示器を中国から調達した。操作子は5ヶのタクトスイッチを使い、ハンドルはレゴのブロックで作った。ハンドルの回転の数と方向を2つのフォトインタラプタで検出する。


表示は左上に「足す数」(8桁)、右上に「足す回数」(6桁)、左下に「答え」(8桁)、右下に「計算」(*/)の4つ。
下の写真は「123*45=5535」の計算をした結果。


「足す数」の入力
機械式のものは、桁ごとにレバーを動かして値をセットするようになっていたが、今回は桁ごとにハンドルを回して値をセットすることにした。
"IS"スイッチを押して「足す数」のどれかの桁がブリンクするようにし、"DL","DR"スイッチを押して桁を選ぶ。ハンドルを右に回すとブリンクしている数字が1つずつ大きくなり、左に回すと小さくなる。


足し算(54+32=86)
"CA"でクリア、ハンドルを回して「足す数」を54にする。"IS"を押して「足す回数」の1の位がブリンクしているのを確認してハンドルを1回右に回すと、「答え」が54になる。"IS"を押してハンドルを回して「足す数」を32にして、"IS"を押してハンドルを1回右に回すと答えが足し算の結果の86になる。
引き算は上の手順の「足す数」を32にして"IS"を押した後、ハンドルを左に1回まわすと「答え」が引き算の結果の22になる。

掛け算(123*45=5535)
"CA"でクリア、まずハンドルを回して「足す数」に123を入力する。次に"IS"を押して「足す回数」を45にすると、「答え」が掛け算の結果の5535になる。

割り算(3456/78=44余り24)
"CA"でクリア、まずハンドルを回して「足す数」に3456を入力する。次に"IS"を押してハンドルを右に1回まわすと「答え」が3456になる。次に"IS"を押して「足す数」に78を入力する。次に"IS"を押すと「足す回数」の1の位がブリンクする。3456/78の商は10の位からになるので、"DL"を1回押して10の位がブリンクするようにする。ハンドルを左に回していくと、「ピッ」と音がして「答え」がマイナスの値になるので、ハンドルを1回右に回すともう一度「ピッ」と鳴って「答え」がプラスの値になる。次に商の1の位を求めるために"DR"を押して「足す回数」の1の位をブリンクさせ、ハンドルを左に回していくと、「ピッ」と音がするので、1回右に回してもう一度「ピッ」と鳴らす。これで計算が完了。「足す回数」が商の44になっていて、「答え」が余りの24になっている。


割り算その2(3456/78=44.3076)
割り算の答えを商と余りでなく、小数まで求めたい場合のやりかた。まず割られる数の3456を左の桁に詰めて34560000と入力する。あとは上の例の割り算の計算を「足す回数」の1の位まで繰り返すと、「足す回数」が商の44.3076になる。商の位取りは自分で考える必要がある。

0 件のコメント:

コメントを投稿