CHIRIMENでUVセンサ(VEML6070)を使う

Created Date: 2016-09-06/ updated date: 2016-10-26
  • Medium untitled sketch
Owner & Collaborators
License
By
Summary
CHIRIMENでUVセンサ(VEML6070)を制御する方法。
Explain how to control UV sensor (VEML6070) with CHIRIMEN.

Materials

    Tools

      Blueprints

        Making

        • サンプルアプリの説明

          0
          Thumb 3125390
          • アプリのダウンロード
          • Web I2C Polyfillの導入
          • 回路の配線
          • アプリの読み込み
          • アプリ実行
          • アプリのダウンロード

            0
            Thumb 3125390
            • CHIRIMEN examplesをダウンロード(Download zipというボタンでダウンロード可能)して、任意のディレクトリに展開する。
          • Web I2C Polyfillの導入

            0
            Thumb 3125390
            • webi2c.jsworker.jsをi2c-VEML6070/jsディレクトリ内にダウンロード(RAWボタンを右クリックして別名でリンク先を保存を選択)し、index.htmlからの参照先を以下のように変更する。(worker.jsはwebgpio.js内で参照されている)  
              <script src="./js/webi2c.js"></script>
            • bowerを使える場合、i2c-VEML6070ディレクトリに移動し以下のコマンドを実行することで導入することもできる。
              $ bower install
          • 回路の配線

            0
            Thumb 3125390
            • 配線図に従ってUVセンサ(VEML6070)を接続する。接続にはスルーホール用ジャンパ線を用いる。
            1. CHIRIMENのI2C0_SDA(CN2-12)、I2C0_SCL(CN2-11)とUVセンサのSDA、SCLをそれぞれ接続する(この接続線をそれぞれSDAバス、 SCLバスと呼ぶこととする)
            2. CHIRIMENのGND(CN2-1)、VCC(CN2-18)とUVセンサのGND、VCC(VDD)をそれぞれ接続する。
            3. SDAバス, SCLバスからCHIRIMENのVCCに対しそれぞれプルアップ用の抵抗を接続する。


            Small  1
          • アプリの読み込み

            0
            Thumb 3125390
            • Web IDE左上の「パッケージ型アプリを開く」を押し、上記でダウンロードしたファイル群からi2c-VEML6070ディレクトリを選択し読み込む。
          • アプリ実行

            0
            Thumb 3125390
            • 配線が正しいことを確認し、CHIRIMENとPCをmicroUSBケーブルで接続する。
            • アプリをインストールする。
            • 電源を入れて正しく動作すればWebIDEのログとしてUV-A波長の強さが取得できていることが確認できる。
        • プログラムの解説

          0
          Thumb 3125390
          サンプルプログラムについて解説する。
          • Index.htmlでpolyfillの読み込みを行う

            0
            Thumb 3125390
          • I2C端子の初期設定を行う

            0
            Thumb 3125390
            • i2cAccess.ports.get(<ピン番号>)でi2cPortオブジェクトを取得する。code:I2CPortオブジェクトの取得。
            • CHIRIMENにはI2C0(CN2側)、I2C2(CN1側)の二つの端子が出ているため、ピン番号には0か2を指定する。
          • UVセンサの読み取り

            0
            Thumb 3125390
            • UVセンサ(VEML6070)のライブラリを読み込む。code:UVセンサライブラリの読み込み
            • new VEML6070(<i2cPortオブジェクト>,<i2cデバイスアドレス>)でVEML6070のコンストラクタ呼び出しを行う。VEML6070のデバイスアドレスは初期値が0x38なので、これを指定する。code:VEML6070コンストラクタ呼び出し
            • veml6070.read()のように、呼び出したコンストラクタのreadメソッドを使用してUVセンサの値の読み込みを行う。
          • UVセンサ読み取り後の処理

            0
            Thumb 3125390
            • UVセンサの読み込み処理、veml6070.read()の結果はPromise型で返ってくる。そのため、veml6070.read().then(function(value){ //UVセンサ読み取り後の処理 });のように記述する。
            • 温度センサの値は引数に指定したvalueという変数に格納される。
        Add Card Order

        References

          Usages

            Convert State

             to Annotation.

            Select the numebr of the state to annotate.

            OK
            cancel
            Loading

            facebook

            , data-width="400", data-show-faces="true" data-send="true"
            , data-width="400", data-order-by="reverse_time"