逆ポーランド方式の電卓キットを作ろう

組み込みの里で、長年利用してきた逆ポーランド方式の電卓が多数ある。歴代使い込んできたモデルを中古で再入手したり、最新型モデルを買ったりとしてきた。写真にあるのは日常に利用しているHP-15Cというものだ。動作ステップをプログラミング出来るものでもある。
この逆ポーランド方式の電卓には=キーがないので、困惑する人が大半だ。学生時代から誰かが借りていっても使えないといってすぐに返されるというメリット?もある。

複雑な計算式を解法していく上では綿密に対応する括弧を確実にインプットしたりすることもなく、最奥の点から手計算で解いていくというやり方なので逆にインプットミスも少ないのだ。当時は日本語方式と呼んで売られたりもしていた。

3に5を足すという形なので  3 に 5 + というステップで答えが出る

計算式通りというやり方だ 3 + 5 = となる。

逆ポーランド式(RPNと略す)の電卓では区切りとなるキーがENTERというものになる。

スタックは4段あり、最上位(X)が表示されている。

ETNERというキーが操作されるとそれまで入力された数値・結果がスタック(Z->T, Y->Z, X->Y)にプッシュされる形になる。

二項演算をした場合にはX, Yで演算を行い、スタックから

順次ポップ(演算結果(x,y)->X,  Z->Y, T->Z, T) されてくる。

今回作ろうとするモデルは、この写真の機能を実現したキットだ。

メキシコの方が設計されて出されている。基板や部品は中国で手配されているようだ。

以下のサイトで販売されている。今回はアルミパネルと3Dのケースを手配したので
63ドルほど、更に送料がFedexで25ドルかかった。

https://www.tindie.com/products/hobbystone/px-15c-an-hp15c-emulator/

表面実装部品はないが、沢山のタクトスイッチを揃えて実装するのは少し大変だ。

なお3Dプリンターでケースやキートップを作り、PDFのラベルを貼り付けるという形も取れるようだ。その場合は50ドルくらいになる。

セオリー通りに背の低い部品から実装していく。
タクトスイッチはそれぞれ1ピンだけ半田付けをして、都度垂直を整えてから次のピン
を半田付けするという形で進めていく。

液晶表示器の下にATMEGA328が実装されて、液晶表示は両面テープで留められて
基板とはヘッダーを半田付けして接続される。ファームの書き換えは、背面にコネクタがある。キットのマイコンにはファームが書き込まれている。

バックライトが付くのは実機にはなかったことでした。

大きさを比較すると少し小さくて、厚いです。

サイズ比較

電池はCR2032を無骨に挿入する形なので交換するのに
振り回すか、ドライバで開けるしかない状況でした。

対策として電池を交換できるためのハンドルを設計しました。
こちらの載せて挿入すると取り出すときにはつまんでロック
を外して引き出せるようになります。

電池ホルダー

PLAで作成しました

電池向きを合わせてキャリーをかぶせます

出すときには、少し出ている爪を挟むことで引き出せます

年代物の電卓を整備する

この年代物の電卓はパーソナルモバイルコンピュータの走りともいえるマシンかもしれない。クリック感のあるキーボードと単三電池2本で動作する2MBのRAMを搭載したモデルだ。MSDOSが搭載されて、123までも搭載されている。PCMCIAスロットにはFLASHメモリーカードも5MBとか増設できるというものだ。1993年に発売されて購入したから今年で30年近くになる。経年劣化で液晶はこのような状態だ。

裏ブタにある、爪は片側が折れてしまっていたが一つは生きていたので採寸して3D印刷して再現できた。

パネルカバーを剥がして、偏光板と液晶の間にある接着剤が劣化して酢酸のようなにおいを出してとても臭い。

偏光板を剥がすと臭いはとても強烈だ。

アクリボンドの溶剤で接着剤を溶かしつつ樹脂へらでそぎ落としていき、偏向板をカットして液晶に載せた。特に液晶との間に接着剤は塗布していない。
液晶カバーの縁に両面テープを貼り付けた

無事ハイコントラストで液晶も復活となった。

背面の電池蓋も同様だが、後で別の材料で自宅プリントしたいと思う。これはPA12という素材でDMM.makeで印刷したもの。

 

ポップコーン作りのサポート道具

業務スーパーでは、ポップコーンの材料をいろいろと売っているようだ。地元で手に入るものは150g入りのパックで一回の目安は自宅では50gが鍋のサイズからは手ごろなのだが、作る際に計量するのは面倒くさいという愚痴を細君が漏らしていた。

二回やると最後の一回はそのままで50gなのでそのまま使えばよいのだが、とりあえず解決策として重さではなくて三等分する道具を作り、そのまま保存容器にできるようにすることにした。

150gの分量は容量では180mlだったので、60mlの容量になるように設計した。三次元CADでは適当に設計した底面の面積も計算してくれるので、高さは60mlから割り出して適当に余裕をみて蓋が回るときに当たらないようにした。