ScratchDuino. Робоплатформа на СПО. Первый запуск scar169 / 21.03.2015 В прошлом сообщении я рассказывал о самом наборе ScratchDuino и подробно описал процесс инсталляции драйверов программы и специальной версии Scratch. Пришла пора запустить систему и убедиться, что робот выполняет наши приказы. Мы закончили на том, что установка драйверов Arduino Uno уже произошла. Сразу отмечу, что при подключении к тому же ПК другого робота может вновь возникнуть окно установки нового оборудования, но уже не потребуется указывать месторасположение драйверов, в системе они уже есть. Так что останется только выбрать Автоматическую установку и, в некоторых случаях, согласиться с установкой неподписанного драйвера. Все, устройство зарегистрируется в системе. В моем варианте я просто записал за определенными компьютерами пронумерованные роботокомплекты, чтобы потом не делать лишних движений при подключении роботов учащимися. Итак, начнем с позиции: робот подключен к ПК по USB кабелю, драйвера и программа Scratchduino версии 0,3 (на текущий момент) установлены. 1. Стоит заранее определить порт, к которому подключен робот, его потребуется указывать в Scratchduino. Для определения порта можно воспользоваться несколькими вариантами решения:[/b] 1 вариант: Идем в Диспетчер устройств Windows и смотрим на группу Порты COM и LPT, в моем случае Arduino Uno – порт COM7. Запомним. 2 вариант: Используем open-source Arduino Software (IDE), свежую версию которой можно скачать с официальной страницы. На текущий момент это версия 1.6.1 Ссылка на страницу загрузки - http://arduino.cc/en/Main/Donate, можно выбирать просто загрузку программы JUST DOWNLOAD, или поддержать разработчиков финансово, пожертвовав средства на развитие ПО. Прямая ссылка на загрузку версии 1.6.1. программы - http://downloads.arduino.cc/arduino-1.6.1-windows.exe. При установке программы можно оставить настройки по умолчанию, оставив все галочки настроек. Возможно, потребуется несколько раз согласится с установкой неподписанных драйверов. В принципе, Arduino стоит поставить. Во-первых, просто интересно))). Во-вторых, рано или поздно разработчики Робоплатформы выпустят новую прошивку для робота и ее захочется «залить» на устройство, или мы решим сами внести какие-то изменения в функционал... Тут-то как раз Arduino и потребуется обязательно (на первых порах можно использовать ту прошивку, которая уже зашита в устройство, но посматривать на обновления в http://files.scratchduino.ru/firmware/ стоит). Впрочем, этому процессу мы еще уделим внимание. А сейчас «прикладное» применение программы, позволяющее быстро определить порт подключения робота без поиска Диспетчера устройств. Запускаем Arduino, идем в меню Инструменты – Порт, смотрим последний добавившийся порт, в моем случае COM7 (Arduino Uno). В принципе, в некоторых случаях, когда было непонятно, установилась система или нет, а подпись в скобках отсутствовала (может, это «фишка» новой версии?))), я просто вынимал шнур USB, смотрел, что осталось в меню Порты, потом вставлял шнур и смотрел, добавился ли новый и какой. Каким бы способом мы не воспользовались, но порт мы выяснили. Если теперь с этим компьютером будет работать именно этот робокомплект, можно просто записать порт на коробке робота, чтобы больше не выяснять. Пора делом заниматься. 2. Робот подключен, порт помним. Запускаем Scratchduino (как помним, мы его установили. Ярлык – Scratchduino Robot). Интерфейс почти знакомый, если вы работали с Scratch, разве что персонаж другой сделан основным. Но нас интересует другое. Идем в группу Сенсоры, правой кнопкой вызываем контекстное меню команды Значение сенсора, или Сенсор, выбираем – показать данные ScratchBoard, вызывая табло отображения значений аналоговых сенсоров (см.рисунок). В окне программы появляется требуемое табло. Щелкаем по нему правой кнопкой мыши и выбираем команду – выбрать серийный/USB порт. Выбираем наш порт (у меня это COM7). Если все в порядке, то показания Button изменятся с 0 на false (потом могут на true, все руки не доходят выяснить, за что отвечает эта позиция, пока не требовалось). Все, робот готов к восприятию управляющих кодов. Попробуем для начала написать простую программу для ручного управления мотоприводом системы. 3. Первая программа. Ручное управление. С самого начала стоит очень серьезно отнестись к вопросу сохранности нашего оборудования, да и сама идеология работы с внешними управляемыми устройствами начинает закладываться именно сейчас. Поэтому рекомендую начать с написания модуля экстренной остановки, чтобы в любом раскладе можно было остановить систему одним нажатием, например – на клавишу Пробел. Воспользуемся двумя командами группы Контроль и одной – из группы Движение (ищем в конце списка команд группы, находим Мотор откл). Думаю, по внешнему виду программы особо комментариев не требуется. Теперь создадим блок управления движением вперед при нажатии кнопки Вверх. Напомню, что в конце команд группы Движение появились команды управления моторами. Необходимо задать направление и время работы мотора. Правда, направление вперед и назад названы как «Туда» и «Сюда», но нас же это не смущает? Пишем новый кусок программы. Время работы мотора стоит поменять на меньшее, чем 1 секунда по умолчанию, у меня – 0.2 c. Это, опять же, из соображения безопасности. Ведь у нас задумка – пока нажимаем – едет. Если же после отпускания клавиши робот еще будет ехать целую секунду… может и до края стола доехать))) Проверяем, нажимаем клавишу Стрелка Вверх на клавиатуре, убеждаемся, что робот едет, испытываем чувство удовлетворения (я бы сказал восторга, но это уж как у кого, у меня точно было)))). Пишем (проще создавать дубли уже написанного блока через контекстное меню) остальные блоки управления, не забывая менять клавиши управления и направления движения мотора (см. рисунок). Получаем что-то в таком духе: Все, можно кататься в свое удовольствие. Если же что-то пойдет не так (робот покатился по своим делам), не забываем нажимать на Пробел, останавливая все процессы. Пожалуй, на сегодня все. В следующий раз начнем освоение датчиков и процессов калибровки. Удачи!PS На всякий случай все же записал видеовариант работы непосредственно с программой. Да и на робота можно посмотреть)))прямая ссылка на видео Scratch Scratchduino роботехника