照度データをTeraTermで受信
上図
TearTermの設定でAppend (追記)Modeのオプションがあります。
Teratermの接続を終了するとlog(ログ)ファイルが生成されます。
メモ帳で開く事ができます。
このとき、上図の様にデータの先頭にタイムスタンプが押されます。
TeraTermの受信時の受信画面にはタイムスタンプの表示は出ません。
上図
同じlog(ログ)ファイルを「さくらエデッター」を使用して開いた状態です。
メモ帳での見えと全く同じです。
上図
DeciamlBASIC にてこのデータを読みます。
ある日のある時刻のデータの1つを読めれば十分です。平均値まで算出してそれを使用する気もありません。
何十個とデータを収集していますが、少し時間経過した安定なデータをサンプルとして採り出します。桁数で50桁あたりを目途にします。
現在段階でこのプログラムはグラフデータが1件ですので、(0,0)から (8,4804)の描画です
[特徴・規則性]
●ファイルは文字型データです。各桁は半角です。
●データの特徴としてSpace(スペース)2個の後に必要とするデータがあります。単位のmvは不要です。
●TeraTerm接続の最初にデータがバグることがありました。すなわち、桁落ちなどです。
[使用データをどうするか]
●採取したいデータは0~9までの4桁の文字データです。正常観測なら必ず4桁です。
●0~9 のキャラクタコードは30H~39Hが割り当てられています。
●データ並びから任意の4桁を採りだします。この4桁中の1桁ずつ30H~39Hに合致するかを検査します。4桁中1桁でも合致しない場合は、数字が入っていないことになります。
●上記ですべて4桁の文字が得られない場合は、右に1桁分シフトした4桁を採りだします。この、シフトを行った4桁について同様に1桁ずつ30H~39Hに合致するか検査します
●以上のアルゴリズムにより、連続した4桁の文字を採取できるはずです。
●採取した4桁の文字を数値に変換します。
■上図のプログラム・実行結果は、データのバグに対して無力です。
2個のSpace(スペース)の後には必ず4桁の文字があることが前提の考え方です。
実際はバグルと1桁の時とか2桁しかない時もあり得ると考えます。「任意の4桁」の採りだし方を、右に1桁移動し4桁を採取します。さらに右に1桁移動した4桁を採取します。これを7回繰り返します。このそれぞれで1文字ずつ検査をするわけです。
すると、必ず4桁連続の文字を取得することができると考えます。
下図
次にこの概念をフローチャートにしました。ご覧ください。
めっちゃ 悪筆ですが思いつくままフロー図にしました。概念が重要だと言い訳します。
さらに、清書する予定です。
上図
大きな来年のカレンダーを明治安田さんから頂きました。
まずは、その表紙の裏側の白い面がフローチャートを描くのに最適です。
以前も電子カレンダーアラームをプログラムしました。この時もやはりカレンダーの裏側
にフロー図や状態遷移図を描きました。
思いつくまま書きます。きれいに書こうとは思わず、その時の思考過程を直ちに図式化しました。これが、結局最後まで重要な資料・思考過程の記録となっています。
あとで見ても自分の悪筆にいやになりますが、その時のプロセスが如実に思い出されます
今回は、下に長く伸びるフロー図となりました。