Arduino Micro 温・湿度計

Arduino Micro, SparkFun BME280, 8x8 Bi-Color LED Matrixを使った温・湿度計を試作しました。 なを、8x8 Bi-Color LED Matrixについては、Raspberry Piと接続した場合を 「HT16K33をRaspberry Piで使う」 に記載しています。

  • BME280   温度、湿度、気圧     amazon link

2つのスイッチを付けて、以下のように使います。

  • SW1: 温度表示と湿度表示を切り替えます。 温度は緑の数字で、湿度はオレンジの数字で表示します。
  • SW2: ブライトネスを設定します。

8x8のLEDは3x7で2の数字を、一番下の行と、一番右の列の下から2つのLEDを使って小数点以下の一桁を表します。



━ 温度の表示 ━



━ 湿度の表示 ━



回路図

BME280はSPI通信で、8x8 Bi-Color LED MatrixはI2C通信で接続します。



プログラム

BME280用のライブラリはいくつかダウンロードできます。



私はAdafruitのライブラリをつかいました。 このライブラリはbem280のコンストラクタの呼び出し方法でI2C通信か、SPI通信かを切り替えることができます。

#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>

#define BME_SCK 13
#define BME_MISO 12
#define BME_MOSI 11
#define BME_CS 10

#define SEALEVELPRESSURE_HPA (1013.25)

// 以下のいずれかを残して、他2つの行はコメントアウトする
Adafruit_BME280 bme;    // I2C
Adafruit_BME280 bme(BME_CS); // hardware SPI
Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software SPI

Arduinoのスケッチを、https://github.com/mikatahara/BME280_Arduino にアップしました。