analog inputs into a digital controller?

Suppose you're using a microcontroller that only has digital inputs (like the ARMexpress appears to be). What would be the
simplest/cheapest/easiest way to measure analog signals from such a thing? For example, is there an I2C A/D module that you can query for a value? Or some other gizmo you could communicate with in a digital way?
Basically, I know there are a lot of analog sensors out there, and I'm trying to get an idea of how much grief I'd be causing myself if I choose a controller that lacks analog inputs.
Thanks, - Joe
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Joe,
What you need is, indeed, an A/D converter, and yes, many are available with I2C interfaces. If you require high bandwidth, however, you would be better off with a parallel interface type, as I2C will never be as fast as a bus-connected device. Of course, not all uCs have external memory interfaces and if not it would take up a lot of IO pins to fake one. For most general robot stuff (battery voltage, CdS photocells, IR rangers, etc.) I2C is plenty fast. If you search for "a/d converter i2c" on digikey.com you will find several and you can choose one that meets your requirements. There are also many more with non-i2c serial interfaces.
On one hand, it *is* marginally more work than using a built in one, but on the other hand, you get more flexibility in that you can choose what kind of ADC you want. Furthermore, for high precision applications, external ADCs are desireable because they can be isolated from the EMI generated by the uC and other digital circuits.
-chris.

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
It depends on the accuracy and resolution you need. You can do it with a capacitor and resistor. Check out how the BASIC Stamp does it. Accuracy is so-so, but folks don't always need something fancier.
There are, of course, I2C, one-wire, serial, and parallel ADC chips available, and you can homebrew your own out of a cheap PIC or AVR that does have an analog input. Use SPI, I2C, serial, or some other means to talk to the host MCU.
So before your question can really be answered it's necessary to know what your plans for the ADC is.
-= Gordon
Joe Strout wrote:

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.