How do I go about reading the voltage of a sensor that outputs a +2.7V to +6.3V signal? It would be a plus if I could read it with at least 10 bit resolution.
What accuracy do you need?
Do you have a link to the sensor?
For high accuracy, might need an op-amp ... it could level shift the signal to 0-3.6V then use gain of 0.3056 to get 0-1.1V out. Then use Arduino's internal 1.1V reference.
Simplest way is to use a voltage divider, e.g. 4K7 and 1K. This will bring 6.3V down to 1.1V. Use the internal voltage regulator as dlloyd says. This should get you 9 bits resolution. You may have to average a number of readings to reduce the noise.
Paul
It's a Schaevitz AccuStar Digital Inclinometer. PN 02110002-000. Data Sheet at:
It's embedded in a measuring tool and I'd like to read it.
Not sure where you got the +2.7V to +6.3v range from ... the single-ended output model shows:
Output +0.5 to +4.5VDC, ±0.5%
Its the ratiometric version. With a 9V power source it says it outputs 2.7 to 6.3V.
With my Arduino Powering it from the +5V pin it reads about 1.3V to 3.7V.
With the 9V battery powering it, I figured I'd melt something at 6.3V.
But I'm not getting enough resolution anyway. Arduino's 10-bit analog to digital converter isn't enough.
I am really a beginner at this. But it seems to me I might need a MCP3201 12-bit A/D Converter and read the SPI output or something like that.
It says the MCP3201 can handle up to 7.0V.
I am hoping for easy as I don't really know what I am doing. I'm sure it shows.
I could possibly convert the tool to 5.0V but I'd still need more than the 10-bit A/D resolution.
These ads1115 modules are 16-bit and have an i2c interface.
How fast do you need to take readings (please don't say "as fast as possible")? I2c is a somewhat slower than spi, but may still be more than fast enough, especially at 400KHz i2c clock rate.
Keeping your circuit noise-free is not easy at 10 bits resolution, hard to do at 12 bits and very difficult indeed at 16 bits. Averaging helps but of course also slows down the process.
How fast do you need to take readings
Pretty slow, I think. Probably 2 readings a minute or less. I could buy a new PWM or straight analog version but that's $200.00.
Then I would suggest taking thousands of readings over 30s and averaging them.
Literature says resolution is proportional to voltage. Optimum at 9V in with usable output between +2.7V to +6.3V at 16-bits, I think. I expect I need an ADC that will handle 9V with 10-bit resolution or better.
The sensor still works at 5V but takes a big hit in accuracy.
I have an ADS1115 16-bit ADC but I think it'll fry at 9V.
I also have a MCP3201 12-bit ADC. Both are 5V.
Is there an ADC out there that works with 9V?
I am extremely new to this and am hoping I can power the sensor with 9V Battery and read it over IIS with my arduinos.
But I fear I might be overlooking a more practical or workable solution.
Like i said before, use a voltage divider. If you use 2K2 and 4K7 this will bring your 6.3V down to 4.2V.