2011/12/06

ガイガーカウンターインターフェース

LCDのプログラミングをしました。

2行x16文字のLCDに、「直近の1分のCPM(count per minute)値」、下段に「直近5分と60分のカウント(cp/5mとcp/1h)」を交互に表示する、という趣きです。



この手の測定値をどう出すかはよくわかっていなくて、とりあえず
  • 直近の1分のcpmは1秒置きの単純移動平均(毎秒更新)
  • cp/5mとcp/1hは一分ごとの更新
にしてみました。こうすると、記憶領域は60秒分+60分分で120バイトで済みます。

USB経由の出力フォーマットは、
  • 一分毎の「過去一分のCPM」出力
    "HH:MM:SS @ mm:ss N"
    HH:MM:SSは、ホストの時刻、m:sはガイガーカウンター起動直後をepochとするカウンター内時刻(時/分)。
    NはCPM。
  • クリックした時の出力
    "HH:MM:SS !"
    HH:MM:SSは同上。
23:49:41 !
23:49:41 !
23:49:45 !
23:49:53 @ 00:23 6
23:49:54 !
23:49:55 !

上のはログファイルの出力形式でした。ガイガーカウンターは、クリック時に「!」、一分毎に「@ HH:MM CNT」を送ってきます。

ただ、よくよく考えたら(考えなくても)一分後との値をUSBに送る必要はなくクリック毎の情報だけでかまいませんね。ターミナルソフトでのデバッグ用途としては意味があるのですが、一通り動いたら、後は集計はPCでやればよいですね。

0 件のコメント: