OMRON MEMS 비접촉 온도 센서 D6T-44L-06을 M5Stack에 연결하여 재생 (데이터 취득까지)

소개



오므론의 비접촉 온도 센서 D6T(와 grove 변환 기판)를 손에 넣었으므로 M5stack에서 놀자고 생각했습니다.
OMRON MEMS 비접촉 온도 센서 D6T-44L-06
4×4로 온도를 알 수 있는 대단한 녀석


하드웨어 정보



GROVE 대응의 변환기판 (4×4 비접촉 온도 센서 D6T 변환 기판) 가 있기 때문에 M5stack에 GROVE용 케이블 GROVE - 4핀 케이블 20cm (5개 세트) 로 연결하는 것만으로 접속은 OK입니다. 간단!

공식 라이브러리



GitHub에 준비되어 있습니다. 스고이!
htps : // 기주 b. 이 m / m-ro에서 v fu b / d6 tg 로즈 ぇ - r
이번에는 Arduino 용 라이브러리를 사용했습니다.

※라즈파이용(python)의 도서관도 준비해 주시고 있으므로, M5Stack로 개발한다면 MicroPython을 사용할 수 있도록(듯이) 해 이쪽을 사용하는 것도 가능합니다. (이쪽이 간단했을지도 모릅니다)

코딩



M5Stack을 Arduino IDE에서 사용하는 곳까지는 되어 있는 전제로 써 갑니다.
Qiita에 엄청 알기 쉬운 기사 가득 있습니다.

라이브러리 다운로드



GitHub 에서 공식 라이브러리를 clone 하여 ZIP 으로 다운로드 합니다.
(다운로드한 d6t-grove-arduino라는 폴더는 Arduino/libraries 안에 두면 라이브러리로 사용할 수 있게 됩니다.)

이대로 샘플을 사용하려고 하면 컴파일 에러 토했다. 나만이 아니야?

컴파일 할 수 있었던 사람은 축하합니다.
컴파일 할 수 없었던 사람은 이하에 대책 쓰고 있습니다.

Arduino 용 공식 라이브러리를 M5Stack과 호환 가능



그대로라면 잘 안되는 이유


  • D6T-44L-06은 I2C 통신에 35byte 사용
  • Arduino의 I2C 통신에 사용되는 라이브러리 (Wire.h)는 32byte까지만 지원합니다 (ESP32는 128byte까지 OK)
  • 오므론 라이브러리에는 해당 라이브러리 (WireExt.h)가 포함되어 있습니다
  • 그러나 라이브러리 (WireExt.h)가 ESP32를 지원하지 않습니다
  • 라이브러리에서 조건부 분기에서 사용하지 않는 것처럼 보이지만 왜 반응하여 컴파일에 실패합니다.
  • 결과 그대로는 사용할 수 없다

  • 대응했다



    (M5Stack과 Arduino 모두 사용하고 싶은 경우는 M5Stack용으로 편집한 것을 알 수 있도록 이름을 바꾸어 두면 편리할지도 모릅니다.)
    d6t-grove-arduino라는 폴더에src라는 폴더에 있는 WireExt.hWireExt.hcpp를 삭제합니다.



    이것으로 컴파일 통과하게 되는 하즈.

    요약



    움직였다

    샘플은 시리얼 모니터에서 볼 수 있는 하즈
    이것이라면 M5Stack에서 할 의미가 없기 때문에 다음에 M5Stack의 화면에 여러가지 표시하는 편지 기대

    좋은 웹페이지 즐겨찾기