フォト
2023年3月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

本 : My Favorite!

  • 磯田道史: 武士の家計簿

« 2015年1月 | トップページ | 2015年3月 »

2015年2月

2015年2月28日 (土)

Windows版 RPN関数電卓 を自作!

私がiPhone 3GSから現在の5Sまでずっと愛用している電卓が
コチラ、AppStoreで購入した、「MathU RPN Calc」
RPN電卓の一番初めは、学生時代に使ったHPの関数電卓だった
のですが、今はこのiPhoneアプリです。

Mathu_rpn_2

=キーが無いのにお気づきでしょうか? RPN=逆ポーランド
記法 (Reverse Polish Notation) の電卓です。 例えば「2+3」
を求めるとき、フツーの電卓では「2足す3は?」の語順で

  [ 2 ] [+] [ 3 ] [=]

とボタンを押したら答え 5 が得られますが、逆ポーランド記法
の電卓では、「2に3を足すと?」という語順で

  [ 2 ] [Enter] [ 3 ] [+]

とボタンを押すことで答え 5 が得られます。

RPNの方が実際の計算とか構文処理に関して左から右へ自然
な順序になっています。 だって、フツーの電卓の方は [ 2 ] [+]
と来た段階で一旦切って考えれば明らかですが、この段階で
[+] と言われても、"足す数値"はまだ分からないので、具体的
には何もできないでしょ? そして [ 3 ] [=] が与えられてから
あらためて [+] の所に戻って、初めて実際に「足す」処理に
取り掛かるわけです。

さらに「カッコ ( )」ボタンもありません。 代わりに"スタック"
という特別なメモリが実装されています。 "スタック"はマイコン
の割り込み処理とかアセンブラ言語をご存知の方ならお分かり
ですよね。 そうそう、「RPN記法 vs フツーの電卓の記法」って
正に「アセンブラ vs 高級言語」なんですね。

RPN電卓を使い慣れると、もう手放せなくなってしまいます。
(って、私だけ?)

iPhoneではMathUという素晴らしいアプリに出会えたのですが
Windows上で使う電卓では、好みのデザインのRPN電卓が見つ
けられずにいました。 そしてなぜか今まで別の解にも気付き
ませんでした。

  そうだ、自分で作れば良いじゃないか!

で、Visual C#で作ってみました。(クリックで拡大できます)

Rpn_win_2

自分がいつもMathUで使っている必要十分な機能だけ実装しま
した。例えば、三角関数の角度単位は"deg"だけ、など。
もちろん、マウスだけでなく、キーボードからキー入力だけでも
操作可能です。 数値以外の各処理・関数は、例えば sin なら
「s」など、ショートカットキーが割り当ててあります。 [Help]
ボタンを押す (=hキー) と、各機能の対応キーが

Rpn_win2_2

のように表示されます。(画像はINVキーも押した状態)

にほんブログ村 その他趣味ブログ アマチュア無線へ
にほんブログ村

2015年2月26日 (木)

EDSAC から 自作PC まで - 出会ったコンピュータ達 その 1

( 最初にお断り : 昔=懐かしいというだけのネタばかりです!
 コンピュータ=パソコンという世代の方の興味をそそるハナシ
 はきっと一切出てきませんので、読み飛ばしてください。)

私が初めて本物のコンピュータを使ったのは大学の「計算機
実習」の授業でした(工学部です)。 当時はまだ"電子計算機"と
呼ばれ、しかもそれは一般に"大型計算機"を指す時代でした。
大型計算機の本体はキャンパスの一番奥にある "計算機セン
ター"の建物の中に鎮座していて直接見たことはありません。

使うときは、プログラム(Cではありません、FORTRANです)や
らデータを何百枚ものパンチカード(19cm×8cmの紙カード)に
タイプライターみたいなカードパンチャーで文字・数字に対応
する穴をあけて記録します (1枚=1行=80桁です)。 それを
段ボール箱に詰め計算機センターへ持っていき計算機に掛け
てもらいます。 運ぶ途中にころんで順番がバラバラになったら
泣くしかありません。

修正程度の分量であれば、自分の学科の中にあるTSS端末
(RTTY=テレタイプ)からキー入力で打ち込みます。 もちろん
液晶ディスプレイでもなければ CRT式のVDT でもありません。
電動タイプライターでバタバタと1文字ずつ打つ機械式です。
学部の当時 (約40年前)、教室にあった旧式の端末の通信速度
はなんと 110 baud でした。 1文字=11 bit だとすると、10文字
/秒で 1行=80文字印刷するのに8秒かかります。 ちなみに
先日このブログで書いた「オシロスコープ」の RXマイコン⇔PC
間のシリアル転送は 230,400 baud なので、2,000倍の差です。

この授業では、FORTRANのプログラムを走らせるだけで、
コンピュータの仕組みみたいなところまではやりませんでした。

コンピュータの仕組みを本格的に学んだのは、大学4年生に
なって各研究室に配属となるときに、「計算機科学」の講座を
選んでからです。 そのときの研究テーマは「Lisp」でした。
人工知能向け言語の一種です。 その研究室で4年生の輪講
(輪読会)の教材が、「EDSAC」。 "世界初" の Stored Program
方式の実用コンピュータです。 これは、プログラムやデータを
メモリ(主記憶)上に置いて計算を進める方式で、現在のパソコン
やスマホ・組み込み用のマイコンはすべてこの方式です。
つまり、今のコンピュータの "直接の祖先" なのです。

良く "世界初のコンピュータ" として紹介されることの多い、
「ENIAC」は Stored Program ではなく、祖先と言っても「新人
と旧人」のような違いがあります。

今日のところは写真もなく、ダラダラ文章だけで長くなってしま
って申し訳ありません。 なので、一旦切って続きは次回へ。

にほんブログ村 その他趣味ブログ アマチュア無線へ
にほんブログ村

2015年2月25日 (水)

CLie から iPhone まで - 私のPDA備忘録 <おまけ>

「その1」の CLie PEG-N750C の記事 で、

 GARMINのハンドヘルドGPSをシリアル接続して地図ソフト
 と連動させ、ドライブナビもどきとしても使っていました。

と書いたのですが、その写真が残っていました。 クリックで
拡大すると分かりますが、GPSは etrex VENTURE(英語版)、
場所は日立市の高鈴山です。

Cliegps_s

実はこの写真、真昼間の直射日光下で撮っているのですが、
液晶の表示がちゃんと読めます。 CLie N750Cの液晶は液晶
パネルの下にアルミ製の反射板が敷いてあり、照明がバック
ライトでなく フロントライト になっているという、珍しい方式
なので、直射日光下でも問題なく見えるのです。

ということで、「私のPDA備忘録」はこれで "おしまい"。

次回からは、さらに時間軸を遡って、1990年代以前に私が
出会ったコンピュータ達の備忘録をまとめたいと思います。

にほんブログ村 その他趣味ブログ アマチュア無線へ
にほんブログ村

2015年2月24日 (火)

CLie から iPhone まで - 私のPDA備忘録 その2

「その1」の最後にあった"シグマリオンII"の次はコチラ、CLie
PEG-NX80V。 メインで使っていたPEG-N750Cが旧式になって
きたので、2003年に購入。

Clie_nx80v_12s_2

面積は今のスマホ並みで、厚みは2倍ほどもあります。 重さは
・・・ すごく重い! なのにガラケーのようにヒンジからクルリ
と回せるわ、折り畳めるわ、すごい設計です。 そしてなんと!
NX80VはQWERTY式キーボード(液晶上ではなく本物のボタン)
を装備しており、開いた状態 (ターンスタイル) ではキー入力が
可能なのです。 さらに背面に収納式スロットが内蔵されており
開くとコンパクトフラッシュ互換の各種カードを刺すことができ
ます。 これで無線LANにも接続可能です。

Clie_nx80v_3s_2

しかし、いかつい外観とズッシリくる重さは、とてもSONYの
デザインとは思えません。

このあたりから、それまで日本のPDA界をけん引してきたCLie
やSharpのZAURUS達に陰りが見えて来たようで、代わって
登場し始めたのが、PDA+携帯電話を一体化した、今のスマホ
へとつながる製品。

そんな中で2004年から私が使ったのは、Willcomから出た
Air-H"ホンの2世代目、AH-K3001V。 京セラ製の端末です。
外観はただの折り畳み式携帯電話ですが、狭い画面ながら
これだけでインターネットが見られ、pop3サーバの各社電子
メールがやり取りができます。 もちろんPHSモデムとしてPC
にもつなげられます。

Airh_s1_6Airh_s2

その後、WillcomからAir-H"系統に代わって、よりスマホっぽく
なったものが出てきたので、2006年に入手したのがW-ZERO3
(WS004SH)。

Wzero3_1s

Sharp製の端末で、ターンスタイルではなく、液晶とキーボード
が2段重ねになっていて、キーボード部をスライドさせて引き
出すデザイン。 キーボードが意外に打ちやすくて、外でメール
するのに重宝しました。 速くはないけどPHSでどこでもインタ
ーネットにつながる。 だけど、CLie NX80Vよりさらに分厚くて
持ち歩くのに不便 (26mmもある!)。 そしてこんな分厚い変な
ものを耳に当ててしゃべっていると、不審者だと思われそう。

Wzero3_2s

W-ZERO3を2年くらい使った後は、しばらくPDA系の端末から
遠ざかり、その間はNet Book (Dell mini 9) に e-Mobile の
データ通信専用端末をつないで使っていました。 その延長上
で、通信機能は内蔵していなくて良いから、と2009年に買った
のがiPod touch。 W-ZERO3と比べ、感激するくらい薄くて、
ぴかぴかメタリックのケース背面は高級感にあふれていました。
これを1年くらいメインで使っていました (通話はauガラケー)。

Ipodtouch_s_3

もうこのあたりからは、特に語るものはありません。 2010年に
買った iPhone 3GS (下左)。 私の iPhone デビューです。 iPod
touchと比べるとメチャ分厚いのと背面がプラスチックで安っぽ
くなったなという印象。

3GSを2年弱使って、2011年暮れに iPhone 4S (下右) に機種
変更。 3GSの液晶は青っぽ過ぎたのに対して、こちらは少し
黄色っぽい。 一方、作りは3GSよりグッと高級になった感じ。
(背面の仕上がりは5SよりFB!)

Iphone3gs_s1_3Iphone4s_s_3

この後は、今使っている iPhone 5S につながっています。

にほんブログ村 その他趣味ブログ アマチュア無線へ
にほんブログ村

2015年2月23日 (月)

CLie から iPhone まで - 私のPDA備忘録 その1

現時点では iPhone 5S を使っているのですが、2000年頃から
色んなPDAを使ってきました。

PDAデビューの最初はSONYの CLie でした (それまでもSharp
のPA-7000などいわゆる"電子手帳"は使っていましたが) 。
2001年に購入した PEG-N750C。

Clie_n750c_s2

それまで160x160pixモノクロ2階調液晶しか無かった Palm の
世界に「ハイレゾ・カラー液晶」で斬り込んだ、PEG-N700Cの
後継機種です。 文字入力欄やボタンの配置は全くクラシック
なPalm そのまま (下のPalm 2機種参照) なのですが、SONYが
(注:当時のSONYが) デザインすると、こんなにCoolでスタイリ
ッシュに 。 メモリースティックが使え、携帯ミュージックプレ
ーヤーとしても活躍してくれました。 なんとステレオイヤホン
ではなく、専用リモコン付きで左右分離の耳かけ式ヘッドホン
が標準付属です。 しかもリモコンはスタイラスペン兼用!
型式名の頭の「PEG-」が「Personal Entertainment Gear」の
頭文字である、というのも納得 (お仕事用ではない!) のデザ
インです。

Pegn750c

アプリではCD-ROM版「英辞郎」を移植して入れたり、
GARMINのハンドヘルドGPSをシリアル接続して地図ソフトと
連動させ、ドライブナビもどきとしても使っていました。 この
頃良く行っていたアメリカ出張のお伴として欠かせない存在
でした。これ以来、紙の手帳と訣別して、現在に至っています。

CLie があるので、実用上はほとんど意味無いのですが、この
当時はオモチャとしてこんなものも買って楽しんでいました。

クラシックな Palm m100。 赤い交換用カバーがオシャレです。

Palm_m100s

おまけに、Handspring Visor Deluxe。 本体内蔵スロットにアダ
プターを装着すると、コンパクトフラッシュが使える、という
ちょっと大ぶりでギミックな変わり種のPalm OS搭載機。

Visor_2

ここまでのPalm OS機は、有線/無線LANや携帯電話回線等
へのネットワーク接続機能はありませんでした (CLie N750C
には公衆回線に接続できるモデムがオプションにあったので、
買ってダイヤルup接続でメールなどに少し使っていました) 。

続いて、これはPDAじゃないかも ですが、シグマリオンII 。
Windows CEです。 デザインは格好良い (ゼロ・ハリバートン!)
のですが、Docomo携帯電話との接続性を除くと、特別面白い
ところはありません。 Palm と比べてキー入力は楽なのですが、
結局この大きさに見合うだけの魅力は無かったなぁ。

Sig2_1s_2

Sig2_2s

2003年以降は、「その2」へ。。

にほんブログ村 その他趣味ブログ アマチュア無線へ
にほんブログ村

2015年2月11日 (水)

簡易型オシロスコープを自作しちゃう! -その2-

「その1」に続き、簡易型オシロスコープのハード周りの紹介
です。

といっても、ほとんどの機能はソフトウェアなので、回路の
中身はこれだけです。

Img_0557s_2

インターフェース誌付録のRX62N基板には、USBで仮想シリ
アル通信するための変換ICが含まれていないので、娘基板
に外付けしています。 RX62N内蔵の12bitADCの入力はOp
アンプ(LMC662)でバッファリングして高インピーダンス入力
にしてあります。

アナログ電源ですが、+側のみに振れるDC信号を見る分に
は、正電源のみで良いのですが、-側にも振れる交流信号
のためには正負の電源が必要になります。 前回 は 006P
乾電池 2個を使ったのですが、それなりの値段なのにすぐに
消耗してしまいます。 わずかな電流の負電源のためにスイッ
チング電源はもったいないし。 探してみたら便利なものが
見つかりました。 LTC3261という"チャージポンプ"IC。 +の
単一電源から同電圧の-電源を作れます。 9VのACアダ
プタから三端子レギュレータで+6Vを作り、これを使って-6V
を発生させ±6Vの電源にしました。

基板一式を手ごろなプラスチックケースに収めて完成です。

Img_0567s

まずまずコンパクトな仕上がりです。 これを繋ぐだけで、PC
が "簡易型オシロスコープ" に変身します。 今のところ
「1現象表示」のみで、トリガ同期機能もありませんが、連続
6000点ものデジタルデータをファイル保存できるので使い
勝手はバッチリです。

にほんブログ村 その他趣味ブログ アマチュア無線へ
にほんブログ村

2015年2月10日 (火)

簡易型オシロスコープを自作しちゃう! -その1-

発発の出力波形を調べたときは、

 オシロスコープなど持っていません。(略)"シングルボード
 マイコン"が 10bit  ADC を内蔵しており、それを使います。

と書いたように、マイコン基板をPCにUSB(仮想シリアル)で
繋いでデジタルデータを取り込みました。 ハードウェアも
バラック状態なら、ソフトウェアも手動のターミナルソフトと
いう状況でした。

さすがにセットアップも操作も煩雑だったので、もう少しまと
まりを良くして、「簡易型オシロスコープ」を自作することに
しました。

縦軸の精度を上げるために、前回使ったマイコン(富士通
FR60)より高分解能の12bit ADCを内蔵したルネサスの
RX62Nを使います。 これもCQ出版社インターフェース誌
付録で付いてきた基板で、やはり32bitマイコンです。

If201105

連続4回のAD変換値を自動で積算する機能があるので、14bit
相当で使えます。 サンプリング間隔は最短 10μs (= 100 ksps)
までOKだったので、数十kHzの波形まで観測できそうです。

ハードウェア構成の紹介は次回にまわすことにして、今回は先
にソフトウェアの方から紹介します。 いつものように、マイ
コン側はC、PC側はVisual C#です。 PC側ソフトのデータ受信
部分。

Oscill0_c

PC側の画面&操作は、極力オシロスコープらしさにこだわっ
て、こんな感じにしました。

Oscillo1

表示されている波形は"はめ込み合成"ではなく、実際に取った
ものです。 ずらっと並んだラジオボタンで、サンプリング間隔
(10μs~10ms)、縦軸拡大範囲(0.5~3.3V)、同オフセット
(0~2.5V)を切り替えできます。 1回のスキャンで6000点の
データを取得し、スキャン1回毎に停止する Single と連続
スキャンの Continuous が選べます。 "Save"ボタンをクリック
すると、取得したデータがこんな感じのテキストファイル(csv
形式)で保存され、Excel等で処理できます。

Oscillo5_2

サンプリングレートが max 100 KHz しかないので、高周波は
見られない "なんちゃってオシロスコープ" ですが、オーディオ
回路には十分です。 操作性と恰好だけはそれなりに見映え良く
できたので、大満足です!。

にほんブログ村 その他趣味ブログ アマチュア無線へ
にほんブログ村

« 2015年1月 | トップページ | 2015年3月 »