Hi!
We have an i2c oxygen sensor, that we would like to be able to read through an analog signal with a multimeter. We have bought a i2c to analog convertor, MCP4725 12-Bit DAC T. But is it actually possible to convert the signal of the sensor directly?
It is my first time using Arduino and I am very lost in the topic..
Thank you very much in advance!
Welcome to the forum
Which oxygen sensor are you using ?
Do you have a link to it's datasheet ?
You do not say which Arduino board you are using (hint !) but most cannot output a voltage directly
No. You need a master device on your I2C bus in order to ask the I2C oxygen sensor for a reading, perform any scaling required and then write the value out to the I2C DAC device.
Why?
A multimeter can only show voltage, current, resistance, maybe a few other electrical measurements, but not oxygen levels. Yes, you could get it to read a voltage representing the oxygen level, but that's just going to be confusing for the user. They will have to have a calculator or a chart so they can figure out the oxygen level from the voltage. So why use a multimeter? Why not just attach a led or LCD display to display the oxygen level?
Hi, thanks a lot.
- We have the Gravity: I2C Oxygen Sensor (DFRobot Gravity: I2C Oxygen Sensor)
These sensors output an i2c signal, and we would like to read an analog signal.
Providing the power to the O2 sensor and to the i2c to analog convertor, by connecting the output of the sensor to the input of the convertor, we cannot read any signal. But would it be possible somehow? - Or should we connect an arduino between them? We tried with Arduino UNO. In that case, how should it be done?
Thank you!!
The application is for a laboratory where we are working with redox flow batteries. We need to know the exact oxygen level as all times and get a record. We have a big number of sensors, that we measure with the same analog "interface", so we would like to get and monitor all our data from there.
You can not read the sensor directly with the converter. You were given the solution in Reply #3. Let the UNO read the sensor, and output to the DAC.
Thank you!! But can this be done with Arduino UNO? If I connect the outputs of the sensor to the arduino A4 and A5, inputs for i2c, how can I take the value out for the I2C to analog convertor?
Thank you!!
I2C is a bus orientated system.
As long as there is no address conflict, you can hang all your I2C devices off the A4 and A5 pins.
Caveat: there might be an issue with the pullup resistors required.
List all the I2C devices, make and model, and it will be easier to give advice on this subtlety.
a7
From the information you have provided so far, then yes it can be done with an Arduino UNO.
The DFRobot website provides details on how to connect the O2 sensor to an UNO (link in your post #5). It tells you that the O2 sensor has a user configurable address of 0x70, 0x71, 0x72 or 0x73 and that it is 5V compatible.
The DAC IC is also 5V compatible and it has a choice of 2 user configurable addresses (by setting the A0 pin high or low). The rest of the address has to be determined partially by looking at the markings on the actual DAC IC - see section 10 of the device datasheet. Or you could just run an I2C scanner and find out.
As @alto777 said, I2C is a bus system so both devices have their SCL & SDA signals connected to the same UNO Pins.
The DFRobot website also gives you some example code for the O2 sensor.
A quick google search for "MCP4725 arduino" and one of the top hits is the Adafruit MCP4725 breakout board. They have a library for driving this chip.
No you can't do that, I2C will never be able to do that.
It can be done without an Arduino but it can't be done without a processor of some sort. There are many other processors that can do this other than the Arduino, but you need a processor or a laptop.
get a schematic of the board, find where the analog signal is exposed, tap into the analog signal.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.