🌏

電子工作 その8(非接触温度センサー:GY-906の使い方)

2023/05/06に公開

こんにちは、Ideagearの鈴木陽介です。

今回は、Arduino Unoを用いた非接触温度センサー(GY-906)の使い方についてご説明します。

はじめに

このセンサーモジュールの配線はI2Cで、かつプルアップ抵抗が内臓されているため、電源とSDAとSCLの4本だけをArduino Unoにつなげば使えます。ライブラリーもArduino IDEに一つインクルードするだけで使えますので非常にカンタンですので、今回はサクッと解説します。

なお、今回は下記記事を参考にさせていただきました。
https://101010.fun/iot/arduino-gy-906.html

配線

GY-906のVINには3.3Vを供給してください。

Arduino Uno GY-906
3.3V VIN
GND GND
SDA SDA
SCL SCL

実際の配線は下記の通りです。

なお、Arduino UnoのSDAとSCLはどこにあるんだ?
という方は、下記サイトから回路図をご確認ください。
https://www.arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf

ライブラリー

スケッチ > ライブラリーをインクルード > ライブラリーを管理 >`ライブラリマネージャ
から、「Adafruit MLX90614 Library by Adafruit」というライブラリーをインクルードしてください。バージョンは最新版でも大丈夫です。

ソースコード

GY-906に必要なライブラリーは先程インクルードしましたので、あとは、下記ファームをArduino IDEにコピペすれば動くはずです。

#include <Arduino.h>
#include <Wire.h>
#include <Adafruit_MLX90614.h>

Adafruit_MLX90614 mlx = Adafruit_MLX90614();

void setup() {
  Serial.begin(9600);
  mlx.begin();  
}

void loop() {
  Serial.print("Ambient = "); Serial.print(mlx.readAmbientTempC()); 
  Serial.print("*C\tObject = "); Serial.print(mlx.readObjectTempC()); Serial.println("*C");
  Serial.println();
  delay(1000);
}

Arduino Unoへ書き込み後、シリアルモニタを開いて下記の通り表示されれば成功です!

以下は、動作確認時の様子です。
https://twitter.com/Ideaport_Suzuky/status/1654814030933168130

まとめ

いかがでしたでしょうか?

今回のGY-906センサーモジュールの使い方は、電子工作の経験がある程度ある方にとっては拍子抜けするくらいカンタンだったと思います。

あとやはり、I2Cのセンサーはいろいろと楽なので、初心者向けに良いセンサーかもしれませんね。

それではまた!

Discussion