人感センサーとして赤外線センサーで少しは動きが分かるのが良いかと思い,Panasonic社の 8x8 の赤外線アレイセンサ「AMG8833」のモジュールを試しています。

モジュールはスイッチサイエンス社の「Conta™ サーモグラフィー」にしました。私としては改修中の清水寺の工事の足場から飛び降りる覚悟の出費です (^^;;;;;;;;;;。

これをArduinoにつなぎ,PCでの表示も試してみようという目論見です。モジュールに提供されているスケッチで何とか動きましたので,備忘録としてのメモです。


1.ハードウェアー

 1) Arduino Nano 互換機
 ・電源系:5V入力,3.3V出力あり
 ・I2C:SCL= A5 Pin SDA =A4 Pin
 ・Processor:ATmega328P (Old Bootloader)を選択
 ・シリアル通信:USB接続を使用

 2) Conta™ サーモグラフィー
 ・電源:3.3V入力
 ・I2C:スレーブアドレス ”68h” (7bit)

 3) 双方向電圧レベル変換モジュール(PCA9306)
 ・電源系:5V,3.3V ともにArduinoから供給
 ・I2CのSCLとSDAをArduinoからは5V系にセンサーからは3.3V系につなぐ
 ・プルアップ抵抗(1KΩ)が付いている

 4) Windows10 PC
 ・Arduino IDEとProcessingで使用

ブレッドボードの配置です。




2.ソフトウェアーと動作

 1) Arduino IDEとProcessingはPCに導入しておく

 2) モジュールのArduino用サンプルスケッチ
 ・AMG88_Arduino.ino
 ・スイッチサイエンス社のGitHubからダウンロードする
 ・見つけにくいが同社の内部Wikiに詳しい説明がある
 ・センサのデータはUSBのシリアル通信で送られる
 ・スケッチのスレーブアドレスを"68h"に変更する
  (他社のモジュールは"69h"がデフォルト)
-----------------------------------------------

------------------------------------------------


 (1) 動作をArduino IDEのシリアルモニターで確認
 ・シリアル通信を115200bpsに設定する



 (2) 動作をArduino IDEのシリアルプロッターでも見てみる(^^;;;;;;;




3)Processingで視覚化してみる
 ・Arduino用と同時にProcessing用スケッチ「amg88.pde」もダウンロード
 ・このソフトもスイッチサイエンス社の内部Wikiに詳しい説明がある
 ・Arduinoからセンサーのデータはシリアル通信で送られてくる
 ・Arduino IDE のシリアルモニターなどは閉じておく
 ・amg88.pdeを一瞬走らせ,PCのCOMポートのリストを得る。
 ・Arduinoが使用しているCOMポートのリスト順位をスケッチに書き込む




 (1)Processingでamg88.pdeを動作させ,センサーから10cmほど離れたところで指でチョキを出してみた




 (2)センサーから20cmほど離れたところで手をグーで斜めに動かしてみた





以上,センサーから真正面では距離は分かりませんが位置の把握には8X8のグリッドでもなかなか有効そうです V(^^)


今回は市販のモジュールを使いサンプルのスケッチを動かすと言う事で,私はな〜〜んにもやっていません(^^;;;;;;;

ま,それでもちゃんと動くのが見えたので,これからまずはArduinoやProcessingのサンプルの内容を理解して,応用していきたいですね。

人感センサーの候補として32X24のサーマルカメラMLX90640をESP32で試してみる

→ CircuitPythonで8X8赤外線アレイセンサのデータをLEDマトリックスに表示してみた