В отличие от Arduino, mbed и даже TI Launch Pad, известная ныне платформа Raspberry PI не имеет ни одного аналогового входа! Вы можете себе это представить? Ведь очевидно, что такой полноценный микрокомпьютер может стать основной для многих проектов, которые ныне принято делать на том же Arduino. Просто нонсенс... Ну да ладно, надеюсь в будущих версиях "малины" АЦП всё-таки появится, а пока мы решим эту проблему с помощью внешнего устройства MCP3008. Этот чип мы купили в количестве 20 штук на adafruit.com по $4 за штуку. Наверное можно было найти и дешевле, но мы били сильно ограничены по срокам. Ведь этот АЦП используется в базовом курсе робототехники, который мы проводим в Уральской Компьютерной Школе. Описание выводов чипа
Для примера, рассмотрим подключение потенциометра к Raspberry PI. Что касается программы, то для доступа к MCP3008 через SPI я использовал функцию readadc из туториала Adafruit. Однако, для удобства я оформил эту функцию как метод класса ADC. Представленная ниже программа, каждую секунду выводит в консоль значение от 0 до 1023, которое соответствует текущему положению потенциометра. В общем, MCP3008 оказался очень простым в использовании. Рекомендую его и для Arduino проектов, в которых предполагается обработка большого числа аналоговых сигналов. И конечно, для Raspberry PI. Полезные ссылки |
События >