初めてのBLE (19) Feather nRF52840 Sense①準備

 AdafruitのFeather nRF52840 Sense(写真右)は、Feather nRF52840 Expressボード(写真左)に各種センサを搭載したコンパクトなマイコン・ボードです。

 二つのボードは、次のようにほぼ同じピン配置です。異なるのは、USBの横にあるLEDがD3かD13かの違い、Senseボードには青色LED D4が追加されています。

Adafruit Feather nRF52840 Express Senseのおもなスペック

  • CPU ARM Cortex M4F(64MHz)
  • メモリ フラッシュ1MB、SRAM 256KB
  • 動作電圧 1.7~3.3V
  • Native Open Source USB stack
  • Bluetooth Low Energy compatible 2.4GHz
  • GPIO 21本(上の図以外、D0 Tx、D1 Rx、D2 NFC2、D13 LED1(赤色)、D7 BUTTON1、D8 NEOPIXEL、D22 SDA、D23 SCL、D24 MISO、D25 MOSI、D26 SCK、D5 SS、D4 LED(青色)はシルク印刷のConnの隣にある)
  • アナログ 6チャネル(12ビット、上の図以外、A6 Vbat、A7 Aref)

 センサです。マイク以外は、いずれもI2Cインターフェースでつながっています。

  • STマイクロ 6軸IMU(慣性計測装置)- LSM6DS33(0x6A):Accel(加速度)/Gyro(ジャイロ・センサ) + 3軸の磁気センサLIS3MDL(0x1C):magnetometer
  • APDS9960(0x39):Proximity(近接)、Light、Color、ジェスチャ・センサ
  • PDM:マイク、サウンド・センサ(D34;PDMデータ、D35;PDMクロック
  • SHT30(0x44):温度、湿度センサ
  • BMP280(0x77):温度、気圧、高度センサ

Arduino IDEで利用する

 執筆時点で最新のArduino IDE 1.8.13を使います。メニューのファイルから環境設定を開きます。追加のボードマネージャ欄に、,で区切って次のURLを追加します。

  https://www.adafruit.com/package_adafruit_index.json

 ツールの中ほどにあるボードから、ボードマネージャを開きます。検索欄に「Adafruit nRF52」を入れ、Adafruit nRF52をインストールします。

 ツールのボードから、Adafruit nRF52 boards - Adafruit Feather Bluefruit Senseを選択します。

 シリアルポートを選択します。

サンプル・スケッチ

 https://learn.adafruit.com/adafruit-feather-sense/arduino-sensor-example

にあるfeather_sense_sensor_demo.inoをコピーし、Arduino IDEにコピーします。先頭付近にあるセンサのインクロード文を見て、たとえばAPDS9660を、ツールにある「ライブラリを管理」を立ち上げ、検索欄に入れ、見つかったAdafruit APDS9660 Libraryをインストールします。
 同様に、ほかのライブラリも追加します。

#include <Adafruit_APDS9960.h>
#include <Adafruit_BMP280.h>
#include <Adafruit_LIS3MDL.h>
#include <Adafruit_LSM6DS33.h>
#include <Adafruit_SHT31.h>
#include <Adafruit_Sensor.h>
#include <PDM.h>

 実行した様子です。ボードを傾けたり、ボードの上を手の平で覆ったり、指でICを温めると、値が変わっていくのがわかります。

前へ

プログラマブル・ゲイン・アンプMCP6S22

次へ

初めてのBLE (20) Feather nRF52840 Sense②BLE その1