LoginSignup
8
4

More than 5 years have passed since last update.

OMRON MEMS非接触温度センサD6T-44L-06をM5Stackにつないで遊ぶ(データ取得まで)

Last updated at Posted at 2019-02-06

はじめに

オムロンの非接触温度センサD6T(とgrove変換基板)を手に入れたのでM5stackで遊ぼうと思いました。
OMRON MEMS非接触温度センサD6T-44L-06
4×4で温度がわかるすごいやつ
スクリーンショット 2019-02-06 18.45.32.png

ハードウェアについて

GROVE対応の変換基板(4×4非接触温度センサD6T 変換基板)があるのででM5stackにGROVE用のケーブルGROVE - 4ピンケーブル 20cm (5本セット)でつなぐだけで接続はOKです。カンタン!

公式ライブラリ

GitHubに用意していただいています。スゴイ!
https://github.com/omron-devhub/d6t-grove-arduino
今回はArduino向けのライブラリを使用しました。

※ラズパイ向け(python)のライブラリも用意していただいているので、M5Stackで開発するのであればMicroPythonを使えるようにしてこちらを使うことも可能です。(こちらの方がカンタンだったかもしれません)

コーディング

M5StackをArduino IDEで使用するところまでは出来ている前提で書いていきます。
Qiitaにめちゃくちゃわかりやすい記事いっぱいあります。

ライブラリをダウンロード

GitHubから公式ライブラリをcloneするなりZipでダウンロードするなりします。
(ダウンロードしたd6t-grove-arduinoというフォルダはArduino/librariesの中に置けばライブラリとして使用できるようになります。)

このままサンプルを使おうとするとコンパイルエラー吐いた。僕だけじゃないよね?

コンパイル出来た人はおめでとうございます。
コンパイル出来なかった人は以下に対策書いてます。

Arduino向けの公式ライブラリをM5Stackに対応させる

そのままだと上手くいかない理由

  1. D6T-44L-06はI2C通信に35byte使う
  2. ArduinoのI2C通信に使うライブラリ(Wire.h)は32byteまでしか対応していない(ESP32は128byteまでOK)
  3. オムロンのライブラリはそれに対応するためのライブラリ(WireExt.h)が含まれている
  4. しかし、そのライブラリ(WireExt.h)がESP32に対応していない
  5. ライブラリの中で条件分岐で使わないようにしてるみたいだけど何故か反応してコンパイルに失敗する
  6. 結果そのままでは使えない

対応させた

(M5StackとArduinoのどちらでも使いたい場合はM5Stack用に編集したことがわかるように名前を変えておくと便利かもしれません。)

d6t-grove-arduinoというフォルダの中の
srcというフォルダにあるWireExt.hWireExt.hcppを削除します。

スクリーンショット 2019-02-06 20.25.57.png

これでコンパイル通るようになるハズ。

まとめ

動いた
スクリーンショット 2019-02-06 21.17.46.png
sampleはシリアルモニタで見れるハズ
これだとM5Stackでやる意味ないので次回M5Stackの画面に色々表示する編乞うご期待

8
4
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
8
4