Як я можу керувати моторами Lego?


20

Я хотів би знайти спосіб, щоб змусити мій Raspberry Pi управляти деякими моторами Lego, і в якості бонусу я хотів би скористатися одним або декількома оптичними датчиками.

Зазвичай, робототехніка Lego використовує контролер «цегли» «Mindstorms» - це здається дорогим і переважно зайвим, якщо у вас є Raspberry Pi для видачі команд. Контролер Mindstorms - це процесор і мотор-контролер, які можуть працювати без підключення до ПК, але не має Ethernet і багатьох функцій сучасних комп'ютерів.

Чи є альтернативна платформа, яка дозволить мені контролювати та отримувати дані від творінь Lego?

FYI, це проста машина з попередженнями про помилки. Пристрій буде стежити за станом тестової рамки Дженкінса і виконувати дії залежно від кількості випадків тестування одиниць, які виходять з ладу. Малиновий пі буде опитувати веб-сторінку, яка містить деякі легко розібрані XML. Якщо кількість помилок> 0, ми хочемо зробити так, щоб Raspberry Pi почав керувати машиною.


Привіт, чи є Rasberrypi.stackexchange.com/users/390/salim-fadhley та raspberrypi.stackexchange.com/users/286/salim-fadhley обома вашими обліковими записами? Відредагуйте свої профілі на обох (якщо можливо), вимагаючи злиття. Я вже поскакав члену команди громади про допомогу.
Manishearth

Я хотів би зробити це зі старими моторами Lego Mindstorms у мене, які є простими постійними двигунами постійного струму. Покладіть + 5 В на одну сторону, вони повернуть в одну сторону, покласти + 5 В на другу сторону, вони повернуть в інший бік. Занадто високий струм, щоб RPI керував безпосередньо, тому мені все одно потрібна схема інтерфейсу.

Відповіді:


13

Стандартні датчики Lego Mindstorms є аналоговими (тобто напруга між 0-5? V) або цифровими (I²C або RS-485) ( джерело ).

Аналогові датчики:

Я не думаю, що в Raspberry Pi є розбита штифт у GPIO для АЦП (аналоговий цифровий перетворювач), тому ми не можемо взаємодіяти з аналоговими датчиками (без зайвого мікроконтролера).

Цифрові датчики:

Raspberry Pi має два штирі в GPIO для I²C, це означає, що якщо ви підключите GND, + V, SDA та SCL до своїх датчиків, ви повинні мати можливість використовувати бібліотеку I²C для розмови з ними. Там же водій тут - якщо ви будете слідувати інструкціям , ви повинні мати можливість посилати і приймати сигнали I²C так само легко , як це (каже з TI TMP102):

raspberrypi bootc # echo tmp102 0x48 > /sys/class/i2c-adapter/i2c-0/new_device
raspberrypi bootc # sensors
tmp102-i2c-0-48
Adapter: bcm2708_i2c.0
temp1:        +21.6°C  (high = +160.0°C, hyst = +150.0°C)

Приклади:

Є кілька статей про те , як підключити датчики і мотори на цій сторінці , наприклад, з'єднавши цегляну контролер MindStorm на зовнішній мікроконтролер:

Буря з мікроконтролером



1

Штормовані бурі - це єдиний повністю LEGO спосіб контролювати більше LEGO.

Нинішній NXT 2.0 коштує досить дорого, але ви можете взяти старіший комплект RCX (це лише приклад) для чогось на зразок 1/3 ціни NXT 2.0 в Інтернеті.

В іншому випадку вам доведеться шукати інший комплект двигунів / сенсорів, який ви, можливо, зможете приєднати до LEGO. Їх не дуже легко знайти, і вони можуть бути досить дорогими; можливо, варто спробувати знайти когось, хто знає більше про них, якщо ви сходите по цьому маршруту.

Якщо ви збираєтеся придбати старий продукт LEGO з ebay, я б запропонував переглядати brickpicker.com, щоб отримати знімок ринку. (Я виявив це місяць-два тому. Це прекрасне місце для пошуку інформації про поточну ринкову вартість наборів LEGO на ebay.)


2
Вибач за це. Я мав би запропонувати вам якось включити RPI у свою відповідь, адже це сайт про RPi, а питання стосується RPi. Якщо ви відредагуєте своє запитання, я можу видалити свій звуковий запис. До речі, www1.cbsd.org/sites/teachers/hs/MHAYDEN/Science%20Fair/… Шукайте "Ларссон" у цьому PDF- файлі, і ви знайдете конспект мого проекту з Міжнародного наукового ярмарку Intel кілька років тому. Це була думка Лего, яка навчилася перемагати на Tic Tac Toe.
Ендрю Ларссон

Не хвилюйтесь, я також не зайняв ідеального ставлення. Я знаю річ RPi, але відповідь не повинна безпосередньо стосуватися цього - у нас є багато питань щодо Linux / distro, і я впевнений, що ви можете запустити RCX з Pi.
ACarter

@Andrew wel Я видалив свій коментар, щоб ми могли розпочати нове. Це звучить справді цікаво. Я створив сценарій python, який може відтворювати tic tac toe, але це робить його таким чином, він навчиться грати на ньому, ну, це звучить геніально.
ACarter

Він використовував модифіковану / оптимізовану реалізацію машини MENACE Дональда Мічі . Робот контролювався програмою C ++, яка висувала / витягувала команди / дані для / з двигунів / датчиків до / з NXT. Розрахунки проводилися на комп’ютері, але у мене була версія програми, яка працювала на самому NXT. Хоча пам'яті вистачить швидко, хоча масиви не підтримуються стандартною прошивкою, тому мені довелося замінити її на модифіковану. Я думаю, що просто міг би використовувати свій RPi, щоб створити нову версію програми. Було б весело!
Ендрю Ларссон

З того часу, як я отримав свій NXT, я замислювався над тим, як можна керувати ним, використовуючи мову вищого рівня на комп’ютері. Є такі речі, як leJOS та інше, але що ти використовував?
ACarter

1

Альтернативу всьому цьому є, підключіть датчики та двигуни NXT до блоку управління NXT, а потім з'єднайте їх через Bluetooth з Pi, потім ви можете надсилати команди безпосередньо в NXT, щоб керувати своїми двигунами і читати це датчики. перевірити комплект розробників Mindstorms bluetooth, це дозволяє NXT бути повністю бездротовим !!!!!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.