安価な中華ガイガーカウンターをIoT化(放射線測定マップの作成 Ⅰ)
https://qiita.com/nanbuwks/items/7ee0bf85be3ff3730405
では、中国製のガイガーカウンター BR-9B を改造して、 IoT化 しました。
その記事では最低限の加工で済ますようにしたために、いくつか使いでが悪いところがあります。
例えば、BR-9B は起動のためには手動操作で ON キーを押す必要がありますが、それより前に ESP32 モジュールの電源が入っていると、 BR-9B が起動するまでにカウンターがものすごい勢いで増えていきます。
この問題があるために、起動時にはタイミングよく ON キーを押すか、クラウドに上がった最初のデータはノイズとして除外する必要があり、運用テクでカバーするやりかたでした。
記事執筆時には、多くの方に改造してもらうために簡単な方法に特化しましたが、それでも敷居が高いという声があり、その後改造済みのガイガーカウンターをエンドユーザに供給するという方向にピボットすることにしました。
となると、手の混んだ改造ができるようになるので、それで使いづらいいくつかの問題を解消することにします。
ものすごい勢いで増える件
改造を追加して、 BR-9B の起動を検出するようにしようかと思いましたが・・・これについては次の改造で、電源を強制的に ON にすることで解消することにしました。
電源を強制的に ON にする
BR-9B の回路は 3.3V で駆動しています。ON キーを押すと 3.3V リニアレギュレーターが作動を開始し、BR-9B がスタートするのですが、その回路とは別に、BR-9B の 3.3V 系にESP32 モジュールの 3.3V を供給するようにします。
それに伴い、本体側の USB コネクタ、電池ボックスは使えなくなります。共用するには、ダイオード追加する必要があります。
放射線測定機能をスタートする
BR-9B は電源 ON になってもラザフォードの恩顔が表示されて、しばらくしたあとにキーを押さないと放射線測定機能がスタートしません。
L、M、R キーのいずれかを押すと測定が開始されます。
更に、測定中のキーの働きは以下のとおりです。
- L キー サウンドのOn/OFF
- M キー 平均値のリセット
- R キー バックライトOFF
- L と R キー同時押し 累積値のリセット
なので電源ONになったしばらくあとにいずれかのキーを ESP32 から押すようにします。
今回は M キーを押すようにしました。
工作
BR-9B の R4,T3,T2がつながっているいずれかへ から放射線検出信号を取り出します。
3.3V 電源(オレンジ)とGND(黒)、Mキー(緑)はサービスポートから取り出します。ちなみにあと1つの端子はRキーです。
GND、放射線検出信号、Mキー は GND/D27/D26 に取り付けました。
ESP32 モジュールに USB ケーブルをプラグすると BR-9B が電源が入ることを確認します。
ちなみに、写真の黒いのは、液晶のダメージです。工具などと一緒にガラガラと運んでいたためです。割と弱い感じなので気をつけないと・・・
サンプルプログラム
M キーをタイミング良く押すようにしてみました。
int count;
void setup() {
Serial.begin(115200);
pinMode(27, INPUT);
delay(1000);
Serial.println();
Serial.print("waiting...");
// BR-9B splash pass
for( int i=7 ; i>0 ; i--){
Serial.print(i);
Serial.print(" ");
delay(1000);
}
pinMode(26, OUTPUT);
digitalWrite(26,LOW);
delay(2000);
pinMode(26, INPUT);
Serial.println("start");
}
void loop() {
int check=digitalRead(27);
if ( 0 == check ) {
count=count+1;
Serial.println(count);
delayMicroseconds(200);
}
}
これで USB ケーブルをプラグして、ラザフォードが出たあとに放射線測定画面になれば OK です。
このスケッチの setup()
をその他のスケッチに持っていけばいいですね。