edit

Grove 赤外線温度センサーアレイ(AMG8833)

Grove-赤外線温度センサーアレイ(AMG8833)は、高度なMEMS技術に基づいた高精度の赤外線アレイセンサーです。最大7メートルの距離で温度検出でき、8x8ピクセル(64ピクセル)の2次元画像が得られます。

ArduinoとRaspberry Piのデモを紹介します。自分の赤外線カメラを作る場合、それが完璧なモジュールになります。

特徴

  • 最大7メートルの検出距離で温度検出できる
  • 8x8ピクセル(64ピクセル)の2次元画像が得られる
  • I2C 出力(温度の数値出力ができる)
  • ±2.5 °C /±4.5 °Fの高精度
  • 長測定距離

仕様

アイテム
作動電圧 3.3V / 5V
測定対象の温度範囲 0 °C to 80 °C +32 °F to +176 °F
作動の温度範囲 0 °C to 80 °C +32 °F to +176 °F
貯蔵の温度範囲 −20 °C to 80 °C –4 °F to +176 °F
温度の精度 標準的 ±2.5 °C ±4.5 °F
視野角 Typical値 60 °
光軸の間隔 標準内 ±5.6 °
ピクセルの数 64 (垂直8 ×水平8 の行列)
外部のインターフェース I2C
I2Cアドレス 0x68(デフォルト) \ 0x69(選択可能)

代表的な応用

  • 電子レンジ、エアコンなどの家電
  • オフィスの省エネ応用(空調/照明制御)
  • デジタル看板
  • 自動的なドア/エレベーター

ハードウェア一覧

ピンアウト

回路図

電気

AMG8833の標準電圧は3.3Vなので、 XC6206P33チップを使って安定した3.3Vを提供します。XC6206P33の入力範囲は1.8Vから6.0Vまでです。したがって、3.3Vと5Vでこのモジュールを Arduinoと一緒に使えます。

双方向レベルシフター回路

これがI2Cバスの二つ異なる電圧部に接続するための典型的な双方向レベルシフター回路です。このセンサーの I2C バスは3.3Vを使います。もしArduinoの I2Cが5Vを使うなら、この回路が必要になります。 上記の概略図の中に Q6Q5 はN-チャネル MOSFET 2N7002Aで、双方向スイッチとして機能します。この部分をよく理解するために、 AN10441をご参照ください。

プラットフォーム

Arduino Raspberry Pi BeagleBone Wio LinkIt ONE

Caution

上記のような支持するプラットフォームがモジュールのソフトウェアまたは理論的な互換性があります。ほとんどの場合、Arduinoプラットフォームにソフトウェアライブラリーまたはサンプルコードだけを提供します。すべてのMCUプラットフォームにソフトウェアライブラリー/デモコードを提供する可能性がありません。したがって、ユーザーは自分のソフトウェアライブラリーを書く必要があります。

入門

Arduinoと一緒に使う

ハードウェア

必要な部品

Seeeduino V4.2 ベースシールド 赤外線温度センサーアレイ 2.8 TFT タッチシールドV2.0
enter image description here enter image description here enter image description here
購入 購入 購入 購入
  1. ポートを壊さないように、USBケーブルを穏やかに差し込んでください。内部2本のワイヤーを備えるUSBケーブルがデータを伝送できないので、4本のワイヤーを備えるのを使ってください。自分が持っているワイヤーをよく知らない場合、こちらから購入してください。
  2. Groveモジュールを買う時に、各Groveモジュールが一つのGroveケーブルを搭載しています。そのGroveケーブルをなくした場合、こちらから購入してください。

手順

  • Step 1. Grove -赤外線温度センサーアレイ(AMG8833)をGrove-ベースシールドの I2C ポートに接続します。

  • Step 2. Grove - ベースシールドをSeeeduinoに差し込みます。

  • Step 3. 2.8 TFTタッチシールドV2.0をGrove - ベースシールドに差し込みます。

  • Step 4. USBケーブルを介してSeeeduinoをPCに接続します。

Note

Groveベースシールドがない場合、次のようにこのモジュールを直接Seeeduinoに接続することができます。

Seeeduino Groveケーブル Grove - 赤外線温度センサーアレイ(AMG8833)
GND GND
5V or 3.3V VCC
SDA SDA
SCL SCL

ソフトウェア

Note

初めてArduinoを使用する場合、始める前にぜひ Arduino入門を読んでください。

  • Step 1. Githubから Seeed_AMG8833 ライブラリーをダウンロードします。

  • Step 2. ライブラリーをインストールする方法を参照して、Arduino用のライブラリーをインストールします。

  • Step 3. Arduino IDEを再起動し、例を開いてください。開く方法は次のように三つあります:

    1. **File → Examples → Grove IR Matrix Temperature sensor AMG8833 → TFT_screen_demo**というパスを介して、直接Arduino IDEの中で開きます。

    2. TFT_screen_demo.ino をクリックして、コンピューターの中で開きます。SCD30_Example.ino が XXXXArduino\libraries\Seeed_AMG8833-master\examples\TFT_screen_demo というフォルダで見られます。その中の XXXX がArduino IDEをインストールしたロケーションです。

    3. または、コードブロックの右上隅にある というアイカンをクリックして、次のコードをArduino IDEの中の新たなスケッチにコピーします。

#include <stdint.h>
#include <TFTv2.h>
#include <SPI.h>

#include "Seeed_AMG8833_driver.h"


AMG8833 sensor;

#define TFT_PIXELS_NUM   30

void parse_int_status(u8* status)
{
    u8 val=0;
    for(u32 i=0;i<8;i++)
    {
        if(status[i])
        {
            for(u32 j=0;j<8;j++)
            {
                if(status[i]&((1<<j)))
                {
                    Serial.print("pixel ");
                    Serial.print(8*i+j+1);
                    Serial.println("interrupt is generated!!!");
                }
            }
        }
    }
}

void print_status(u8* status)
{
    for(u32 i=0;i<8;i++)
    {
        Serial.print(status[i],HEX);
        Serial.print("  ");

    }
    Serial.println("  ");
}




void setup()
{
    Serial.begin(115200);
    sensor.init();
    TFT_BL_ON;
    /*2.8 TFT screen. url:https://www.seeedstudio.com/2.8-TFT-Touch-Shield-V2.0-p-1286.html*/
    Tft.TFTinit();
}



void loop()
{
    u8 val=0;
    float pixels_temp[PIXEL_NUM]={0};
    u16 color[PIXEL_NUM]={0};
    /*Read temperature*/
    sensor.read_pixel_temperature(pixels_temp);
    /*Different temperature correspond to different color.*/
    for(u32 i=0;i<PIXEL_NUM;i++)
    {
        if(pixels_temp[i]<29)
        {
            color[i]=BLUE;
        }
        else if((pixels_temp[i]>=29)&&(pixels_temp[i]<30))
        {
            color[i]=GREEN;
        }
        else if((pixels_temp[i]>=30)&&(pixels_temp[i]<31))
        {
            color[i]=YELLOW;
        }
        else if((pixels_temp[i]>=31)&&(pixels_temp[i]<33))
        {
            color[i]=0xfd00;
        }
        else
        {
            color[i]=RED;
        }
    }
    /*Use a TFT screen to display.*/
    for(u32 i=0;i<PIXEL_NUM;i++)
    {
        Tft.fillScreen(TFT_PIXELS_NUM*(i%8),TFT_PIXELS_NUM*(i%8+1),TFT_PIXELS_NUM*(8-i/8),TFT_PIXELS_NUM*(7-i/8),color[i]);
    }
}

Attention

このライブラリーファイルが更新された可能性があります。このコードが更新されたライブラリーに応用できない可能性があるので、最初の二つの方法を使ったほうがいいです。

  • Step 4. デモをアップロードします。コードをアップロードする方法が知らない場合、 コードをアップロードする方法をご参照ください。

    Success

    うまくいったら、TFTスクリーンが温度マップを表示することが見られます。

Raspberryと一緒に使う

Note

初めてraspberry piを使う場合、 raspberry Pi入門(英語)をご参照ください。

ハードウェア

必要な部品

Raspberry Pi Raspberry Pi用のGroveベースハット 赤外線温度センサーアレイ 5インチ800x480静電容量式タッチスクリーン
enter image description here
購入 購入 購入 購入

Tip

Pi-スクリーンを持っていないなら、PCモニターを使ってもいいです。または、このVNCビューアーを使ってリモートで結果を表示します。

  • Step 1. Grove - 赤外線温度センサーアレイ(AMG8833)をRaspberry Pi用のGroveベースハットの I2C ポートに接続します。

  • Step 2. Raspberry Pi用のGroveベースハットをRaspberry Piに差し込みます。

  • Step 3. HDMIケーブルを介して5インチ800x480静電容量式タッチスクリーンをRaspberry Piに接続します。

  • Step 4. マイクロ-USBケーブルを介してRaspberry PiをPCに接続して、ほかのマイクロ-USBケーブルを介してこの5インチ800x480静電容量式タッチスクリーンを充電します。

ソフトウェア

  • Step 1. I2Cインターフェースを開いてください。 端末を開けて、次のようなコマンドをタップします。
sudo raspi-config

  • Step 2. 上記の写真を見ると、 インタフェースオプション を選んで、 I2C を選択してI2Cインターフェースを有効にします。

  • Step 3. 以上のことを完成したら、次のようなコマンドを使ってチェックします。
sudo i2cdetect -y 1

I2Cのアドレスが見えます。 つまり、このraspberryがセンサーを検出したと意味しています。見えないなら、 ステップ1~3をもう一度してください。 では、次にいきましょう。

  • Step 4. 端末の中で次のようなコマンドをタップして、関連する依存物をインストールします。
sudo apt-get update
sudo apt-get install -y build-essential python-pip python-dev python-smbus git
sudo apt-get install -y python-scipy python-pygame
sudo pip install colour
  • Step 5. Seeed AMG8833 Pythonライブラリーをダウンロードします。
git clone https://github.com/Seeed-Studio/Seeed_AMG8833_Raspberry_Python.git
  • Step 6. AMG8833フォルダーにを開いて、デモを実行させます。
pi@raspberrypi:~ $ cd Seeed_AMG8833_Raspberry_Python/
pi@raspberrypi:~/Seeed_AMG8833_Raspberry_Python $ ls
driver.py   README.md         Seeed_AMG8833.pyc
driver.pyc  Seeed_AMG8833.py  thermal_cam.py
pi@raspberrypi:~/Seeed_AMG8833_Raspberry_Python $ python thermal_cam.py

Success

うまくいったら、次のようなことが見えます。

回路図

資料

デモ

これがこの商品の簡単な紹介で、簡単なデモです。ぜひ試してください!

Wio Terminalを使ってIR Thermal Imagingカメラを作る Grove - 赤外線温度センサアレイ(AMG8833)とWio Terminalを使って、FLIR™のような低コストの赤外線カメラを作ることができます。詳しいのはこちらへ。

技術サポート

技術的な問題は、技術問題をフォーラムに投稿してください。