Как составить программу для робота

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

Просмотров работы: 609

Старт в науке

VIII Международный конкурс научно-исследовательских и творческих работ учащихся

Учредителями Конкурса являются Международная ассоциация учёных, преподавателей и специалистов – Российская Академия Естествознания, редакция научного журнала «Международный школьный научный вестник», редакция журнала «Старт в науке».

Источник: school-science.ru

Презентация, доклад Написание программы для робота

Вы можете изучить и скачать доклад-презентацию на тему Написание программы для робота. Презентация на заданную тему содержит 9 слайдов. Для просмотра воспользуйтесь проигрывателем, если материал оказался полезным для Вас — поделитесь им с друзьями с помощью социальных кнопок и добавьте наш сайт презентаций в закладки!

Программируем своего робота на плате Iskra JS

Презентации » Образование » Написание программы для робота

Написание программы для робота Держащего расстояние 15 см от препятствияВведение Текущий урок мы посвятим изучению ультразвукового датчика. Данный датчик присутствуетИзучаем ультразвуковой датчик Главное назначение ультразвукового датчика, это определение расстояния доИзучаем ультразвуковой датчик Ультразвуковой датчик может выдавать измеренное расстояние в сантиметрахЗадача Написать программу для робота, держащего дистанцию в 15 см отРешение Поведение робота будет следующим: при значении показания ультразвукового датчика большеРешение Мы уже знаем, что за организацию выбора выполняемых блоков вРешение Поместим в эти контейнеры программные блоки, включающие движение вперед и Решение Загрузите получившуюся программу в робота и запустите ее на выполнение.

Слайды и текст этой презентации

1 урок. КуМир. Первая программа для исполнителя Робот

Слайд 1

Описание слайда:
Написание программы для робота Держащего расстояние 15 см от препятствия

Слайд 2

Описание слайда:

Введение Текущий урок мы посвятим изучению ультразвукового датчика. Данный датчик присутствует только в образовательной версии набора Lego mindstorms EV3. Тем не менее, пользователям домашней версии конструктора советуем тоже обратить внимание на данный урок. Возможно, что прочитав о назначении и использовании этого датчика, вы пожелаете его приобрести в дополнение к своему набору.

Слайд 3

Описание слайда:

Изучаем ультразвуковой датчик Главное назначение ультразвукового датчика, это определение расстояния до предметов, находящихся перед ним. Для этого датчик посылает звуковую волну высокой частоты (ультразвук), ловит обратную волну, отраженную от объекта и, замерив время на возвращение ультразвукового импульса, с высокой точностью рассчитывает расстояние до предмета.

Слайд 4

Описание слайда:

Изучаем ультразвуковой датчик Ультразвуковой датчик может выдавать измеренное расстояние в сантиметрах или в дюймах. Диапазон измерений датчика в сантиметрах равен от 0 до 255 см, в дюймах — от 0 до 100 дюймов. Датчик не может обнаруживать предметы на расстоянии менее 3 см (1,5 дюймов). Так же он не достаточно устойчиво измеряет расстояние до мягких, тканевых и малообъемных объектов.

Читайте также:
Программа для фотоаппарата canon узнать пробег

Кроме режимов измерения расстояния в сантиметрах и дюймах датчик имеет специальный режим «Присутствие/слушать». В этом режиме датчик не излучает ультразвуковые импульсы, но способен обнаруживать импульсы другого ультразвукового датчика. У нашего робота, собранного по инструкции small-robot-45544, ультразвуковой датчик уже закреплен впереди по ходу движения. Подключим его кабелем к порту «3» модуля EV3 и приступим к разбору практических примеров использования ультразвукового датчика.

Слайд 5

Описание слайда:
Задача Написать программу для робота, держащего дистанцию в 15 см от препятствия.

Слайд 6

Описание слайда:

Решение Поведение робота будет следующим: при значении показания ультразвукового датчика больше 15 см робот будет двигаться вперед, стараясь приблизиться к препятствию; при значении показания ультразвукового датчика меньше 15 см робот будет двигаться назад, стараясь удалиться от препятствия.

Слайд 7

Описание слайда:

Решение Мы уже знаем, что за организацию выбора выполняемых блоков в зависимости от условия отвечает программный блок «Переключатель» Оранжевой палитры. Установим для блока «Переключатель» режим «Ультразвуковой датчик» — «Сравнение» — «Расстояние в сантиметрах» (Рис. 2 поз.1).

Параметр «Тип сравнения» блока «Переключатель» установим в значение «Больше»=2, а «Пороговое значение» определим равным 15 (Рис. 2 поз. 2). Такие настройки программного блока «Переключатель» приведут к следующему поведению программы: При показаниях ультразвукового датчика больше 15 см будут выполняться программные блоки, помещенные в верхний контейнер (Рис. 2 поз.

3), в противном случае будут выполняться программные блоки, помещенные в нижний контейнер (Рис. 2 поз. 4).

Слайд 8

Описание слайда:

Решение Поместим в эти контейнеры программные блоки, включающие движение вперед и назад. Для того чтобы программный блок «Переключатель» выполнялся многократно, поместим его внутрь программного блока «Цикл» Оранжевой палитры (Рис. 3).

Слайд 9

Описание слайда:

Решение Загрузите получившуюся программу в робота и запустите ее на выполнение. Если перед роботом отсутствует препятствие, то он поедет вперед. Поднесите руку близко к ультразвуковому датчику, попробуйте отводить — приближать руку. Как ведет себя робот? Ждем ваши комментарии к этому уроку.

Читайте также:
Как восстановить удаленные файлы с флешки без программ

Источник: myslide.ru

Глава 6. Программирование в RobotC

Язык программирования RobotC отличается от стандартного C расширенным набором команд по работе с устройствами микроконтроллера. Опытный программист найдет эту среду гораздо более удобной, чем пакеты графического программирования. Для тех же, кто не знаком с языком C, текстовое программирование микроконтроллеров может показаться недостаточно наглядным. Однако именно в текстовом режиме можно составлять наиболее сложные и эффективные программы.

Firmware

Операционная система, предназначенная для исполнения на NXT программ, написанных на RobotC, отличается от аналогичных прошивок микроконтроллера для Robolab или NXT-G. Хотя внешнее сходство присутствует. Однако при попытке исполнения программы, загруженной из другой среды, будет выдаваться сообщение об ошибке. Поэтому перед началом работы необходимо обеспечить загрузку соответствующего Firmware (рис. 6.1).

Рис. 6.1. Загрузка операционной системы на NXT.

Hello, world!

Традиционно первая программа на языке Си должна вывести на экран приветствие миру: «Hello, world!». Воспользовавшись возможностями NXT, исполним традицию:

nxtDisplayTextLine(0, «Hello, world!»); wait1Msec(5000);

Команда nxtDisplayTextLine(0, «Hello world!»); выведет в строку экрана NXT с номером ноль сообщение «Hello world!». По прошествии 5 с программа закончит выполнение и текст исчезнет. Сохраните программу на жесткий диск с именем «hello.c».

Для загрузки в микроконтроллер подключите его к компьютеру, включите NXT и нажмите на клавиатуре компьютера клавишу F5. Если программа загрузилась успешно, на экране компьютера появится окно отладки Program Debug (рис. 6.2).

Рис. 6.2. Окно отладки программы.

Если нажать в нем кнопку Start, программа запустится на NXT. Можно игнорировать это окно, найти в меню микроконтроллера файл hello и запустить его оранжевой кнопкой.

Усовершенствуем программу. То же сообщение можно вывести по центру экрана:

nxtDisplayCenteredTextLine(3, «Hello world!»); wait1Msec(5000);

На этот раз сообщение будет выведено в третьей строке дисплея NXT с выравниванием посередине.

Используя набор команд по работе с экраном NXT, в том числе и графических, можно написать собственные миниигры для микроконтроллера. Но это тема отдельной главы или даже книжки.

Структура программы

Теперь обратим внимание на структуру исходного кода. Главная задача, с которой начинается выполнение программы в RobotC, называется task main(). Тело задачи располагается между двумя фигурными скобками: открывающей и закрывающей. Все команды должны быть размещены между ними.

Читайте также:
Принцип работы программы распознавания лиц

Более подробно о задачах написано в разделе «Параллельные задачи».

Управление моторами

Состояние моторов

Простейшая задача: вращать мотор C вперед 3 с:

motor[motorC] = 100; wait1Msec(3000); >

Команда motor[] представляет собой массив из трех элементов, каждый из которых определяет текущее состояние вращения моторов A, B и C. Действие «полный вперед» задается числом 100, «полный назад» — числом –100, остановка — числом 0. Действие этой команды можно считать мгновенным. После ее выполнения мотор включается и продолжает работать до тех пор, пока не будет остановлен другой аналогичной командой.

Команда wait1Msec() задает время ожидания в миллисекундах (1 мс = 1/1000 с). Таким образом, wait1Msec(3000) означает «ждать 3 секунды».

Теперь сформулируем задачу для робота более четко: проехать вперед 2 секунды со средней скоростью и остановиться. В программе последовательно включаются моторы C и B с мощностью 50, работают в течение 2 с, после чего последовательно выключаются. По сути включение обоих моторов произойдет практически одновременно, как и их выключение:

motor[motorC] = 50; motor[motorB] = 50; wait1Msec(2000); motor[motorC] = 0; motor[motorB] = 0;

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

Следующий пример работает аналогично:

motor[motorA]=100; while (true) wait1Msec(1);

Миллисекундная задержка полезна для разгрузки контроллера при работе бесконечного цикла.

Встроенный датчик оборотов

Команда nMotorEncoder[] — это обращение к датчику оборотов мотора, который возвращает значение в градусах. Каждый из трех элементов этого массива имеет 16-битное значение, что дает возможность хранить число в диапазоне –32768. 32767, это соответствует 95 полным (360 градусов) оборотам моторов. В длительно работающих программах следует время от времени обнулять значения массива во избежание переполнения.

nMotorEncoder[motorA] = 0;

Этим же действием датчик оборотов инициализируется для начала измерений.

Следующая программа обеспечит вращение мотора A на 1000 градусов.

motor[motorA]=50;

while (nMotorEncoder[motorA] < 1000)

Дата добавления: 2019-02-22 ; просмотров: 2406 ; Мы поможем в написании вашей работы!

Источник: studopedia.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru