Пример слайдов, которые НИИТ может разработать и предоставить для обучения школьников программе: "Программирование Lego-роботов".
Детали на http://nnxt.blogspot.com/p/lego-lego-mindstorms-nxt.html
2. ПРИМЕР
Программирование моторов
1.Буквы показывают, какие моторы управляются
этим блоком
2.Стрелка указывает направление
3.Изображение спидометра изменяется в
зависимости от мощности
4.Отображается величина, которая контролируется
для ограничения времени работы мотора
3. ПРИМЕР
Программирование моторов
• Для программирования моторов можно:
1. Указать один или несколько моторов (буквы портов)
2. Указать направление движения или остановку мотора
3. При использовании нескольких моторов можно задать направление
поворота.
4. Задать мощность подаваемую на моторы
5. Указать продолжительность движения
двигаться бесконечно или заданное количество секунд, повернуть
мотор на определенное количество градусов или оборотов
6. Задать чем будет заканчиваться движение
затормозить мотором или просто отключить питание
5. ПРИМЕР
Программирование моторов
• Задание 1. Движение одним мотором.
o Запрограммировать только один мотор у тележки
o Пронаблюдать как тележка двигается в зависимости от того какой
мотор мы контролируем
o Пронаблюдать как тележка двигается в зависимости от того какое
направление движения мотора (вперед или назад) мы выбираем
Мотор и направление Характер движения
Левый мотор, движение вперед
Правый мотор, движение
вперед
Левый мотор, движение назад
Правый мотор движение назад
6. ПРИМЕР
Программирование моторов
• Задание 2a. Движение двумя моторами.
o Составить программу для робота-тележки таким образом,
чтобы робот проехал вперед, а потом назад, вернувшись на
то же место.
7. ПРИМЕР
Программирование моторов
• Задание 2b. Движение двумя моторами.
o С помощью секундомера измерить, как изменение мощности,
подаваемой на моторы, влияет на скорость движения робота
o Задайте постоянное количество поворотов двигателя
(Rotation), например, 10.
Помните, что при разном уровне заряда на батарейках,
разная мощность будет подаваться на двигатели при
одном и том же показателе Power.
Мощность Сколько оборотов в секунду
25%
50%
100%
8. ПРИМЕР
Программирование моторов
• Задание 2c. Движение двумя моторами.
o Изучить доступные параметры продолжительности движения
Сможете ли сказать, на сколько оборотов нужно повернуть двигатели,
чтобы проехать 1 метр? Проверьте расчеты экспериментом.
Кол-во Тип Сколько см. или м. проедет робот
1 Seconds
2,5 Seconds
5 Seconds
1 Rotations
1,5 Rotations
3 Rotations
180 Degrees
720 Degrees
9. ПРИМЕР
Программирование моторов
• Задание 2d. Движение двумя моторами.
o Изучить, что произойдет, если запрограммировать робота
ехать 3 секунды, и в то же время руками остановить
двигатели - искусственно создать ситуацию, когда робот
натолкнулся на препятствие и колеса провернуться не могут.
o Что произойдет, если запрограммировать 3 оборота и также
заблокировать движение?
Цель эксперимента - показать, что выполнение программы
блокируется в ожидании поворота двигателей. Это важно
помнить, при движении робота по поверхности с
препятствиями или при выполнении поворотов.
10. ПРИМЕР
Программирование моторов
• Задание 2e. Движение двумя моторами.
o Изучить как изменение направления поворота влияет на
движение робота.
Steering
направление левого
мотора
скорость левого
мотора
направление
правого мотора
скорость правого
мотора
по середине
чуть ближе к С
почти у С
максим. к С
чуть ближе к B
почти у B
максим. к B
11. ПРИМЕР
• Задание 3. Остановка.
o Составить программу для тележки таким образом, чтобы
тележка проехала вперед на максимальной скорости
(максимальная мощность) в течение 4 оборотов
двигателя, после окончания движения использовать
торможение двигателем.
Программирование моторов
o Изменить программу, чтобы использовать отключение
питания от мотора в качестве торможения.
12. ПРИМЕР
Программирование моторов
• Сложные траектории.
o Одной из сложностей при программировании движения
робота является определение нужного количества оборотов
мотора для передвижения на заданное расстояние.
o Например,
На сколько нужно повернуть моторы, чтобы робот повернул
на 90 градусов налево?
Как разворачиваться быстрее - повернуть на 90 градусов,
включив только один мотор, или используя максимальное
значение направления поворота (Steering)?
Подобрать экспериментальным путем, на сколько нужно
повернуть моторы и какое нужно задать направление
поворота, чтобы робот проехал полкруга с радиусом 30
сантиметров?
13. ПРИМЕР
Программирование моторов
• Движение по квадрату.
o Составьте программу для того, чтобы робот двигался по
сторонам квадрата.
Как бы мы действовали, если бы мы двигались подобным
образом?
14. ПРИМЕР
Программирование моторов
• Движение по восьмерке.
o Составьте программу для того, чтобы робот двигался по
сторонам восьмерки.
o Одной из трудностей в этой программе является возврат в то
же место, откуда робот начал двигаться.
Hinweis der Redaktion
Перед составлением программы нужно вызвать добровольца и попросить описать свои действия когда он двигается по квадрату:
Пройти два шага, повернуть направо на 90 градусов, пройти 2 шага, повернуть …
Перед составлением программы нужно вызвать добровольца и попросить описать свои действия когда он двигается по квадрату:
Пройти два шага, повернуть направо на 90 градусов, пройти 2 шага, повернуть …