Я хотел бы найти способ заставить мой Raspberry Pi управлять некоторыми моторами Lego, и в качестве бонуса я бы хотел использовать один или несколько оптических датчиков.
Обычно робототехника Lego использует контроллер «кирпича» Mindstorms - это кажется дорогим и в основном избыточным, если у вас есть Raspberry Pi для выдачи команд. Контроллер Mindstorms - это процессор и контроллер мотора, которые могут работать без подключения к ПК, но не имеют Ethernet и многих функций современных компьютеров.
Есть ли альтернативная платформа, которая позволит мне контролировать и получать данные от творений Lego?
К вашему сведению, это для простой машины оповещения об ошибках. Устройство будет следить за состоянием среды тестирования Jenkins и выполнять действия в зависимости от количества неудачных тестов. Raspberry Pi будет опрашивать веб-страницу, которая содержит несколько легко анализируемых XML. Если количество ошибок> 0, то мы бы хотели, чтобы Raspberry Pi начала управлять машиной.
источник
Ответы:
Стандартные датчики Lego Mindstorms являются аналоговыми (т. Е. Напряжением от 0 до 5 В) или цифровыми (I²C или RS-485) ( источник ).
Аналоговые датчики:
Я не думаю, что Raspberry Pi имеет разъединенный вывод в GPIO для АЦП (аналого-цифрового преобразователя), поэтому мы не можем взаимодействовать с аналоговыми датчиками (без дополнительного микроконтроллера).
Цифровые датчики:
Raspberry Pi имеет два контакта в GPIO для I²C, что означает, что если вы подключите GND, + V, SDA и SCL к своим датчикам, вы сможете использовать библиотеку I²C для общения с ними. Там же водитель здесь - если вы будете следовать инструкциям , вы должны иметь возможность посылать и принимать сигналы I²C так же легко , как это (говорит с TI TMP102):
Примеры:
На этой странице есть несколько статей о том, как подключить датчики и двигатели , например, как подключить контроллер кирпича Mindstorm к внешнему микроконтроллеру:
источник
Там BrickPi + помогает подключить датчики и двигатели LEGO к Raspberry Pi и заменяет кирпич MINDSTORMS.
http://www.dexterindustries.com/brickpi/
источник
Mindstorms - это единственный способ LEGO контролировать больше LEGO.
Нынешний NXT 2.0 довольно дорогой, но вы могли бы купить более старый комплект RCX (это только пример) за что-то вроде 1/3 цены NXT 2.0 в Интернете.
В противном случае вам придется искать другой комплект двигателя / датчика, который вы могли бы прикрепить к LEGO. Их не совсем легко найти, и они могут быть довольно дорогими; Возможно, стоит попытаться найти кого-то, кто знает о них больше, если вы пойдете по этому пути.
Если вы собираетесь получить более старый продукт LEGO от ebay, я бы предложил просмотреть brickpicker.com, чтобы получить снимок рынка. (Я обнаружил это месяц или два назад. Это отличное место, чтобы найти информацию о текущей рыночной стоимости наборов LEGO на ebay.)
источник
Существует альтернатива всему этому: подключите датчики и двигатели NXT к блоку управления NXT, а затем подключите его через Bluetooth к Pi, после чего вы можете отправлять команды непосредственно в NXT для управления его двигателями и считывания его датчиков. посмотрите комплект разработчика Mindstorms bluetooth, это позволяет NXT быть полностью беспроводным !!!!!
источник