SSブログ

三月の電子工作「SPRESENSEでサーマルカメラを作ろう!」ー人感センサーを試してみた!ー [SPRESENSE]

前回、AMG8833 でカメラと重畳しました。ずっと動かしているとバッテリーの消耗が激しそうなので、人感センサーで動きを検出したらシステムを起動するようにしたいと思いました。で、Amazon で購入した激安の人感センサー「HC-SR501」を試してみました。


SC-HR501.jpg



■ SPRESENSEに「HC-SR501」をつなげてみたら動かない
せっかくならメインボードのみで動かせないかと思い、何も考えずにつなげてみました。IO が 3.3V なので、電源が 3.3 Vでも動くんじゃね?と思ったのですが、、、甘かった。まぁ、動かないよねと思ったのですが、やっぱり動かない。


DSC02062.JPG


回路図を見てみたら、しっかりと LDO が載っています。5~20V を 3.3V にレベルダウンをしています。


SC-HR501-Circuit.png


これじゃ動かないよね、ということで、立派な LDO ですが、今回は邪魔なので取っ払ってしまいました。


HC-SR501_33V.jpg


導通しても問題なし。これで電源はなんとかなりました。



■ 感度と出力保持時間の調整が難しい
「SR-HC501」は ”ボリュームで感度と出力保持時間を調整できる” となってはいるのですが、これがなかなか難しい。


HR-SC501_AdjustVolume.png


SR501 のセンサー部の PIR は内部にキャパシタンスがあり、それが充電できるまで検出できないようです。同じものかどうか分かりませんが、村田のセンサーは起動まで30数秒程度の時間が必要とデータシートにありました。それを知らずに、動かねぇ~と試行錯誤の連続。


RIP_Warm-upTime.png


”出力保持時間” も曲者です。なかなか検出しないので、検出できるようにと時計回りにまわすと、検出もしていないのにHIGHになりっぱなしになります。これに気づかず、ハンダを失敗したのかと試行錯誤することになりました。

割り込みで検出する場合、”出力保持時間”は、関係ないので最短(反時計回りいっぱい)に設定しておきました。


sDSC02063.jpg


それは良しとしても、まだうまく動きません。ググってみたら検出間隔を短くするために抵抗をつけかえると良いと書いてあったので、思い切ってやってみましたが、これはNG。一度検出するとずっと検出しっぱなしになってしまいました。


sDSC02059.jpg


気を取り直して、いろいろと調整してみたところ、やっと見つけたスイートスポット。ようやく期待どおりに動くようになりました。


DSC02064.JPG


買ってきてポン付けで動くと思ったのですが甘かった。このセンサー用のLSI(BISS0001)の中身はオペアンプでなので、むしろ自作したほうが良いかもしれません。



■ 人感センサーでSPRESENSEを起動する
いよいよ、人感センサーを割り込みを使ってSPRESENSEを起動するようにしたいと思います。構成は、人感センサーとSPRESENSEメインボードだけです。(SPRESENSEのIO電圧1.8Vに対し3.3Vを突っ込むので、自己責任でやってくださいねー)


DSC02062.JPG


電源コントロールに LowPower ライブラリを用いました。SPRESENSEは割り込み起動も簡単にできるので便利ですね。

#include <LowPower.h>
#include <EEPROM.h>

#define DET_PIN 16

int eeprom_address = 0;
int value;

bool bDetect = false;
void detect() {
  bDetect = true;
}

void setup() {
  Serial.begin(115200);
  LowPower.begin();
  attachInterrupt(digitalPinToInterrupt(DET_PIN), detect, RISING);

  bootcause_e bc = LowPower.bootCause();

  if ((bc == POR_SUPPLY) || (bc == POR_NORMAL)) {
    Serial.println("Example for GPIO wakeup from cold sleep");
  } else {
    Serial.println("wakeup from cold sleep");
  }
  LowPower.enableBootCause(DET_PIN);  
  sleep(1);
}

void loop() {
  static int n = 0;
  if (bDetect) {
    digitalWrite(LED0, HIGH);
    value = EEPROM.read(eeprom_address);
    Serial.println("DETECT!" + String(value));
    ++value;
    EEPROM.write(eeprom_address, value);
    bDetect = false;
  } else {
    digitalWrite(LED0, LOW);
  }
  delay(300);
  digitalWrite(LED0, LOW);

  // Cold sleep
  Serial.print("Go to cold sleep...");
  delay(1000);
  LowPower.coldSleep();
}


気になる消費電力は、私のしょぼい電圧電流計で計測したところ、待受状態では 10μA 程度で、動いている状態で 20μA 程度でした。動作時 "20uA" は反応の悪い電圧計で測定したので一定時間の平均となっています。瞬間的には SPRESENSE には 6mA 程度流れているはずです。


DSC02065.JPG

しかし、この人感センサーは低消費電力ですね。最大消費電流 100uA となっていましたが偽りなしですね。これはSPRESENSEと相性よいかも…



■ 動かしてみた感想
簡単に動かせると思った人感センサーですが、思いの外苦戦をしてしまいました。ただ、使いこなせるようになると、強い味方になりそうです。そのためには、RIP Motion Sensor そのものの特性を熟知しておく必要がありそうです。

BISS0001は、アナログ回路に慣れていない人には便利なのかも知れませんが、少し使いにくい印象です。むしろオペアンプで増幅回路を自作したほうがよいのかもなと思いました。時間があったらチャレンジしてみようかな。

次回は、この人感センサーとカメラシステムを組み合わせてみたいと思います。
(^^)/~


■ 関連記事
三月の電子工作「SPRESENSEでサーマルカメラを作ろう!」
https://makers-with-myson.blog.ss-blog.jp/2021-03-07
三月の電子工作「SPRESENSEでサーマルカメラを作ろう!」カメラ画像にサーマル画像を重畳してみた
https://makers-with-myson.blog.ss-blog.jp/2021-03-14
三月の電子工作「SPRESENSEでサーマルカメラを作ろう!」人感センサーで撮影するサーマルカメラ完成
https://makers-with-myson.blog.ss-blog.jp/2021-04-06









SONY SPRESENSE メインボード CXD5602PWBMAIN1

SONY SPRESENSE メインボード CXD5602PWBMAIN1

  • 出版社/メーカー: スプレッセンス(Spresense)
  • メディア: Tools & Hardware



SONY SPRESENSE カメラモジュール CXD5602PWBCAM1

SONY SPRESENSE カメラモジュール CXD5602PWBCAM1

  • 出版社/メーカー: スプレッセンス(Spresense)
  • メディア: Tools & Hardware




nice!(27)  コメント(0) 
共通テーマ:趣味・カルチャー

三月の電子工作「SPRESENSEでサーマルカメラを作ろう!」ーカメラ画像にサーマル画像を重畳してみたー [SPRESENSE]

SPRESENSEでAMG8833を動かすのは当たり前の話なので、ここで取り上げてもあまり面白くありません。そこで、前回紹介した、SPRESENSEカメラ と AMG8833を使って、カメラ画像にサーマルデータを重畳する方法をご紹介します。


DSC02047.JPG


■ SpresenseとAMG8833とLCDディスプレイの配線
AMG8833はI2Cインターフェースになっていますので接続は簡単です。その際に拡張ボードのIO電源設定が3.3Vになっていることを確認してください。USB端子の近くのジャンパーです。I2Cはプルアップ抵抗が必要かも知れませんので、必要に応じて追加してください。


AMG8833_CameraOverlap.png



■ AMG8833用の Arduino ライブラリをインストールする
AMG8833のライブラリは、Arduinoの公式ライブラリからインストールできます。また、ILI9341とGFXライブラリは、あらかじめ Spresense用の LI8341 とGFXライブラリを kzhioki 氏のサイトのものをインストールしましょう。


2021-03-14 (1).png


公式のものをインストールするとフレームレートがめちゃくちゃ遅いです。kzhioki 氏のものは Spresense に最適化されているようです。



■ Spresense用のスケッチを作成する
Spresenseサーマルカメラのスケッチを Github にアップロードしておきました。

s_github.png YoshinoTaro/Spresense-AMG8833-CameraOverlap

Contribute to YoshinoTaro/Spresense-AMG8833-CameraOverlap development by creating an account on GitHub. github.com



AMG8833は 8x8 しか解像度がありません。SPRESENSEカメラに大きさをあわせるために、hkoffer氏が作成したInterpolation のプログラムを取り込んでいます。

アルファブレンディングを変えたい場合は、”ALPHA_BLENDING”の値を変えてください。サーマル画像とカメラ画像の割合を変更することができます。


■ 作ってみた感想
AMG8833は、I2Cなのでフレームレートが遅いですね。だいたい 2 fps あるかないか位でしょうか。でもサーマル画像だけでは何なのか分からなかったものが、映像に重畳すると何に反応しているのか分かるのでちょっと面白いですね。





次はどうしようかな。人感センサーと組み合わせて見ようかな。
(。-`ω´-)うーん


■ 関連記事
三月の電子工作「SPRESENSEでサーマルカメラを作ろう!」
https://makers-with-myson.blog.ss-blog.jp/2021-03-07
三月の電子工作「SPRESENSEでサーマルカメラを作ろう!」人感センサーを試してみた!
https://makers-with-myson.blog.ss-blog.jp/2021-03-21
三月の電子工作「SPRESENSEでサーマルカメラを作ろう!」人感センサーで撮影するサーマルカメラ完成
https://makers-with-myson.blog.ss-blog.jp/2021-04-06









SONY SPRESENSE メインボード CXD5602PWBMAIN1

SONY SPRESENSE メインボード CXD5602PWBMAIN1

  • 出版社/メーカー: スプレッセンス(Spresense)
  • メディア: Tools & Hardware



SONY SPRESENSE 拡張ボード CXD5602PWBEXT1

SONY SPRESENSE 拡張ボード CXD5602PWBEXT1

  • 出版社/メーカー: スプレッセンス(Spresense)
  • メディア: Tools & Hardware



SONY SPRESENSE カメラモジュール CXD5602PWBCAM1

SONY SPRESENSE カメラモジュール CXD5602PWBCAM1

  • 出版社/メーカー: スプレッセンス(Spresense)
  • メディア: Tools & Hardware




nice!(23)  コメント(0) 
共通テーマ:趣味・カルチャー

三月の電子工作「SPRESENSEでサーマルカメラを作ろう!」 [SPRESENSE]

二月の電子工作はなかなかチャレンジでしたが、三月は仕事も忙しいので少し軽めな課題を選びました。SPRESENSEでサーマルカメラを作りたいと思います。実はこのシステムすでに一回実現しちゃってるんですよね。(詳しくは Twitter を参照)


sDSC_1326.jpg


これは、パナソニックのサーマルセンサー「AMG8833」と、SPRESENSEを組み合わせたカメラです。SPRESENSEのカメラの画像とAMG8833の出力をオーバーレイさせてるので、どこに熱源があるか一発でわかるようになっています。


sAMG8833_Spresense.jpg


同じことを繰り返してもつまらないので、ここはSPRESENSEメインボードだけで実現して、できればWiFiで画像を飛ばすようにしようかな。LTE-Mで飛ばすのも面白いかな。


どこまで広げるかは仕事の忙しさ次第ということで。お楽しみに~。(^^)/~


■ 関連記事
三月の電子工作「SPRESENSEでサーマルカメラを作ろう!」カメラ画像にサーマル画像を重畳してみた
https://makers-with-myson.blog.ss-blog.jp/2021-03-14
三月の電子工作「SPRESENSEでサーマルカメラを作ろう!」人感センサーを試してみた!
https://makers-with-myson.blog.ss-blog.jp/2021-03-21
三月の電子工作「SPRESENSEでサーマルカメラを作ろう!」人感センサーで撮影するサーマルカメラ完成
https://makers-with-myson.blog.ss-blog.jp/2021-04-06









SONY SPRESENSE メインボード CXD5602PWBMAIN1

SONY SPRESENSE メインボード CXD5602PWBMAIN1

  • 出版社/メーカー: スプレッセンス(Spresense)
  • メディア: Tools & Hardware



SONY SPRESENSE カメラモジュール CXD5602PWBCAM1

SONY SPRESENSE カメラモジュール CXD5602PWBCAM1

  • 出版社/メーカー: スプレッセンス(Spresense)
  • メディア: Tools & Hardware




nice!(13)  コメント(0) 
共通テーマ:趣味・カルチャー