The Monday Jolt: Bricktronics расширяет возможности Lego

The Monday Jolt: Bricktronics расширяет возможности Lego
The Monday Jolt: Bricktronics расширяет возможности Lego
Изображение
Изображение

The Monday Jolt - это новая рубрика о микроконтроллерах и электронике, которая появляется в MAKE каждый понедельник утром.

Изображение
Изображение

Lego Mindstorms NXT - это фантастический образовательный набор по робототехнике, который обучает детей и взрослых навыкам, начиная от инженерного дела и заканчивая программированием. Тем не менее, не было бы здорово улучшить этих роботов Lego с помощью плат и щитов Arduino? Помня об этой мысли, Адам Вольф, Мэтью Беклер и я написали «Make: Lego and Arduino Projects» и разработали щит Bricktronics для взаимодействия между ними.

Адам и Мэтью, которые управляют бизнесом по производству электронных комплектов, Уэйн и Лейн, решили сделать щит. Они провели реверс-инжиниринг протоколов Mindstorms, отлили нестандартные детали за рубежом, смоделировали прототипы схем и разработали библиотеку Arduino для управления щитом. В книге также объясняется, как собрать несколько забавных моделей Lego, в том числе робота для питья шоколадного молока и синтезатора клавиш.

Анатомия щита Bricktronics

Углубляясь в мир Arduino и Mindstorms, мы обнаружили, что одна из проблем заключалась в том, как физически соединить их. Mindstorms использует специальные провода со вилками, представляющими собой разъемы RJ12 со смещенным по центру контактом. Мы нашли два решения: первое - обжать провод Mindstorms к вилке Molex, что позволяет подключить провод к двигателю или датчику Mindstorms на одном конце и к макетной плате на другом. Более простое решение - использовать экран Arduino, в котором можно разместить вилки, поэтому мы сосредоточились на разработке экрана, а не на макетных решениях, хотя мы также покажем вам, как это сделать. Шилд Bricktronics имеет шесть разъемов, совместимых с Mindstorms: четыре для датчиков и два для двигателей.

Изображение
Изображение

Вот как выглядит щит:

  1. Заглушки датчиков. Порты 3 и 4 могут подключать аналоговые датчики, такие как цветные или ультразвуковые, а все четыре могут принимать входные данные от цифровых датчиков, таких как сенсорный датчик Lego.
  2. Чип MCP23017 представляет собой расширитель ввода-вывода, который отправляет данные, используя только два контакта, используя обычную шину I2C.
  3. Переключатель DPDT переключает между Arduino Uno Rev 3 и более ранними версиями Arduino для обработки данных I2C.
  4. Транзисторы Дарлингтона используются для переключения сильноточных нагрузок и позволяют экрану управлять двигателями, не изготовленными Lego. Подключите компоненты к гнездовым разъемам рядом с транзисторами.
  5. Эти штекерные разъемы используются для управления линейкой двигателей постоянного тока Lego Power Functions, в которых не используются вилки Mindstorms. (В книге мы также покажем, как сделать адаптеры Power Functions для Molex.)
  6. L293D Драйвер двигателя: Этот чип управляет двумя серводвигателями Mindstorms.
  7. Вилки двигателя.
  8. Стекируемые заголовки. Классический комплект щитов позволяет добавить еще больше щитов сверху.
  9. Кнопка переключает функцию сброса Arduino.

Bricktronics против NXT

Изображение
Изображение

Значит, щит и Arduino превзошли микроконтроллер Lego, верно? Ну и да и нет. В ходе наших исследований нас очень впечатлил блок NXT, который является микроконтроллером Mindstorms по умолчанию. Это настолько хорошо, что многие хакеры придумали, как поставить на кирпич NXT альтернативные операционные системы, такие как LeJos и NXT-C. Кроме того, NXT может управлять тремя двигателями, а наш щит - только двумя. Тем не менее, в подходе Arduino есть что понравиться. Простая возможность использовать всю обширную экосистему аппаратного обеспечения и кода Arduino сотворит чудеса с вашим роботом. Уэйн и Лэйн также разрабатывают контроллер двигателя, который может управлять пятью двигателями и имеет встроенный разъем XBee. Он еще не готов к покупке или сборке, но вы можете увидеть его в действии здесь.

Одно из самых больших отличий между NXT и нашими платами заключается в том, что Bricktronics имеет открытый исходный код, и Уэйн и Лэйн свободно делятся схемами и кодом, необходимыми для создания ваших собственных проектов без необходимости покупать щит. Когда другие хакеры начнут разрабатывать свои собственные проекты, совместимые с Mindstorms, мы увидим огромное расширение возможностей Mindstorms.

Bricktronics в образовании

Одним из замечательных сюрпризов, с которыми мы столкнулись при разработке Bricktronics, стало то, что преподаватели действительно в этом разобрались. По словам этих учителей, Arduino встречает Mindstorms - это нечто, что технически бросает вызов детям и взрослым, и выводит это на новый уровень сложности. Некоторые преподаватели STEM помогают студентам изучать программирование, знакомя их с Mindstorms, который предлагает упрощенный графический интерфейс и обучает широким концепциям программирования, таким как циклы и конструкции if/else, но на самом деле не учит программированию как таковому.

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

DrummerBot, базовый проект

Изображение
Изображение

Вот очень простой робот, которого может построить каждый, если у него есть Arduino Uno, щит Bricktronics (или подключите свой собственный!) и набор Mindstorms. Это DrummerBot, робот, предназначенный для барабанения по пластиковой банке с арахисовым маслом. Он использует два серводвигателя для управления барабанными палочками и ультразвуковой датчик, который определяет, когда кто-то приближается. Программа работает циклично, ожидая обнаружения человека на определенном расстоянии. Когда он замечает кого-то близко, он начинает барабанить в барабан, причем скорость увеличивается по мере приближения объекта.

Хотите создать робота-барабанщика? Перейдите по ссылкам ниже, чтобы загрузить программу Arduino, а также файл САПР Lego Digital Designer для модели.

Это отличный проект для новичков, поскольку его легко собрать и запрограммировать, а также он научит вас, как Arduino взаимодействует с библиотекой Bricktronics. Это хороший способ начать изучать забавные возможности, которые предоставляют Lego и Arduino.

Подробнее

Вот что вы можете узнать о Bricktronics:

  • Посетите страницу Уэйна и Лейна Bricktronics.
  • Купите книгу: вы можете приобрести ее, среди прочего, на O’Reilly и Amazon.com. Примеры глав доступны на обоих сайтах.
  • Купите или постройте щит Bricktronics.
  • Создайте DrummerBot: загрузите файл Lego Digital Designer и код Arduino на странице Уэйна и Лейна на Github.