科学・技術
浮動小数点対応パネルメーター電卓
Panel meter calculator with floating point (lcamtuf.substack.com)
要約
この記事では、古いパネルメーターをディスプレイとして使用したユニークなDIY電卓プロジェクトを紹介しています。アクリル板の加工、木材を使った筐体の製作、AVRマイクロコントローラーによる制御回路の実装など、プロジェクトの設計と製作プロセスが詳細に解説されています。特に、浮動小数点演算の精度問題を回避するために固定小数点演算が採用されている点が技術的なポイントです。
全文翻訳
浮動小数点対応パネルメーター電卓
はい、記事の最後には動画があります。
2026年7月12日
1221
共有
ユニークな時計は、エレクトロニクスDIYプロジェクトの一般的なアイデアです。難しさは時間管理の部分ではなく、時計を見栄え良くすることです。私自身のこのテーマへのアプローチとして、5月に投稿した記事をご覧ください。
より見栄えの良い電圧計時計
lcamtuf・5月16日
続きを読む
時計はさておき、読者の中には私が少し電卓オタクであることを覚えている方もいるかもしれません。かつて、適切なディスプレイ技術がなかったため、電卓は汎用コンピューティングに遅れをとっていました。初期のデザインには、結果を表示するためにティッカーテープ、ブラウン管、白熱電球パネルなどが使用されていました。
カシオ14-A、電球ベースのディスプレイ(1957年)。
驚くべきことに、電気機械式ディスプレイを備えた電卓はほとんどありませんでしたので、この欠陥に対処することにしました。
3mm厚のアクリル板から始めました。裏側を青くスプレー塗装しました。
ディスプレイパネル、缶スプレーでの楽しみ。
次に、一部の塗料を選択的に剥がし、CNCミルで多くの開口部をカットしました。
ディスプレイパネル、加工。
文字のある部分は再び塗装し、これらの領域にコントラストとクールな立体感を与えました。
ディスプレイ自体は、Amazonから入手した6個の汎用「SO-45」パネル電圧計と、eBayで入手した1個のビンテージエッジワイズ電圧計で構成しました。メーターには、接着紙に印刷されたカスタムフェイス(テンプレートファイル)が取り付けられています。
ディスプレイパネル、オリジナルのフェイスを備えたメーター。
こちらが組み立てられたパネルで、負の結果とオーバーフローを示すためのDialight 656シリーズのパネルインジケーター2個(カタログページ)も装飾されています。
パネルのクローズアップ。
そして、真ん中のエッジワイズメーターは明らかに浮動小数点用です。
パネルは簡単な部分でした。次に、筐体を考案する必要がありました。パネルがかなり大きいため、非標準的なキーボードレイアウトを採用することにしました。左側に2行で10桁と小数点、右側にクラスターで5つの演算キーを配置しました。
筐体のラフな3Dスケッチ。
電気的には、キーパッドは依然として4x4グリッドで、4つの駆動行と4つの列センスラインを備えています。
薄いメープル材の板材から筐体を作成しました。これは私のワークショップで再製材したものです。文字と凹んだキーマトリックスは、再びCNCミルで加工しました。
タイポグラフィをご覧ください!
こちらが接着作業の写真です。
クランプはいくらあっても足りません。
キーパッドには、比較的凝った18x18mmのNKK JFシリーズのタクトスイッチ(カタログはこちら)が16個使用されています。各キーにはカスタムビニールデカールを作成しました。
こちらが完成した筐体の写真です。
Calcumator 2000、栄光の姿。
プロジェクトの最後の部分は制御回路です。何人かの人がアナログ計算を実装するように私を煽りましたが、それは電卓をさらに実用的でなくするでしょう。そして、もしその道を行きたいなら、純粋に機械的なデザインの方が楽しいです。そのため、この操作の頭脳は8ビットAVR128DA28 MCUです。
チップは5Vのウォールアダプターから直接電力を供給されます。メーターを駆動するために7つのデジタルライン(PD0-PD6)でパルス幅変調を使用し、キーパッドをスキャンするために4x4センスドライブグリッド(PA0-PA3 / PA4-PA7)を使用し、インジケーターランプのために2つのライン(PC0、PC1)を使用します。
ソフトウェアアーキテクチャの解説は省きます。かなり直接的です。最も興味深い部分は、フロートに関連する精度問題を回避するための固定小数点(6+5桁)算術の実装です。ソースコードはここでダウンロードできます。短く、よくコメントされています。
このブログで以前議論したように、電卓のUIは地獄であり、コードはそれに関連するいくつかの選択をしています。これは、「+」、「×」、「÷」を2回押すことで繰り返し操作を可能にしますが、「-」は符号変更のプレフィックスとして予約されています。ただし、イコールキーの直後に押された場合は除きます。また、キーパッドに専用の「C」ボタンがないため、二重の「=」を電卓状態をクリアする命令として解釈します。
そして今、皆さんが待ち望んでいた瞬間です。クリップは、分数、負の数、およびエラー条件の処理を示しています。
以上です。
📖
この記事が気に入ったなら、「The Secret Life of Circuits」もお楽しみいただけるでしょう。これは、導電性の物理学から組み込みシステムプログラミングまで、エレクトロニクスを豊かに図解し、明快に紹介したものです。290以上のカラー図、420ページ以上のオリジナルコンテンツ、そしてAIはゼロです。
私はエレクトロニクス、数学の基礎、技術の歴史、その他のオタクな興味について書いています。気に入ったら、購読してください。
購読
1221
共有