現在位置: トップ > パソコン > パソコン−2006年1−4月

パソコン−2006年1−4月

改訂:2006/10/07

2006/03 温度・湿度計データロガー〜 Excel VBA プログラミングに挑戦 〜

 ついに、プログラミングの泥沼に足を突っ込んでしまいました。

 ストロベリーリナックスのUSB-Hygrometer-Thermometerを組み立てて、付属の表示ソフトで遊んでいましたが、物足りなくてデータロガーが無いかと探していました。 良いものが見つからないので、ついに自分で作ってしまいました。

 以下は、データロガーの画面です。 わがシャックの丸1日・24時間の温度・湿度の状態です。 他のデータ例はこちらです。

 今まで、プログラミングにはなかなか手を出せないで居たのですが、今年は新年の目標の一つに、「何かひとつWindowsのプログラミング言語をマスターしよう。」としていました。 色々見ていたら、VB、VC、Java、HSP などさまざまな言語があるようですが、ただ単に勉強するだけではつまらないので、実用的なものを作る過程で勉強していきたいと思っていました。 たまたま昨年後半にストロベリーリナックスのUSB-Hygrometer-Thermometer を組み立てて、その付属DLLを呼び出すVBの関数リファレンスがついていましたので、Excel に「ただ」でついている VBA と言うものにトライして見ました。 Excelは良く使っていますが、VBAは使ったことがありませんでした。

 まずはVBA関連のホームページをあたり、入門編ぐらいから鏝馴らしをしました、それから、少しずつプログラムを拡張していきました。だいたいの作った手順は以下の通りで、継ぎ足し継ぎ足し、アメーバのように拡張していきました。
@まずはストロベリーリナックスの関数リファレンスを参考に入出力の練習です。
 ByRef と ByVal や「引数渡し」と「戻り値渡し」がややこしかったですが、デバイスのIDやドライババージョンを受け取って画面にメッセージボックスで表示したり、データを送ってLEDに表示したりで何とかクリアしました。
A1秒ごとにデータサンプルするタイミング造りをプログラムループで作成、これも何とかクリア。
B一定間隔で10組のデータを取り込みグラフに描いて終わりと言うところまで拡張です。
Cループによるタイミング作りなので、やたらCPUを占有する、機種を変えるとタイミングが狂うと言う問題があります。 いわゆる割り込みだと良いのですが、waitというのを使うと少し余裕が出来ました。
D時間換算のシリアル値と言うのがはじめは良くわからなかったのですが、1日が「1」、1秒は1/86400というのがわかった時は、「目からうろこ」状態でした。 それまでは、時間の計算関連で無駄な計算を沢山していました。これで、無駄な計算をばっさり省き、すっきりした感じになりました。
Eパラメータをエクセルの表から受け取って実行できるようにしました。
Fデータ組数を10組から120組に拡張、最初は1から順番に入れて行き、120まで一杯になったら、シフトして古い順に捨てて行き、データ組数を120組で抑え、グラフも120組のデータを表示することにしました。昔の紙にプロットする記録計のような動作をイメージしています。
G測定データは測定間隔ごとのサンプルデータから測定間隔内で1秒毎のサンプルデータを平均したものに変更しました。
H画面の体裁を整え、不快指数計算も付け加え、色づけ、注意事項などを付け加えて、ほぼ完成状態になりました。

 まだ、@重複処理のサブルーチン化、Aタイミングの取り方の改良、B継ぎ足し継ぎ足し部分のダイエットなど課題が残りますが、一応、動くものが出来ました。 私の最初のVBA作品です。 詳細のプログラムは下のファイルを見てください。
 なお、動作には Windows のパスの通ったフォルダ(C:\Windows\Systemなど)にストロベリーリナックス社の2006.01.19バージョンのUSBMeter.dllをロードしておく必要があります。
 また、お決まりですが、この作品の使用に関しては「使用者の責任」と言うことで、よろしくお願いします。

TH-DataLogger_V1.00(LZH圧縮)

【課題対応】 温度・湿度計データロガーのバージョンアップ (2006/03/19追加)

@重複処理のサブルーチン化
 機能ごとにサブルーチン化(プロシジャー化)して、コメントも付け加えました。
Aタイミングの取り方の改良
 タイミングを取るルーチンと温度・湿度取得のルーチンをなるべく近付けました。作表のタイミングも1秒ごとのサンプリングがうまく反映されるように微修正しました。
B継ぎ足し継ぎ足し部分のダイエット
 あちこちに分散していた、変数や定数の設定をまとめてみました。

 動作・使用条件は TH-DataLogger_100 と同じです。 エクセルのシートのグラフの下のほうに簡単な説明を記述してあります。

TH-DataLogger_V1.01(LZH圧縮)

2006/03 GIF Animation に挑戦。

 HPを訪問すると音楽が鳴るように貼り付けていたのですけれど、画面が少し寂しいなと思っていたところ、 GIF Animation なるものがあると知り、早速、挑戦してみました。
 台湾の Ulead Systems, Inc. と言う会社が GIF Animation 関係に有名のようで、かなり昔から GIF Animator と言うものを出していたようです。メンバー登録をすれば試用版が使えるようなので、PhotoImpact というものと一緒にダウンロードして試してみました。
 以下は、その試作品です。早速トップページに付けてみました。ちょっとうるさいかな。。。。

        

2006/01 新しいパソコンが我が家にやってきた。

 左はやや前面から見た中の様子、右はやや後面から見た様子、冷却用シュラウドがすごい。 前面にひとつ、後面にひとつ、大きなファンがあって、前面にうまく開けてある大きな吸気口から吸い込んで、後面に吐き出すといった仕様のようです。 風の流れがストレートで見るからによく冷えるように思える配置です。 ファンは、静音ファンの上スピードコントロールしているので、非常に静かです。 FDDが無いのにはびっくりしました。 変わりに光学ドライブが2個付いています。 引き出しいっぱいたまったフロッピィもそろそろ処分のしどきなのかな?

 女房が電気屋に買い物に行きたいというので、一緒に付いて行きました。 女房は家電のフロアへ、私はパソコンのフロアへ、ちょうど改装大売出しで、パソコンの在庫処分をやっていました。 通常よりは2〜3割は安く「ブランド物!」PCを売っています。 このところ、ちょっとパソコンの遅さが気になっていたところで、女房に「買ってもよいか?」と恐る恐る聞いたところ、以外にも「いいよ」との返事、気が変わらないうちに、即、買ってしまいました。 肝心の女房の買い物は良いものが無かったみたいで、ちょっと悪いような気分に。。。。
 手に入れたのは Gateway GX7010j というモデルで
   CPU:     インテルPentiumD 830プロセッサ(3GHz)
   チップセット:Intel 945G
   メモリ:   DDRII SDRAM 1024MB
   HDD:     320GB(SATA/7200rpm)
   ドライブ:  DVDスーパーマルチドライブ
          DVD-ROMドライブ
といったものであります。 これまで無名品や自作ばかりだったのですが、PC-9801以来の「ブランド物!」であります。今度、買い換える時はデュアルコアと決めていたので、ぴったりの仕様です。
 大きな箱でしたが、早速、持ち帰って、自分なりにセットし直すことにしました。 パーティションを切り直し、現状のシステムを移し変え、また、今まで遅くて使えなかったソフトなども入れてみました。 ほぼ1週間は、ああだこうだと遊ぶことができました。
 まあ、とにかく速い速い。 今まで3台のPCを使ってきましたが、3台分のソフトを一度に動かしても余裕綽々であります。 デュアルコアだけにパフォーマンスメーターが2つ出てそれぞれ、違った使用率を表示します。(当たり前か?、でも如何にも2つ動いていますと胸を張っているようです。) 普通は2つのCPUコアがそれぞれ10%以下の負荷で、ピークでも30%を超えることはありません。 もっと、重いアプリをがんがん走らせても大丈夫の様です。 同時に起動しておくアプリも20ぐらいは起動しっぱなしにしておいても平気です。 NASAのWorldWindなんかも気持ちよく動きます。 MP3プレイヤーを動かしながら作業しても全然ストレスは感じません。 パソコンで音楽を流すプレーヤーの価値が初めて解りました。(今までは音楽プレーヤーを動かすと、他の作業はかなりストレスを感じましたので、同時に使うことはありませんでした。) もうPCを3台使う必要はなさそうです。 と言うか、「もう遅いパソコンには戻れない!」
 ところで、前のPCは1998年に購入2001年にマザーボード交換したものが1台、残り2台は2000年に購入しているので、5年ほどで製品寿命が来ると言う事でしょうか? やはり、家電製品なんかに比べると短いような気がします。

2006/01 niftyより挨拶が来ました

 正月早々、niftyより挨拶メールが来ました。 曰く「入会以来16年になります」、と言う事は1990年に入会したのか? そう言えば、最初は300ボーのモデムでパソ通から始め、いかに通信時間を短くアクセスするかが課題だったものでした。 niftyのフォーラムをniftermと言うツールで一気にダウンロードして、オフラインで閲覧し、コメントはまとめて、また、別にアップロードすると言う事をやっていました。 ちょうど半二重みたいなものです。

現在位置: トップ > パソコン > パソコン−2006年1−4月