Хотите использовать аналоговые датчики в своём проекте на Raspberry Pi? Или, быть может, вам отчаянно не хватает аналоговых входов на Arduino? В такой ситуации пригодится аналого-цифровой преобразователь (АЦП) в виде отдельной микросхемы.
С внешним АЦП вы сможете подключить любой аналоговый сенсор к управляющей плате, которая изначально лишена аналоговых входов. А ещё вы сможете увеличить количество аналоговых портов, если встроенных перестало хватать.
Микросхема АЦП поможет и в том случае, когда значение с аналогового датчика нужно доставить на расстояние в десятки метров. Непосредственная передача аналогового сигнала подверглась бы сильному искажению электромагнитными шумами и радиоволнами. Но вы можете оцифровать сигнал на АЦП непосредственно рядом с датчиком и передавать данные по длинным проводам уже в цифровом виде, который на порядок устойчивее к влиянию шумов.
Аналого-цифровой преобразователь MCP3008 имеет восемь каналов разрядностью 10 бит, т. е. микросхема различает 1024 градации входного сигнала. Входы могут быть запрограммированы как на индивидуальную работу, так и на псведо-дифференциальный режим измерения разницы напряжения на 4 парах контактов.
Скорость микросхемы такова, что при помощи неё даже можно оцифровывать звук. 200 тысяч измерений в секунду достаточно для подавляющего большинства проектов.
Диапазон рабочих напряжений — от 2,7 В до 5,5 В. Это позволяет использовать микросхему как с устройствами на 5 В, так и 3,3 В.
Чип передаёт оцифрованные данные через интерфейс SPI. Для подключения микросхемы к управляющей плате вам потребуются только breadboard и макетные провода «папа-папа» или «папа-мама» в зависимости от типа разъёмов на плате.
Для комфортной работы с микросхемой АЦП используйте библиотеки, которые скрывают в себе весь протокол общения с чипом и предоставляют готовые функции:
1× Микросхема MCP3008-I/P