ESP-WROOM-02 MMA8451とBME280を2個づつないで測定できました。
再編集
当初正常動作できるセンサケーブル長の合計は3m程度でした
が、I2C-Busバッファを追加することで合計10m可能となりま
した。(CAT5フラットタイプLANケーブルで2種センサのセッ
トを5m延長でそれぞれ接続し動作を確認)
バッファについては下記リンクの記事を見て下さい。
作ってみたI2C-BusバッファPCA9600
PCA9600 I2C-Bus Buffer改
センサについて
・Adafruit MMA8451 Accelerometer Breakout
レギュレータ,レベル変換搭載 5V電源とロジック可
I2Cプルアップ抵抗10kΩ付き
I2Cアドレス 初期設定は0x1D、A端子をGND接続で0x1C
・BME280センサモジュール アマゾンで購入3個入1,880円
レギュレータ,レベル変換搭載 5V電源とロジック可
I2Cプルアップ抵抗10kΩ付き
I2Cアドレス 初期設定は0x76
パターンカットはんだブリッジで0x77(下画像)
(ジャンパーパッド左と中央間のパターンをカット
中央と右をはんだでブリッジする。)
MMA8451、BME280センサ
スケッチは一部修正が必要かも知れませんが参考まで
また、各センサ用のライブラリはArduinoIDEのメニューから
「スケッチ」「ライブラリをインクルード」「ライブラリを
管理」センサ名で検索しインストールして下さい。
ありがたく使わせていただきます。
#include行の<>記号は半角へ修正して下さい。#include <Wire.h>
#include "Adafruit_MMA8451.h"
#include <Adafruit_Sensor.h>
#include "SparkFunBME280.h"
BME280 mySensor1;
BME280 mySensor2;
Adafruit_MMA8451 mma1 = Adafruit_MMA8451();
Adafruit_MMA8451 mma2 = Adafruit_MMA8451();void setup(void) {
Serial.begin(115200);
Serial.println("");
Serial.println("Reading basic values from MMA8451 and BME280");
Wire.begin(4, 5); // //デフォルトは0x1D
if (! mma1.begin(0x1D) || ! mma2.begin(0x1C)) {
//mmaのbegin()の中でwire.begin()してた
Serial.println("MMA8451 Couldnt start");
while (1);
}
Serial.println("MMA8451 found!");
mySensor1.setI2CAddress(0x76);//default 0x76
mySensor2.setI2CAddress(0x77);
if (! mySensor1.beginI2C() || ! mySensor2.beginI2C() ) {
//Begin communication over I2C
Serial.println("BME280 did not respond. Please check wiring.");
while (1); //Freeze
}
mma1.setRange(MMA8451_RANGE_2_G);
mma2.setRange(MMA8451_RANGE_2_G);
Serial.print("MMA1 Range = ");
Serial.print(2 <
シリアルモニタ表示
Arduino UNO等でもできると思います。
興味がある方はお試し下さい。
無保証自己責任でよろしくお願いします。
最新の画像[もっと見る]
- JBL Flip4 スピーカー落下で電源が入らなくなった 7日前
- JBL Flip4 スピーカー落下で電源が入らなくなった 7日前
- JBL Flip4 スピーカー落下で電源が入らなくなった 7日前
- JBL Flip4 スピーカー落下で電源が入らなくなった 7日前
- Arduino UNO MINIMAでCAN通信(MINIMA >> UNO R4 Wi-Fi 受信データを配列に入れる) 2週間前
- Arduino UNO MINIMAでCAN通信(MINIMA >> UNO R4 Wi-Fi 受信データを配列に入れる) 2週間前
- Arduino UNO MINIMAでCAN通信(MINIMA >> UNO R4 Wi-Fi 受信データを配列に入れる) 2週間前
- 解決Arduino UNO MINIMAでCAN通信(MINIMA >> ESP32twaireceiveで受信できたが) 4週間前
- 解決Arduino UNO MINIMAでCAN通信(MINIMA >> ESP32twaireceiveで受信できたが) 4週間前
- 解決Arduino UNO MINIMAでCAN通信(MINIMA >> ESP32twaireceiveで受信できたが) 4週間前
※コメント投稿者のブログIDはブログ作成者のみに通知されます