ショップ

取扱説明書

  • 準備中

製品概要

電子工作でよく使用される代表的なセンサーを1個のモジュールにまとめました。

  • 温度・湿度センサー:AHT20
  • 照度センサー:BH1730FVC
  • 加速度・ジャイロセンサー:LSM6DS3TR-C

信号レベルの変換回路と、3.3Vの電圧レギュレータを搭載しているので、Arduino UNOのような信号電圧が5Vの開発ボードでも、RP2040-UNO/STM32-UNOのような信号電圧が3.3Vの開発ボードでも使用することができます。

Arduino UNO R4/R3での利用

SENSOR-BITS3は、多くのセンサーモジュールの様に、開発ボードとジャンプワイヤーで接続して使用することができますが、ArduinoUNOで使用する場合には、そのコネクタに直接接続して使用することができます。Arduino UNO R4/R3と組み合わせると、Arduino UNO R4/R3を高機能なセンサー付き開発ボードに変身させることができます。

RP2040-UNO/STM32-UNOでの利用

SENSOR-BITS3は信号が3.3VのRP2040-UNOやSTM32-UNOでもArduino UNO R4/R3と同様に接続して使用することができます。SENSOR-BITS3をRP2040-UNOやSTM32-UNOと接続した場合には、ベースとなるMCUの処理速度やメモリ容量が大幅に向上するだけでなく、Arduino言語(C++)に加えてMicroPythonでプログラミングすることもできるので、活用の幅が大きく広がります。


Arduinoでの利用

SENSOR-BIT3のArduinoでのスケッチ例を示します。

ここでは、SENSOR-BIT3上部の端子部分の裏側にヘッダーピンを取り付け、Arduino UNO R3/R4に直接接続して利用する例を示します。SENSOR-BIT3の裏面にあるLSM6DS3TR-Cのショートパッドは、はんだを盛ってGND側に接続してください。

この場合、SENSOR-BITS3の電源端子VCCは、Arduino UNO R3/R4のD13ピンに接続されているため、D13からSENSOR-BITS3に電源を供給できるようにする必要があります。このため、スケッチの最初の部分でD13を出力に設定してHIGHを出力することにより、D13からSENSOR-BITS3に5Vの電源が供給されるようにします。SENSOR-BITS3の消費電流は少ないため、その消費電流は信号端子が供給できる電流で十分にたります。

温度・湿度センサー:AHT20

#include <Adafruit_AHTX0.h>

Adafruit_AHTX0 aht;

void setup() {
  /* Arduino UNOに直接取り付ける場合 */
  pinMode(13, OUTPUT) ;
  digitalWrite(13, HIGH) ; // D13が電源の代用
  delay(100) ;
  /**********/

  Serial.begin(115200);
  Serial.println("Adafruit AHT20 demo!");

  if (! aht.begin()) {
    Serial.println("Could not find AHT? Check wiring");
    while (1) delay(10);
  }
  Serial.println("AHT20 found");
}

void loop() {
  sensors_event_t humidity, temp;

  aht.getEvent(&humidity, &temp);
  Serial.print("Temperature: "); Serial.print(temp.temperature); Serial.print("'C, ");
  Serial.print("Humidity: "); Serial.print(humidity.relative_humidity); Serial.println("%");

  delay(1000);
}

照度センサー:BH1730

#include <Arduino.h>
#include <BH1730.h>

BH1730 lightSensor = BH1730();

void setup() {
  /* Arduino UNOに直接取り付ける場合 */
  pinMode(13, OUTPUT) ;
  digitalWrite(13, HIGH) ; // D13が電源の代用
  delay(100) ;
  /**********/

  Serial.begin(115200);
  if(lightSensor.begin() != true){
    Serial.println("Could not find the BH1730 sensor.");
  }
}

void loop() {
  Serial.println(lightSensor.readLux());
  delay(1000);
}

加速度・ジャイロセンサー:LSM6DS3TR-C

#include <Adafruit_LSM6DS3TRC.h>

Adafruit_LSM6DS3TRC lsm6ds3trc;

void setup(void) {
  /* Arduino UNOに直接取り付ける場合 */
  pinMode(13, OUTPUT) ;
  digitalWrite(13, HIGH) ; // D13が電源の代用
  delay(100) ;
  /**********/

  Serial.begin(115200);
  Serial.println("Adafruit LSM6DS3TR-C test!");

  if (!lsm6ds3trc.begin_I2C()) {
    Serial.println("Failed to find LSM6DS3TR-C chip");
    while (1) {
      delay(10);
    }
  }

  Serial.println("LSM6DS3TR-C Found!");
}

void loop() {
  sensors_event_t accel, gyro, temp;
  lsm6ds3trc.getEvent(&accel, &gyro, &temp);

  Serial.println("Temperature " + String(temp.temperature) + "'C");

  Serial.print("Accel X: " + String(accel.acceleration.x));
  Serial.print(", Y: " + String(accel.acceleration.y));
  Serial.print(", Z: " + String(accel.acceleration.z));
  Serial.println(" m/s^2 ");

  Serial.print("Gyro X: " + String(gyro.gyro.x));
  Serial.print(", Y: " + String(gyro.gyro.y));
  Serial.print(", Z: " + String(gyro.gyro.z));
  Serial.println(" radians/s ");
  Serial.println();

  delay(1000);
}

回路図