LoginSignup
0
0

安価な中華ガイガーカウンターをもうちょっと改良(放射線測定マップの作成 Ⅶ)

Last updated at Posted at 2024-02-22

安価な中華ガイガーカウンターをIoT化(放射線測定マップの作成 Ⅰ)
https://qiita.com/nanbuwks/items/7ee0bf85be3ff3730405

では、中国製のガイガーカウンター BR-9B を改造して、 IoT化 しました。
その記事では最低限の加工で済ますようにしたために、いくつか使いでが悪いところがあります。

例えば、BR-9B は起動のためには手動操作で ON キーを押す必要がありますが、それより前に ESP32 モジュールの電源が入っていると、 BR-9B が起動するまでにカウンターがものすごい勢いで増えていきます。

image.png

この問題があるために、起動時にはタイミングよく 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 になってもラザフォードの恩顔が表示されて、しばらくしたあとにキーを押さないと放射線測定機能がスタートしません。

image.png

L、M、R キーのいずれかを押すと測定が開始されます。

更に、測定中のキーの働きは以下のとおりです。

  • L キー サウンドのOn/OFF
  • M キー 平均値のリセット
  • R キー バックライトOFF
  • L と R キー同時押し 累積値のリセット

なので電源ONになったしばらくあとにいずれかのキーを ESP32 から押すようにします。
今回は M キーを押すようにしました。

工作

BR-9B の R4,T3,T2がつながっているいずれかへ から放射線検出信号を取り出します。

IMG_20240222_220432.jpg

3.3V 電源(オレンジ)とGND(黒)、Mキー(緑)はサービスポートから取り出します。ちなみにあと1つの端子はRキーです。

IMG_20240222_220416.jpg

3.3V 電源は ESP32 モジュールの 3V3端子へ。
IMG_20240222_221118.jpg

GND、放射線検出信号、Mキー は GND/D27/D26 に取り付けました。
IMG_20240222_221015.jpg

ESP32 モジュールに USB ケーブルをプラグすると BR-9B が電源が入ることを確認します。
IMG_20240222_220904.jpg

ちなみに、写真の黒いのは、液晶のダメージです。工具などと一緒にガラガラと運んでいたためです。割と弱い感じなので気をつけないと・・・

サンプルプログラム

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() をその他のスケッチに持っていけばいいですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0