NEQTO Docs
  • Languages icon日本語
    • English
  • ドキュメント
  • API
  • FAQ

›I2C

Getting Started

  • NEQTO Hello World!
  • Tutorial Step 1. NEQTO Console設定
  • Tutorial Step 2. デバイス設定とサービスの開始 (NEQTO Bridge)
  • Tutorial Step 2. デバイス設定とサービスの開始 (STM32 Discovery)
  • Tutorial Step 2. デバイス設定とサービスの開始 (SPRESENSE)
  • Tutorial Step 3. スクリプトを使ったアプリケーション開発

NEQTO

  • NEQTO アカウント登録
  • サブアカウント
  • APIの利用
  • NEQTO Engineファームウェアリスト
  • お問い合わせに関するガイドライン
  • NEQTO 製品を安全に安心してご使用いただくために
  • 脆弱性開示ポリシー

NEQTO Console

  • はじめに
  • 基本情報
  • 管理者専用の操作
  • デバイス管理
  • Linuxデバイス管理
  • 一括登録
  • スクリプト
  • アクション & コンタクト
  • Consoleでデータを表示
  • NEQTO Apps

    • NEQTO Apps について
    • NEQTO Infinitypool
    • NEQTO Insights
    • NEQTO Custodia
    • NEQTO Flow
  • Machine Driver
  • 推奨ブラウザ
  • 請求情報

SPRESENSE

    ハードウェア仕様

    • 01. About Spresense

    ソフトウェア仕様

    • 01. 動作フロー
    • 02. 初期インストール
    • 03. Spresense Wi-Fi 初期設定
    • 04. Spresense LTE-M 初期設定
    • 05. デバッグログ取得方法
    • 06. システムLED動作
    • 07. イベントメッセージ
    • 08. ファームウェア更新方法

    neqto.js

    • 01. About neqto.js
    • 02. Log
    • 03. Timers
    • 04. HTTP
    • 05. HTTPS
    • 06. MQTT
    • 07. Secure
    • 08. Storage
    • 09. Sleep
    • 10. RTC
    • 11. GPIO
    • 12. UART
    • 13. SPI
    • 14. I2C
    • 15. ADC
    • 16. GNSS
    • 17. Camera
    • 18. Utils
    • 19. nqSpresense
    • 20. nqService
    • 21. nqMqtt
    • 22. nqFOTA
    • 23. nqWiFi
    • 24. nqLte

STM32 Discovery

    ハードウェア仕様

    • 01. About STM32 Discovery Kit (B-L4S5I-IOT01A)

    ソフトウェア仕様

    • 01. 動作フロー
    • 02. 初期インストール
    • 03. STM32 Discovery Wi-Fi 初期設定
    • 04. デバッグログ取得方法
    • 05. システムLED動作
    • 06. イベントメッセージ
    • 07. ファームウェア更新方法

    neqto.js

    • 01. About neqto.js
    • 02. Log
    • 03. Timers
    • 04. HTTP
    • 05. HTTPS
    • 06. MQTT
    • 07. Secure
    • 08. Storage
    • 09. Sleep
    • 10. RTC
    • 11. UserSW
    • 12. GPIO
    • 13. UART
    • 14. SPI
    • 15. I2C
    • 16. ADC
    • 18. Utils
    • 19. nqDiscovery
    • 20. nqService
    • 21. nqMqtt
    • 22. nqFOTA
    • 23. nqWiFi

NEQTO Bridge

    ハードウェア仕様

    • 01. NEQTO Bridge Module
    • 02. NEQTO Bridge Wi-Fi Module
    • 03. NEQTO Bridge LTE-1 Module
    • 04. NEQTO Bridge LTE-M/NB Module
    • 05. NEQTO Bridge IO Board
    • 06. NEQTO Bridge Digital IO Board
    • 07. NEQTO Bridge Connector Board

    ソフトウェア仕様

    • 01. 動作フロー
    • 02. NEQTO Bridge Wi-Fi Module 初期設定
    • 03. NEQTO Bridge LTE Module 初期設定
    • 04. デバッグログ取得方法
    • 05. システムLED動作
    • 06. イベントメッセージ
    • 07. ファームウェア更新方法

    neqto.js

    • 01. About neqto.js
    • 02. Log
    • 03. Timers
    • 04. HTTP
    • 05. HTTPS
    • 06. MQTT
    • 07. Secure
    • 08. Storage
    • 09. Sleep
    • 10. RTC
    • 11. UserSW
    • 12. GPIO
    • 13. UART
    • 14. SPI
    • 15. I2C
    • 16. ADC
    • 17. BLE
    • 18. Utils
    • 19. nqBridge
    • 20. nqService
    • 21. nqMqtt
    • 22. nqFOTA
    • 23. nqWiFi
    • 24. nqLte
    • 25. nqLAN
    • 26. nqEx

Linux-based device

    ソフトウェア仕様

    • 01. システム要件
    • 02. インストール
    • 03. ソフトウェア構成
    • 04. 動作フロー
    • 05. デバッグログ取得方法
    • 06. イベントメッセージ
    • 07. ソフトウェア更新方法

    neqto.js

    • 01. About neqto.js
    • 02. Log
    • 03. Timers
    • 04. HTTP
    • 05. HTTPS
    • 06. MQTT
    • 07. Secure
    • 08. Storage
    • 09. RTC
    • 10. UNIXSocket
    • 11. FileSystem
    • 12. SubProcess
    • 13. SubTask
    • 14. Queue
    • 15. Utils
    • 16. nqLinux
    • 17. nqService
    • 18. nqMqtt
    • 19. nqFOTA
    • 20. nqLAN

neqto.js Libraries

  • About neqto.js Libraries
  • UART

    • GM65 Barcode Reader
    • SRF Ultrasonic Range Finder - Serial Mode

    I2C

    • HTS221 v2 Temperature and Humidity Sensor
    • LIS2DW12 v2 Accelerometer
    • SRF Ultrasonic Range Finder - I2C Mode
    • [Archive] HTS221 Temperature and Humidity Sensor
    • [Archive] LIS2DW12 Accelerometer

    Utils

    • RTC Alarm Synchronized Scheduler

    Integration

    • AWS S3 v2
    • AWS IoT Core v2
    • Azure IoT v2
    • [Archive] GCP IoT Core
    • [Archive] AWS S3
    • [Archive] AWS IoT Core

neqto.js Snippets

  • About neqto.js Snippets
  • DataDog
  • Dropbox
  • Google Sheets
  • InfluxDB
  • Oracle Cloud Object Storage
  • Salesforce
  • Splunk
  • Niagara
  • [Archive] SAP Cloud Platform Internet of Things

Release Notes

  • NEQTO Console アップデート
  • NEQTO Firmware (Bridge Wi-Fi/LTE Module) リリース
  • NEQTO Firmware (STM32 Discovery Wi-Fi) リリース
  • NEQTO Firmware (Spresense Wi-Fi/LTE-M) リリース
  • NEQTO Engine Linux版 リリース
  • neqto.js Libraries リリース

[Archive] LIS2DW12 Accelerometer

このライブラリはアーカイブされており、サポートされなくなりました。LIS2DW12 加速度センサライブラリの最新バージョンは、こちらから入手できます。

LIS2DW12は、高性能、超低電力、3軸の加速度測定が可能なMEMSデジタル出力モーションセンサです。センサのプラグをNEQTO Bridgeに接続し、I2Cプロトコルを介してデータの読み取りと書き込みが可能です。LIS2DW12ライブラリは、加速度値をベクトルとして読み取るために必要な機能を提供します。

neqto.jsライブラリをインポートする方法については、このドキュメントを参照してください。

ハードウェアの接続

LIS2DW12センサを、NEQTO Bridgeの標準の短いケーブルI2Cポートに差し込みます。

ソフトウェアの接続

LIS2DW12ライブラリを使ってI2Cプロトコルを介してセンサと通信することができます。

主な機能

LIS2DW12 センサの主な機能は、いくつかの関数で提供されます。センサ読み取りモードに設定するsetAccFifoMode、センサからFIFOサンプル数を取得するgetAccFifoNum、加速度値を取得するgetAccValue、加速度値のリストを取得する getAccValues、最大加速値を取得するgetMaxAccValues、加速度値の合計値を取得するgetSumAccValues といった関数があります。

オブジェクト作成

全てのNEQTO I2Cライブラリは、同じ形式で作成されます。LIS2DW12は、コンストラクター関数の引数として渡されるI2C対応オブジェクトを使用して作成する必要があります。作成後、init()関数を呼び出して初期化し、センサが値の読み取りを開始できるようにする必要があります。 これは1回だけ必要な作業です

関数

センサをFIFOモードに設定するための読み取りを行う前にsetAccFifoMode()関数を呼び出す必要があります。

FIFOモードを設定した後、getAccFifoNum()関数を呼び出してFIFOサンプル数を準備します。サンプルの数を取得した後、次の加速度値はgetAccValue()の呼び出しで取得できます。 また、次のn個のサンプルはgetAccValues({numberSamples})で取得できます。また、getMaxAccValues({numberSamples})とgetSumAccValues({numberSamples})呼び出しで、それぞれn個のサンプルの最大値、合計値を取得することもできます。

サンプルスクリプト

次に示すのは、LIS2DW12センサを使用した、加速度計が以前の最大加速度値よりも大きい最大加速の読み取り値を取得するたびにログを記録するスクリプト例です。

まず、インターフェースをオンにして、LIS2DW12センサ使用するためにI2Cデバイスオブジェクトを作成しています。

LIS2DW12ライブラリを使用してlis2dwオブジェクトを作成し、センサを初期化してFIFOモードにし、読み取りを行う準備をします。

初期の最大値も設定され、起こり得るセンサ誤読のためにアサートカウンターがセットアップされます。

そして、メインループでLIS2DW12センサから準備が整ったサンプル数がgetAccFifoNumを使用して読み取られ、返された値に応じて2つの操作フローが発生します。サンプルの準備ができていない場合、アサートカウンターが値を増加し、サンプルの準備ができているかどうか再びセンサがチェックされます。10回連続でサンプルが読み取れない場合、センサはリセットされます。サンプルの準備ができると、センサは以前のサンプル数から最大加速度値を読み取り、現在の最大値よりも大きい場合、現在の最大値を新しい最大値に更新して処理を抜けます。また、使用可能なサンプルの数が許可されている最大FIFOサンプルの数より大きい場合、センサはリセットされます。

このスクリプトは、LIS2DW12センサから新しい最大加速度の読み取り値を取得する毎にシリアルコンソールに出力します。

// IMPORTED LIBRARIES
// - LIS2DW12

// Logging setup
log.setLevel(2); //-1:NONE 0:ERROR 1:WARNING 2:DEBUG 3:TRACE
log.printLevel(2); //0:DISABLE 1:LOG 2:CONSOLE 3:BOTH
log.clear();

//Use standard interface of NEQTO IO board
nqEx.enI2CS(true);
nqEx.enI2CL(true);

//I2C Config
var baudrate = 400000;
var i2c = new I2C(1);

i2c.open(baudrate);

var lis2dw = new LIS2DW12(i2c);
lis2dw.init();

// Get LIS2DW12 sensor into FIFO mode ready to take readings
lis2dw.setAccFifoMode();

var assertCount = 0;
var maxP = -1;
var maxX = 0;
var maxY = 0;
var maxZ = 0;

while (1) {

    var num = lis2dw.getAccFifoNum();

    if (num == 0) {

        assertCount++;

        if (assertCount >= 10) {
            // Reset sensor
            lis2dw.setAccFifoMode();
            assertCount = 0;
        }
    } else {
        assertCount = 0;
        var mVector = lis2dw.getMaxAccValues(num);

        if (mVector[0] > maxP) {
            maxP = mVector[0];
            maxX = mVector[1];
            maxY = mVector[2];
            maxZ = mVector[3];

            print("Accelerometer current max vector x,y,z values: " + maxX + ", " + maxY + ", " + maxZ);
        }

        if (num == lis2dw.getMaxFifoSamples()) {
            lis2dw.log.warning("Sample overflow!");
            lis2dw.setAccFifoMode();
        }
    }
}

Updated: 2021-02-19
← 前次 →
  • ハードウェアの接続
  • ソフトウェアの接続
    • 主な機能
  • サンプルスクリプト
NEQTO とはニュースサービスFAQプライバシーポリシー脆弱性開示ポリシー
NEQTO Console
はじめに基本情報管理者専用の操作デバイス管理NEQTO Apps
NEQTO Bridge
NEQTO Bridge ピン配置NEQTO Bridge Wi-Fi ModuleNEQTO Bridge LTE-1 Moduleデバッグログ取得方法イベントメッセージ
APIのドキュメント
APIの利用グローバル APIリージョン APIAPIサービス利用規約
Jigsaw, Inc.
© 2025 JIG-SAW INC.