Pular para o conteúdo principal

Xadow - Grove Adaptor

O Xadow Grove Adaptor é um dispositivo que converte a interface Grove para a Interface Xadow, tornando-o compatível com o Sistema Xadow. Ele pode realizar esta função: o sinal analógico de duas interfaces Grove analógicas será enviado pelo barramento I2C do Xadow através do ADC. O sinal da interface I2C do Grove será direcionado diretamente para o barramento I2C do Xadow sem conversão. A conversão A/D baseada no ADCC121C021, um ADC de 12 bits de precisão, garante alta precisão.

Especificação


  • Tensão de Trabalho: 3,3 V

  • Resolução A/D: 12 bits

  • Taxa de Amostragem: 188,9 ksps

  • Endereço I2C variável

  • Dimensões: 25,43 mm x 20,35 mm

Demonstração


A seguir mostraremos como ler o valor de saída dos módulos Grove usando o Xadow Grove Adaptor.

Medir Sinal Analógico

Se medir o sinal analógico que o módulo Grove emite, você precisa conectar o módulo Grove à interface Grove analógica onde estão marcadas como "A0" e "A1".

A instalação de hardware deve ser:

Aqui o Grove - Gas sensor, que emite sinal analógico, está conectado ao AO, então o endereço I2C aplicado ao código de teste é 0x58 (padrão). Em outras palavras, o endereço I2C deve ser 0x59 quando o Grove - Gas Sensor é conectado à interface A1.

O código de teste é:

<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; // convert
void init_adc()
{
Wire.beginTransmission(ADDR_ADC121); // transmit to device
Wire.write(REG_ADDR_CONFIG); // Configuration Register
Wire.write(0x20);
Wire.endTransmission();
}

void read_adc() //unsigned int *data
{

Wire.beginTransmission(ADDR_ADC121); // transmit to device
Wire.write(REG_ADDR_RESULT); // get result
Wire.endTransmission();

Wire.requestFrom(ADDR_ADC121, 2); // request 2byte from device
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>

Envie o código para a Xadow Main Board e, em seguida, abra o monitor serial para observar o valor de saída:

Medir Sinal I2C

Você precisa conectar o módulo Grove à interface I2C do Xadow Grove Adaptor quando o modo de comunicação do módulo Grove for I2C. Agora o servidor do Xadow Grove Adaptor está entregando o sinal ao barramento I2C do Xadow sem ADC. Tomando o Grove - Digital Light Sensor como exemplo, vamos aprender seu uso.

Instalação de Hardware:

Baixe o código:

<pre>
/* Digital Light sensor demo V1.0
* Connect the sensor to I2C port of Arduino to use.
*
* 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>
  • Abra o monitor serial para observar o valor de LUX. Altere artificialmente a intensidade de luz do ambiente ao redor e você verá a mudança evidente do valor de saída.

Visualizador de Esquemático Online

Recursos


Suporte Técnico e Discussão sobre o Produto

Obrigado por escolher nossos produtos! Estamos aqui para lhe oferecer diferentes formas de suporte para garantir que sua experiência com nossos produtos seja o mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...