自作関数電卓・製作状況まとめ

 

随時更新予定。

俺のTwilog ← 関数電卓関連のツイートが記録されています。

外観

現在の外観

製作中の外観とか

 

なぜ、作ることになったか

2011年・年末・・・・・HPの逆ポーランド記法な電卓に憧れる

欲しい

高い・なかなか売ってない→入手困難

じゃあ自分で作っちまえ

こうなった

 

Q.なぜ横長なデザインなんですか?

  • HP-15Cをかっこいいと思ったから

 

2011年12月末

  • 逆ポーランド記法の関数電卓に憧れ、HPの関数電卓が欲しくなる

2012年1/3~1/5

  • HP製の関数電卓はオレの財力では買えないことが判明
  • 関数電卓の自作を決意 

1/5~1/13頃?

  • ハードウェアの構想を練る
  • 回路図作成
  • 1/10…秋月電子の通販へ部品を発注
  • 1/12…部品が到着

1/13~1/17

  • ハードウェア作成
  • 1/14頃、CPU部・LCD部が完成
  •  1/17頃、電源部以外が完成(USBより5Vを給電)
  • 2/1…電源部が完成、ようやく電池駆動に対応する

1/18~

  • プログラム作成
  • 1/22頃、四則演算ができるように(バグ大量に有り)
  • 2月以降、様々な関数を追加
  • 2/10あたりからバグフィックスが進んでプログラムが安定してくる

2月末

  • RPNモードが完成
  • (ここでいう完成とは、「思いつく機能は大体実装し終わった」「バグはほぼ無い」ぐらいの意味)

3月上旬

  • 数式通り入力の実装に着手(予定)

ハードウェア

  • マイコンボード RY_R8C38
  • 20×4 キャラクタ液晶
  • 64+1個のタクトスイッチ
  • 単三電池2本で駆動可能
  • ユニバーサル基板(キーパッド部・マザーボード部)2層+液晶+マイコンボードの4層に分かれている
  • 基板の固定はピンヘッダ。
  • ピンヘッダの強度は侮れない。意外としっかり固定される。外すのもビス止めより楽

回路図

ソフトウェア

仕様

逆ポーランド記法採用

代数記法モード・論理演算モード搭載予定

複素数モードも搭載したい

せっかくボタンがたくさんあるのでこれを活かすプログラムにしたい

使用可能な関数・演算(2/5時点)

  • 四則演算
  • 逆数
  • 二乗・累乗
  • 平方根
  • 対数( \log_{10} , \log_{e} のみ)
  • 三角関数を使用可能に ( ← 2/6)
  • 逆三角関数を使用可能に(←2/7)

問題

  • 浮動小数点数をバリバリ使ってる
    • FPU無いマイコンで浮動小数点数使うと「遅い
    • 浮動小数点数使わずに演算とか激しく難しそう、俺の技術じゃ無理
    • 俺がヘボいコード書くよりもFPUエミュレーションに任せたほうがまだマシ・・・?
  • 絶対値が10^{20}以上・10^{-20}以下の計算するとバグる
    • 今まで仕様ってことにしてた  コレは仕様である!!バグではない!!!

ソースコード

C言語により記述

2012/2/5版→ http://ideone.com/3XFOp

2012/2/6版→  http://ideone.com/NeTXY

2012/2/13版→ http://ideone.com/77zAc 

todo:

  • 論理演算モード
    • 基数変換 2進数←→8進数←→10進数←→16進数
    • AND,OR,NOT,NAND,NOR,XOR・・・などの論理演算
  • 数式通り入力モード
    • 文字式入力・数値メモリ機能
  • 方程式ソルバー
    • ニュートン法による方程式ソルバー
      • 補助的に二分法も使う?
      • ニュートン法でどうしても収束しない場合は二分法に自動で切り替える?
      • まず二分法で大まかに初期値を出して、ニュートン法に切り替える?
    • 解の公式による2次方程式/二元連立方程式ソルバーモード
      • (→3次方程式・三元連立方程式も実装可能か?)
  • 複素数演算
  • ボタンの文字をもっと綺麗に・わかりやすく
    • テンキーとかの文字、手書きで書いたら汚くなってしまったorz
    • シールみたいなものでも貼ろうかな、とか考えてる
  • 小型軽量化!省電力!長期駆動!(←コレ重要)
    • これを実現するためにはハードウェア作り直す必要が・・・
    • 基板を外注して作るという案
      • FusionPCBってところが安いらしいよ!よく知らないけど
    • ちなみに、俺の中では今のハードウェアは試作品って位置づけ

todo大杉ワロタwwwww完成するの何年後だよwwwww orz

サグラダ・ファミリア

 

数学の知識が足りなくてアレ。

プログラミングの経験をもっと積むべきだ、俺。

 

その他

アンケート的なもの。開発のモチベーション向上につながります

  • おわり。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中