Arduino Forum

General Category => General Discussion => Topic started by: rockwellramesha on Feb 05, 2019, 11:54 am

Title: AS73211 compiler support
Post by: rockwellramesha on Feb 05, 2019, 11:54 am
Hi All -

Thanks in advance for taking out your time to read this topic.

I, purchased AS73211 for measuring the true color from Mikroelektronica Germany, after receiving the product realized that we need to also buy Compilers from them and it costs a bomb.

I'm wondering if there is any way that we can use it with Arduino, grateful for any advise on it.

Best,

Ramesha
Title: Re: AS73211 compiler support
Post by: J-M-L on Feb 05, 2019, 12:02 pm
The datasheet (https://ams.com/documents/20143/36005/AS73211_DS000556_3-01.pdf/a65474c0-b302-c2fd-e30a-c98df87616df) (chapter 7.20 and beyond) seems to indicate there is an I2C interface that lets you read the registers. Not sure what you mean with "compiler"

never used that - but would need to read the spec, see how the configuration and communication is done over I2C and "just" implement that
Title: Re: AS73211 compiler support
Post by: jackthom41 on Feb 12, 2019, 03:55 am
Did you get the AS73211 chip or its breakout board? I have searched online and if you have the board then it can be interfaced with Arduino but if its the chip itself then I think you should go with the default option. Share the link from where you bought it.
Title: Re: AS73211 compiler support
Post by: catalinbalteanu on May 16, 2019, 12:11 am
Hello, I too have some issues with this device, I have a bare chip that I made a break out board. Does anyone know of a library for this chip. I do not have any experience in writing i2c libraries, and I would appreciate the help.

Also I will keep trying to write a library but so far, I only get the same value from X Channel, for example, no matter what I do.

Thank you

 unsigned int lsb, msb;
 Wire.beginTransmission(slave_address);
 Wire.write(reg); // MREG_MEASUREMENT_X_CHANNEL   = 0x02
 Wire.endTransmission(false);
 Wire.requestFrom(slave_address, (byte) 2);
 if (Wire.available())
 {
      lsb = Wire.read();
      msb = Wire.read();
 }
 Wire.endTransmission();
 return ((msb << 8) | lsb);