Project SI-Nspire (ユウカの関数電卓)
https://gyazo.com/5899e914ad31843e0c96e778f9f929ce
https://gyazo.com/1631d4dbdc408aae2e258a0f91d9b9fa
*音量注意*
https://s3.arkjp.net/misskey/1ea3d176-7603-445b-b7ce-15d2fa8b6884.mp4
ユウカの関数電卓作成
ブルアカ2周年ファンコンテストに出品予定 締め切りは3/5 => 多分間に合わないので出品は諦めてのんびりやろう
原作情報
https://cdn.discordapp.com/attachments/833136405311389737/1005832626222932099/FZGpCycaUAESFzs.jpg
https://cdn.discordapp.com/attachments/568982617110872078/1070676113069703219/Screenshot_2023-02-02-20-56-24-83_7d150b7da9748eb54f10a6d421ea5cf8.png
https://cdn.discordapp.com/attachments/568982617110872078/1070676113602400327/Screenshot_2023-02-02-21-01-27-58_7d150b7da9748eb54f10a6d421ea5cf8.png
https://cdn.discordapp.com/attachments/568982617110872078/1070676113971494992/Screenshot_2023-02-02-21-02-57-30_7d150b7da9748eb54f10a6d421ea5cf8.png
電池式であることがわかる
https://gyazo.com/daac71362c09b612bd0e0162c5916974
https://gyazo.com/8c61400f71e49b511a5f13f09bfdf033
裏面にミレニアムのマークがあるのが分かる
おそらく元ネタ TI-Nspire
高機能 100ドル以上する
実装機能
関数電卓としての機能
基本計算機能
BCDで実装し、有効桁数は9ケタとする
2*(sin(35) + 1)のようにカッコ付きと四則演算の計算順位を評価して計算する
つまり小さいパーサーが必要
9ccをちょっと改造するだけでいける気がする
↑,↓ボタンで計算履歴を表示
各種関数ボタン
% 100で割るだけ
π 円周率3.14159265を使用する
e 自然対数の底 ,ネイピア数 2.71828182を使用する
sin cos tan 各種三角関数,入力角度は度数とする
$ 10^{x} 10のx乗
$ e^{x} ネイピア数(2.71828182)のx乗
log 対数計算 log(10,100)のように入力して使用する
第一引数 = 底
第二引数 = 真数
第一引数を省略した場合、10を底とする常用対数とする
in eを底とする自然対数
$ x^{2} xの2乗
$ x^{x} xのx乗
$ \sqrt{x} xの平方根
ANS アンサーメモリの値(前回の計算結果)を使用する 初期値0
PREANS プレアンサーメモリの値(前前回の計算結果)を使用する 初期値 0
( ) 計算順位を決定する
他の演算子や関数とは併用不可
R 余りと商を同時に出す
FACT 素因数分解
やる気があれば実装する
変数メモリー機能
微分積分,Σ
コマンドボタン(右下)
バックライトON/OFF
トランジスタを組合せたスイッチング回路でオン/オフできるようにする
既に回路上で実装済み
今回は諦めた
動画鑑賞、表計算、仮想シミュレーション(ベイズ推定的な.....?)
必要なもの(ソフトフェア)
各種ボタン用のアイコン画像
ビットマップを作成するには、lcd-image-converter.exe を使うとよい
設定でRGB565 方式の出力ができる
UIライブラリ等ないので、ゴリゴリ開発していく
使用機材
240x320ドットの 、チップはILI9341です
パラレル接続タイプを買えば、リフレッシュレートが爆上がりして楽しそうなことが出来そうだが、それはまたの機会にする
arduino pro mini で処理能が足りないのであれば、ESP32-S3を使用する
5V => 3V へのロジックレベルコンバーター
電源用トグルスイッチ、LED用トグルスイッチ
その他必用に応じて、抵抗、トランジスタ、配線、ユニバーサル基盤とバッテリー等
画面の周りは、3Dプリンターで製造する
画面の後ろに、arduino pro min 、電源関係、ユニバーサル基盤を配置する
青い部分は、電源を入れるとLEDを光らせたい
LEDの周りの部分を、アクリル板で覆う
原作に沿って、できるだけ薄くしたい
電源に関して
arduino が5V~12V、液晶モジュールが3Vそれぞれ必用
ボタン電池で動かしたい => 電流が足りないので無理
電圧を安定させるためにDC/DCコンバーターが必用
その他画像資料
https://gyazo.com/435c065dbd1de770daa95c58211ea3a3
以下妄想(没案)
ここから下は時間に余裕があれば実装する
モモトーク機能
wifiに接続して、電卓同士でチャットができる
なので2台作る必要がある
1台目のユーザはユウカ、2台目のユーザはノアの予定
通知機能ができれば欲しいが、どのようにして実装するかは検討中
デモ用に簡易チャットbotと会話できる機能が欲しい
チャットbotの中身はあいさつしたり、特定キーワードに反応する程度でよい
話せる相手は、ミレニアム所属のキャラ全員(全員が厳しければ、ゲーム部+セミナーで.....)
サーバー処理はfirebaseで手抜きする
ミニゲーム機能:仮称ムシクイーンカードバトル
ゲーム部+カエデの中から一人選んで、ユウカvsエネミーでミニカードゲームをする
マスターデュエル並みに複雑なものは作れない(arduinoで動かせない)ので、ステータスだけで殴り合う単純なものを想定
写真閲覧機能
ただし使用機材の解像度が240x320ドットしかない
事前にその程度のサイズの画像をSDカードに入れておく
動画閲覧
実装不可
リフレッシュレートが足りない
日本語(ひらがな、カタカナ限定)のフォントをレンダリングする環境を用意する必用がある
日本語を使わずに英語を使えばいいのでは
そのフォントをレンダリングする関数
余裕があれば2次元グラフ表示機能を実装したい