Я смотрю варианты АЦП на Rasbperry Pi. Мне интересно, что это возможно до сих пор. Конечно легко и дешево это хорошо.
Я смотрю варианты АЦП на Rasbperry Pi. Мне интересно, что это возможно до сих пор. Конечно легко и дешево это хорошо.
Ответы:
У Adafruit есть хорошее руководство по использованию 8-канального 10-разрядного АЦП MCP3008 ($ 3,75) с интерфейсом SPI для управления громкостью mp3-файла, но оно должно послужить хорошей отправной точкой для любого аналога цифрового проекта.
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²C.
GND = 0x48, VDD = 0x49, SDA = 0x4A, SCL = 0X4B
Вы можете увидеть результат последнего преобразования, как это
# i2cget -y 0 0x49 0 w
0x0000
Здесь возвращается значение по умолчанию 0x0000, поскольку преобразования еще не выполнены. Теперь давайте посмотрим на регистр конфигурации
# i2cget -y 0 0x49 1 w
0x8385
LSB является первым, так что это эквивалентно 0b1000010110000011
Я хотел бы сделать одностороннее преобразование на AIN0, поэтому мне нужно записать биты [14:12] как 0b100
. т.е.0b1100010110000011
# i2cset -y 0 0x49 1 0xC385 w
# i2cget -y 0 0x49 0 w
0xa30b
Младший младший разряд - первый, поэтому он равен десятичному 2979
Ну, пока ваше желаемое использование не требует сверхвысоких битрейтов или разрешения, вы, вероятно, можете просто использовать Arduino. Arduinos хороши тем, что у них огромное сообщество поддержки, они уже давно и общение по USB - нет GPIO!
Вот ссылка на сообщение в блоге Саймона Монка с инструкциями о том, как он общается с Arduino от Raspberry Pi с python.
Кроме того, только в случае , если вы никогда не слышали о Arduino раньше (возможно , вы жили под скалой) вот ссылка на их страницу Введения и пример начального уровня аналоговых входов.
Через месяц или два (из-за доставки в Африку) я получу плату I2C PCF8591, на которой есть сайт WiringPi с поддержкой Wiringpi, и плата использует 3,3 В (как правило). Я получил версию WaveShare на Amazon Amazon Link From I Я читал, что PCF8591 довольно хорош, но пока у меня на самом деле нет платы, я не могу сказать, хорошо это или нет
Интересное решение здесь: http://www.theremino.com/en/blog/standalone-applications/#raspberry
Не только АЦП, но и любой тип настраиваемого ввода-вывода для Raspberry Pi.