Как подключить аналого-цифровой преобразователь (АЦП)?

Я ищу варианты для АЦП на Rasbperry Pi. Мне интересно, что возможно до сих пор. Разумеется, легко и дешево.

21 голос | спросил John La Rooy 26 J000000Thursday12 2012, 14:38:54

6 ответов


15

Adafruit имеет приятный , используя MCP3008 (3,75 долл. США) - 8-канальный 10-битный АЦП с интерфейсом SPI для управления объемом mp3-файла, но он должен дать вам хорошую отправную точку для любого аналого-цифрового проекта.

ответил Steve Robillard 26 J000000Thursday12 2012, 20:37:10
8

ADS1115

  

ADS1113, ADS1114 и ADS1115 являются прецизионными аналого- -цифровые   преобразователи (АЦП) с 16 битами разрешения, предлагаемые в   ультра-малый, бесконтактный пакет QFN-10 или пакет MSOP-10.   ADS1113 /4/5 спроектированы с точностью, мощностью и простотой   в виду. ADS1113 /4/5 имеет встроенную ссылку   и осциллятора. Данные передаются через совместимый с IІ²C   интерфейс; можно выбрать четыре подчиненных адреса IІ²C. ADS1113 /4/5   работают от одного источника питания от 2,0 до 5,5 В.

Сначала вам нужно убедиться, что Модули I ²C загружаются . Затем подключите ADS1115, как показано ниже. Возможны 4 разных адреса, в зависимости от того, к чему подключен ADDR. Это означает, что вы можете подключить в общей сложности 16 каналов к одной шине I²².

GND = 0x48, VDD = 0x49, SDA = 0x4A, SCL = 0X4B

введите описание изображения здесь>> </p>

<p> Вы можете увидеть результат последнего преобразования, подобного этому </p>

<pre><code># i2cget -y 0 0x49 0 w
0x0000
</code></pre>

<p> Значение по умолчанию 0x0000 возвращается здесь, так как пока не выполняется никаких преобразований. Теперь давайте посмотрим на регистр конфигурации </p>

<pre><code># i2cget -y 0 0x49 1 w
0x8385
</code></pre>

<p> Сначала используется LSB, поэтому это эквивалентно <code>0b1000010110000011</code> </p>

<p> Я хотел бы сделать однократное преобразование на AIN0, поэтому мне нужно записать биты [14:12] как <code>0b100</code>. т.е. <code>0b1100010110000011</code> </p>

<pre><code># i2cset -y 0 0x49 1 0xC385 w
# i2cget -y 0 0x49 0 w
0xa30b
</code></pre>

<p> LSB является первым, поэтому это равно 2979 десятичных </p></body></html>

ответил John La Rooy 28 J000000Saturday12 2012, 14:51:06
1

Хорошо, если ваше желаемое использование не требует сверхвысоких битрейтов или разрешения, вы, вероятно, можете просто использовать Arduino. Arduinos хороши, потому что у них огромное сообщество для поддержки, они были вокруг какое-то время, и связь через USB нет GPIO!

Вот ссылка для сообщения в блоге Саймона Монка с инструкциями о том, как он общается с Arduino от малины Pi с питоном.

Также на всякий случай, когда вы никогда не слышали о Arduino раньше (возможно, вы жили под скалой), здесь есть ссылка на их пример уровня начинающего аналоговые входы.

ответил Dan B 26 J000000Thursday12 2012, 17:59:19
0

Аналогично использованию Arduino, но как насчет устройства PICAXE, подключенного к RPi UART? Это будет меньше и намного дешевле. Для меня Arduino кажется сверху, в зависимости от ваших реальных потребностей.

ответил Guy 26 J000000Thursday12 2012, 20:37:04
0

Через месяц или два (из-за доставки в Африку) я получу плату I2C PCF8591, у которой есть поддержка wirepi WiringPi site , а плата использует 3.3v (обычно), я получил версию WaveShare на amazon ссылка Amazon Из того, что я прочитал, PCF8591 довольно приятный, но пока у меня на самом деле нет доски, я не могу сказать, хорошо это или нет.

ответил linuxgnuru 31 J000000Thursday14 2014, 20:02:56
0

Интересное решение здесь: http://www.theremino.com/ru/blog/standalone-applications/#raspberry

Не только АЦП, но и любой тип настраиваемого входного выхода для малины.

ответил Livio 6 PM00000010000004231 2014, 13:58:42

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132