Робот mBot от компании Makeblock. ч.2. Играем с роботом "из коробки".

Поделиться
HTML-код
  • Опубликовано: 26 окт 2024

Комментарии • 12

  • @ОльгаБуракова-я8ж
    @ОльгаБуракова-я8ж 7 лет назад

    Хотелось бы услышать про программные особенности mBot. Например, что можно реализовать в скретч, но нельзя загрузить в mBot . mBot не воспринимаются такие блоки как "остановить". Возможен ли одновременный запуск скриптов загруженных на робота?(пример: один скрипт заставляет ехать вперед, второй ждёт 15 секунд и останавливает все скрипты)

    • @aleksandrgrigorev1065
      @aleksandrgrigorev1065 7 лет назад

      Этот вопрос весьма объемен, но попытаюсь ответить конспективно.
      1. Программы, исполняющиеся на компьютере (в интерактивном режиме) могут быть больше по объему, чем те, что загружены непосредственно в контроллер. Но тем не менее, для практически любой учебной задачи объема памяти контроллера mCore оказывается более чем достаточно.
      2. Персональный компьютер - принципиально более производительная платформа, чем любой Arduino микроконтроллер (в том числе контроллер mCore), но загруженные в контроллер программы исполняются быстрее из-за ограниченной скорости обмена данными между робототехническим контроллером и управляющим компьютером.
      3. Управление несколькими параллельными процессами (мигание двумя светодиодами в разном темпе, например) организовать в автономной Arduino программе существенно сложнее, чем в случае интерактивного управления из среды Scratch (mBlock). Тем не менее, возможно (см. "Автоматное программирование" в Википедии). Цикл должен быть один. Чтобы появилась возможность, как в Scratch, организовывать несколько одновременно исполняемых циклов, требуются более мощные микроконтроллеры и более совершенные программные инструменты (см. Espruino, ZeroPi).
      4. Возможности Arduino микроконтроллера весьма велики несмотря на все вышесказанное. Если говорить определеннее, главные ограничения - не возможности mCore, а способности программиста. Если еще определеннее - прежде, чем дети столкнутся с ограничениями возможностей контроллера mCore, скорее всего, их обучение уже закончится.
      5. Возможности самого робота mBot ограничены не производительностью контроллера, а небольшим числом датчиков и отсутствием исполнительных механизмов. Но этот недостаток можно устранить, расширяя конфигурацию робота самостоятельно, либо с помощью готовых наборов MakeBlock.
      6. Чтобы предотвратить бесконечное исполнение скрипта, можно использовать блок "ждать до". Ждать до тех пор, пока единица не станет равна двойке, например (а она никогда не станет). Чтобы снова запустить программу, надо будет нажать на кнопочку Reset контроллера mCore.
      7. Развитие средств визуального программирования превратило эти средства в серьезный "взрослый" инструмент, позволяющий решать огромное количество прикладных задач "без написания единой строчки кода", как это сформулировано на сайте mBlock. Иными словами, Scratch в ипостаси mBlock давным-давно уже не (всего лишь) учебный инструмент, а прикладной, рабочий.
      8. Если существуют конкретные вопросы, спрашивайте!

    • @ОльгаБуракова-я8ж
      @ОльгаБуракова-я8ж 7 лет назад

      Как после загрузки программы на mCore (для работы mBot в автономном режиме) отчистить память платы, чтобы робот снова выполнял программы, заданные управляющим компьютером (через USB или Bluetooth?

    • @ЮрийВинницкий-н2ы
      @ЮрийВинницкий-н2ы  7 лет назад

      Если правильно понял последний вопрос, имеется в виду - как восстановить интерактивное управление? Присоединить робота по usb, соединиться, указав его com порт, восстановить прошивку для интерактивного режима (обновить прошивку). Все, опять можно управлять из mBlock как по проводу, так и по беспроводным соединениям.

  • @it-juhttjk3167
    @it-juhttjk3167 7 лет назад

    Сам столкнулся с вопросом восстановления настроек после программирования контролёра. В родной программе под кнопкой загрузки есть возможность восстановить программу по умолчанию. В этом режиме ИК пульт работает, А как силами mBlock изменить действия кнопок ИК пульта? После загрузки любой программы робот перестаёт реагировать на пульт. Есть ли возможность изменить только отдельную команду в программе по умолчанию?

    • @aleksandrgrigorev1065
      @aleksandrgrigorev1065 7 лет назад

      Робот воспринимает команды пульта ДУ и в интерактивном режиме, и в автономном. Чтобы получение этих команд приводило к каким-то действиям, надо предусмотреть соответствующую реакцию. Это несложно, пользуйтесь блоком "if remote pressed" и напишите свою собственную программу.
      А вот чтобы в "программе по умолчанию" поменять реакцию на нажатие кнопки, следует взять исходный текст программы и отредактировать его в Arduino IDE. Не думаю, чтобы для большинства пользователей это было легко.
      И кстати, эмботики еще и между собой способны общаться через инфракрасный канал связи. Все это описано в документе "MBlock: Kids maker rocks with the robots"
      store.makeblock.com/product/mbot-robot-kit

    • @ОльгаБуракова-я8ж
      @ОльгаБуракова-я8ж 7 лет назад

      Не находила в этой книге ("MBlock: Kids maker rocks with the robots") подобного, нельзя ли подробнее где именно

    • @aleksandrgrigorev1065
      @aleksandrgrigorev1065 7 лет назад

      В своей старой сохраненной версии документа действительно не нашел, хотя сам пульт ДУ изображен. В актуальной версии документа упоминание о блоке "if remote pressed" есть (стр.18, Chapter 3 The Arithmetic Challenge):
      download.makeblock.com/mBlockKidsmakerrockswiththerobots.pdf
      Коммуникация между двумя mCore описана здесь:
      www.mblock.cc/example/infrared-communication/

    • @ОльгаБуракова-я8ж
      @ОльгаБуракова-я8ж 7 лет назад

      Спасибо большое, очень полезно)

    • @ОльгаБуракова-я8ж
      @ОльгаБуракова-я8ж 7 лет назад

      Есть ли еще какие-то интересные возможности, помимо описанных в "MBlock: Kids maker rocks with the robots" ?