Аналого-цифровой преобразователь MCP3008

Хотите использовать аналоговые датчики в своём проекте на Raspberry Pi? Или, быть может, вам нехватает аналоговых входов на Arduino? В такой ситуации очень пригодится внешний аналого-цифровой преобразователь, или сокращённо — АЦП.

С внешним АЦП вы сможете подключить любой аналоговый сенсор к платформе, которая изначально лишена аналоговых входов. Или же вы сможете увеличить количество аналоговых портов, если встроенных перестало хватать.

Микросхема АЦП поможет и в том случае, когда значение с аналогового датчика нужно доставить на расстояние в десятки метров. Непосредственная передача аналогового сигнала подверглась бы сильному искажению электромагнитными шумами и радиоволнами. Но вы можете оцифровать сигнал непосредственно рядом с датчиком с помощью АЦП, и по длинным проводам передавать данные уже в цифровом виде, который на порядок меньше подвержен влиянию шумов.

MCP3008 имеет восемь каналов. Разрядность каждого канала — 10 бит, т.е. микросхема различает 1024 градации входного сигнала. Диапазон рабочих напряжений — от 2,7 В до 5,5 В. Это позволяет использовать микросхему с устройствами как на 5 В, так и на 3,3 В.

Скорость микросхемы такова, что при помощи неё даже можно оцифровывать звук. 200 тысяч измерений в секунду достаточно для подавляющего большинства проектов.

Выводы могут быть запрограммированы как на индивидуальную работу, так и на измерение разницы между напряжениями на двух выходах.

Подключение

Для подключения микросхемы к управляющей плате вам потребуются только breadboard и провода «папа-папа» или «папа-мама» в зависимости от типа разъёмов на плате.

Для работы с Arduino есть специальная библиотека. Для работы с Raspberry Pi есть библиотеки на C, Ruby и Perl. Для Python есть демонстрационный скрипт.

Характеристики

  • Напряжение питания: 2,7–5,5 В
  • Температурные режимы: −40…+80 °C
  • Разрядность: 10 бит
  • Скорость преобразования: 200 тыс. семплов/сек