Raspberry Pi로 BME280 모니터링(C++ 및 소프트웨어 I2C)

Raspberry Pi에서 온도 습도 기압 센서의 BME280에서 측정값을 읽습니다.

라고 하는 재료는, 넷상에 흘러넘치고 있습니다만, 곤란한 것에, 대부분이 Python으로 쓰여져 있기 때문에, C/C++로 쓰여진 것이 적고, 참고가 되지 않거나 외부의 I2C 라이브러리에 의존하고 있어 원래 I2C 하드웨어나 라이브러리를 가지지 않는 것 같은 마이크로컴퓨터 칩으로 응용하기 어려워, 등의 불편함을 느꼈습니다. 그래서이 기사에서는 다음과 같은 정책으로 BME280에서 값을 읽습니다.
  • 아마존에서 820 엔으로 살 수있는 염가 센서를 사용한다.
  • C++로 구현
  • I2C 신호선을 자율 제어

  • 쉽게 구입할 수있는 저렴한 센서 모듈을 사용합니다.

    작례에서는 Raspberry Pi 를 사용했습니다만, 메모리가 적은 마이크로컴퓨터 칩등에서의 사용도 상정해, C++로 구현하고 있습니다. AVR 마이크로 컴퓨터와 avr-gcc와 같은 플랫폼에도 쉽게 이식 할 수 있다고 생각합니다. class를 해체하면 C언어로 할 수도 있습니다.

    최근의 많은 마이크로컴퓨터 칩에는 I2C의 송수신 하드웨어가 탑재되고 있습니다만, 그러한 기능을 사용할 수 없는 칩을 상정해, GPIO를 다이렉트 제어해, 소프트웨어 I2C에 의한 통신을 실시합니다.

    BME280에서 값을 읽는 처리는 스위치 사이언스사가 공개하고 있다.

    소스 코드 : Arduino 용 샘플 프로그램

    Raspberry Pi 헤더에서 4개의 선을 그립니다.
  • 1번 핀 : 3.3V
  • 3번 핀 : SDA
  • 5번 핀 : SCL
  • 6번 핀 : GND

  • I2C는 전원 이외에 2개의 신호선으로 양방향 통신을 실시하는 규격입니다. Raspberry Pi는 하드웨어 I2C 기능을 탑재하고 있지만 사용하지 않고 GPIO로 직접 제어하여 소프트웨어 I2C를 실현하고 있습니다.

    htps : // 기주 b. 코m/소라미미/b째 280

    센서 보드의 실크 인쇄대로 선을 연결합니다. VCC와 SDO는 3.3V에 연결된다. CSB라는 핀은 사용하지 않습니다.



    Raspberry Pi에서 C/C++를 사용하여 GPIO를 제어하려면 다음 라이브러리를 사용하기 쉽습니다.

    좋은 웹페이지 즐겨찾기