グラフィック・ディスプレイを使う (3) Nano 33 IoT+BME280

 連載「グラフィック・ディスプレイを使う」の1回目と2回目では、AdafruitのGFXライブラリを使いました。これは、グラフィック・ディスプレイの描画関数のライブラリです。今回から、このライブラリの利用例を解説します。

 描画を実行するのは、第2回で使った「Adafruit 2.0" 320x240 Color IPS TFT Display」とマイコン・ボードはNano Everyとピン・コンパチブルの「Nano 33 IoT」(写真下)です。こちらは3.3V動作ですが、グラフィック・ディスプレイは3.3/5Vの両方に対応しています。
 随時取得するデータはボッシュのBME280センサを利用します。温度、湿度、気圧が同時に取得できます。動作電圧は3.3Vです。

BME280

 秋月電子通商で入手したBME280ボードを利用します。インターフェースは、

  • I2C
  • SPI 3線式
  • SPI 4線式

の3種類が用意されています。SPI 4線式は一般的なSPIインターフェースで、MOSI、MISO、CLK、CS(SS)の4本でマイコンと接続します。SPI 3線式はMOSIとMISOが共通に接続され、半二重の通信を行います。Microwireの3線式とも呼ばれているようです。
 3線式といった場合、デバイスが1個だけのとき、CS(SS)をGNDにつなぎ、MOSI、MISO、CLKの3本でつなぐ方法を指す場合もあります。

接続

 実験ではディスプレイはつないでいません。BME280ボードのJ1、J2、J3は、マニュアルに従いいずれもオープンにしています。
 D7につないでいるCSBは、SSもしくはCSと呼ばれるチップ・セレクト信号です。

ディスプレイ Nano 33 IoT BME280
Vin JP2-2 3.3V Vdd
3V3  -  -
GND JP2-14 GND GND
SCK JP2-1 SCK SCK
MISO JP3-15 MISO SDO
MOSI JP3-14 MOSI SDI
CS JP3-13 D10  -
RST JP3-12 D9  -
D/C JP3-11 D8  -
 - JP3-10 D7 CSB
SDCS  -  
BL  -  

●スケッチ

 BME280のライブラリをインストールします。ライブラリ管理の検索欄にBME280と入れ、表示されたAdafruit BME280 Libraryをインストールします。

 アラートが出ます。Install 'Adafruit BME280 Library' onlyをクリックしました。

 ライブラリと同時にインストールされたサンプルbme280testを選択します。

 コンパイルすると、Adafruit_Sensor.hがないといわれます。単独でインストールする方法が見つからなかったので、

  https://github.com/adafruit/Adafruit_Sensor/blob/master/Adafruit_Sensor.h

へ行き、ソースをコピーし、エディタに貼り込み、C:\Users\ユーザ名\Documents\Arduino\libraries\Adafruit_BME280_Libraryの中に、Adafruit_Sensor.hのファイル名で保存しました。

 デフォルトではI2C用になっているので、2か所変更します。

 実行しているシリアルモニタの様子です。

前へ

グラフィック・ディスプレイを使う (2) 2インチ 320x240 TFT IPSカラー・ディスプレイ

次へ

グラフィック・ディスプレイを使う (4) テキストとフォント