Xadow - Grove 转接器

Xadow Grove 转接器是一种将 Grove 接口转换为 Xadow 接口以兼容 Xadow 系统的设备。它可以实现以下功能:两个模拟 Grove 接口的模拟信号通过 ADC 输出到 Xadow I2C 总线。来自 Grove I2C 接口的信号将直接传递到 Xadow I2C 总线,无需转换。基于 ADCC121C021 的 A/D 转换,提供 12 位精度 ADC,实现高精度。
规格
- 
工作电压: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("The analog value is:");
    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 转接器的服务器将信号传递到 Xadow I2C 总线,无需 ADC 转换。 以 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("The Light value is: ");
  Serial.println(TSL2561.calculateLux(0,0,1));
  delay(1000);
  }</pre>
- 打开串口监视器观察 LUX 值。人为改变周围环境的光强度,您将看到输出值的明显变化。

原理图在线查看器
资源
技术支持与产品讨论
感谢您选择我们的产品!我们致力于为您提供多种支持,以确保您使用我们的产品时获得最佳体验。我们提供多个沟通渠道,以满足不同的偏好和需求。
