|
Posted by Gordon McComb on March 9, 2007, 5:16 pm
Please log in for more thread options
Joe Strout wrote:
>
> I've been working with the ARMexpress microcontrollers, which has only
> digital I/O. Apart from the lack of A/D inputs, I love it. So I'm
> looking for some way to work around that limitation.
>
> It seems to me that you could use a PIC or Atmel chip for this. These
> could be programmed to respond to a simple serial protocol, where the
> input indicates the pin number of interest, and the response is the A/D
> level on that pin. Is this a reasonable approach? Which specific chip
> would be a good choice for this?
>
> Also, is there an off-the-shelf solution that does the same thing,
> without requiring an AVR/PIC programmer? Something set up to speak I2C,
> 1-Wire, SPI, or serial? (Any of those should be easy to talk to from
> the ARMexpress.)
The venerable ADC0831 is only a couple bucks, but it is only 8-bit. A
decent 10- or 12-bit version shouldn't be that much more. These basic
chips use simple serial to keep things cheap.
You can also do it with an input capture timer, a resistor, and a
capacitor. It's not as accurate, but it works for simple tasks. Another
way is to use a 555. There are a number of ways to implement this.
Search the Web and you'll find examples. This is basically how the PC
gameport works. Here is just one page of many that discusses it:
http://english.cxem.net/comp/comp184.php
Take a look at the following PDF on the Parallax site for some ideas:
http://www.parallax.com/dl/docs/books/edu/baad.pdf
They provide the book with an A2D kit they sell. The kit is intended for
the BASIC Stamp, but the concepts are the same.
-- Gordon
|
> I've been working with the ARMexpress microcontrollers, which has only
> digital I/O. Apart from the lack of A/D inputs, I love it. So I'm
> looking for some way to work around that limitation.
>
> It seems to me that you could use a PIC or Atmel chip for this. These
> could be programmed to respond to a simple serial protocol, where the
> input indicates the pin number of interest, and the response is the A/D
> level on that pin. Is this a reasonable approach? Which specific chip
> would be a good choice for this?
>
> Also, is there an off-the-shelf solution that does the same thing,
> without requiring an AVR/PIC programmer? Something set up to speak I2C,
> 1-Wire, SPI, or serial? (Any of those should be easy to talk to from
> the ARMexpress.)