このページの目次
ショップ
取扱説明書
- 準備中
製品概要
電子工作でよく使用される代表的なセンサーを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);
}