Xadow - Grove アダプタ
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
Xadow Grove アダプタは、Grove インターフェースを Xadow インターフェースに変換し、Xadow システムと互換性を持たせるデバイスです。このアダプタは以下の機能を実現します:2つのアナログ Grove インターフェースからのアナログ信号を ADC を介して Xadow I2C バスに出力します。また、Grove I2C インターフェースからの信号は変換なしで直接 Xadow I2C バスに送られます。A/D 変換は 12ビット精度の ADC、ADCC121C021 に基づいており、高精度を実現します。
仕様
動作電圧: 3.3V
A/D 解像度:12 ビット
サンプルレート: 188.9 ksps
I2C アドレス可変
寸法: 25.43mm x 20.35mm
デモンストレーション
次に、Xadow Grove アダプタを使用して Grove モジュールの出力値を読み取る方法を説明します。
アナログ信号の測定
アナログ信号を出力する Grove モジュールを測定する場合、Grove モジュールを「A0」および「A1」とマークされたアナログ Grove インターフェースに接続する必要があります。
ハードウェアの接続は以下のようになります:
ここでは、アナログ信号を出力する Grove - ガスセンサーが A0 に接続されているため、テストコードで使用する I2C アドレスは 0x58(デフォルト)です。つまり、Grove - ガスセンサーが A1 インターフェースに接続されている場合、I2C アドレスは 0x59 になります。
テストコードは以下の通りです:
<pre>
#include <Wire.h>
#include <Streaming.h>
#define ADDR_ADC121 0x58
#define V_REF 3.00
#define REG_ADDR_RESULT 0x00
#define REG_ADDR_ALERT 0x01
#define REG_ADDR_CONFIG 0x02
#define REG_ADDR_LIMITL 0x03
#define REG_ADDR_LIMITH 0x04
#define REG_ADDR_HYST 0x05
#define REG_ADDR_CONVL 0x06
#define REG_ADDR_CONVH 0x07
unsigned int getData;
float analogVal=0; // 変換
void init_adc()
{
Wire.beginTransmission(ADDR_ADC121); // デバイスに送信
Wire.write(REG_ADDR_CONFIG); // 設定レジスタ
Wire.write(0x20);
Wire.endTransmission();
}
void read_adc() //unsigned int *data
{
Wire.beginTransmission(ADDR_ADC121); // デバイスに送信
Wire.write(REG_ADDR_RESULT); // 結果を取得
Wire.endTransmission();
Wire.requestFrom(ADDR_ADC121, 2); // デバイスから2バイト要求
delay(1);
if(Wire.available()<=2)
{
getData = (Wire.read()&0x0f)<<8;
getData |= Wire.read();
}
Serial.print("getData:");
Serial.println(getData);
delay(5);
Serial.print("アナログ値は:");
Serial.print(getData*V_REF*2/4096);
Serial.println("V");
}
void setup()
{
Serial.begin(9600);
Wire.begin();
init_adc();
}
void loop()
{
read_adc();//adcRead);
delay(50);
}</pre>
コードを Xadow メインボードにアップロードし、シリアルモニタを開いて出力値を観察します:
I2C 信号の測定
Grove モジュールの通信モードが I2C の場合、Grove モジュールを Xadow Grove アダプタの I2C インターフェースに接続する必要があります。この場合、Xadow Grove アダプタのサーバーは ADC を介さずに Xadow I2C バスに信号を送信します。 Grove - デジタル光センサーを例に、その使用方法を学びましょう。
ハードウェアの接続:
コードをダウンロード:
<pre>
/* デジタル光センサー デモ V1.0
* センサーを Arduino の I2C ポートに接続して使用します。
*
* By:https://www.seeedstudio.com
*/
#include <Wire.h>
#include <Digital_Light_TSL2561.h>
void setup()
{
Wire.begin();
Serial.begin(9600);
TSL2561.init();
}
void loop()
{
unsigned long Lux;
TSL2561.getLux();
Serial.print("光の値は: ");
Serial.println(TSL2561.calculateLux(0,0,1));
delay(1000);
}</pre>
- シリアルモニタを開いて LUX 値を観察します。周囲の光の強度を人工的に変化させると、出力値の明らかな変化が確認できます。
回路図オンラインビューア
リソース
技術サポート & 製品ディスカッション
弊社製品をお選びいただきありがとうございます!お客様が弊社製品をスムーズにご利用いただけるよう、さまざまなサポートを提供しております。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルをご用意しています。