Please reload

что свежего

тому, кто забрёл

29.06.2017

1/1
Please reload

приветствую

ScratchDuino. Робоплатформа: штрихи к портрету

29.08.2015

Когда ко мне в руки попал комплект ScratchDuino, я уже знала, что перед работой следует вчитаться в серию постов Ю.Винницкого, который пишет о робоплатформе и лаборатории достаточно подробно и основательно. В помощь новичкам обязательно рекомендую две публикации этого автора:
ScratchDuino. Робоплатформа на СПО. Установка
ScratchDuino. Робоплатформа на СПО. Первый запуск 


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

Итак, если на компьютере уже установлена среда Скретч, то это означает, что примеры проектов, предоставляемые вместе с робоплатформой, будут открываться и читаться, однако, лучше установить среду СкретчДуино, поскольку это специальная модификация Скретч, предназначенная для работы с этим роботом. Если на ПК имеется Arduino IDE, то она самостоятельно распознает СкретчДуино при подключении к компьютеру. В моём случае даже не пришлось указывать номер порта.

Можно использовать файлы прошивки для платформы и лаборатории с диска, а можно взять из сети - там наверняка будут самые свежие. В документации процесс прошивки описан достаточно подробно, но хотелось бы уточнить один момент. Если при прошивке появляется сообщение "avrdude: stk500_getsync(): not in sync: resp=0x00", то это означает, что плата Arduino не отвечает. Причин тому может быть много, но первое, что следует проверить: подключено ли питание к плате и в каком положении находятся джамперы USB/Bluetooth, для чего следует перевернуть робоплатформу. Нахождение обоих джамперов в нижнем положении свидетельствует о том, что микроконтроллер подключён по USB, о чём подсказывает пояснительная табличка рядом с переключателями.

Следует отметить ещё одну интересную особенность. Моторов у робота два - по одному на каждое колесо. Однако, с использованием всего одного блока мотора в программной среде можно управлять сразу двумя колёсами. По всей видимости, так робота настраивает на работу скетч прошивки платы. Поэтому все движения робот совершает, приводя в действия оба мотора одновременно: иногда в одну, а иногда в разные стороны. Это позволяет ему, в частности, поворачиваться и разворачиваться практически на одном месте.

Классика жанра: движение робота. Стандартные скрипты для СкретчДуино обязательно следует дополнять возможностью приостановки всех происходящих процессов, так называемой аварийной остановкой. Делать это нужно, чтобы избежать поломок и падений.

Тут возникает масса вопросов и открываются просторы для творчества. Попробуйте поэкспериментировать со скриптом и добиться плавности движений робота, провести его через лабиринт или по указанной траектории. Сколько секунд требуется роботу, чтобы повернуть на 90 градусов? на 45? А если использовать при этом не питание по USB от компьютера, а управление по Bluetooth и батарею на 9 в? 

Уже на этом этапе можно пробовать работать с циклическими конструкциями. Запрограммируйте объезд препятствия, движение змейкой, по квадрату и кругу. Получилось? Проверьте, как робот преодолевает подъём и какой разгон приобретает при спуске. Понадобится ли вам секундомер или можно обойтись средствами программного обеспечения? Апробируйте движение по различным поверхностям: бумага, дерево, линолеум, что-то ещё (бетон, асфальт, газон, лёд - да мало ли поверхностей? - главное, экспериментировать, пробовать, испытывать!).

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

Для того, чтобы узнать номера гнёзд, можно использовать и сами датчики. Подсоединяем датчик касания поочерёдно к каждому порту, нажимаем на сенсорную пластину и наблюдаем за изменением показаний в таблице с нуля на 100. Те же действия можно производить с другими датчиками. Одновременно можно наблюдать за диапазоном показаний каждого датчика, а также за возникновением так называемого шума в 2-3 единицы на соседних портах, даже если к ним ничего не подключено.

Проводя такие исследования вместе с ребятами, будет логично фиксировать результаты в табличной форме, поскольку они не раз пригодятся в последующих экспериментах. Моя таблица результатов выглядит так:

Совсем недавно сайт проекта СкретчДуино обновился, произведена реконструкция СкретчДуино Вики, которая сегодня содержит ряд полезных материалов и ждёт дальнейшего наполнения и развития. Также появилось интересное руководство пользователя, в котором подробно рассмотрено, каким образом настраивается работа со СкретчДуино под разными ОС (в том числе и под Android). Информацию о том, какие датчики входят в комплект и каким образом выглядит каждый из них, можно найти в этом же руководстве на с.26. Интересно, что в пособии указано расстояние видимости для робота - 20 см. Однако, это следует обязательно проверить на практике. Мой СкретчДуино оказался более дальнозорким и различает расстояния до 38 см, о чём говорит смена цифр в табличке данных с портов в среде Скретч при отведении руки-препятствия от датчика.

Итак, начало положено, первые проекты на движение и тестирование датчиков проведены. Продолжение следует... а пока добро пожаловать в сетевое сообщество о СкретчДуино.

Please reload