-
Введение
-
Глава 1. Аппаратная основа
- Содержание Главы 1
- Подготовка
- Плата Arduino UNO
- Плата управления моторами
- Плата связи с датчиками
- Аппаратная основа на базе набора miniQ
- Аппаратная основа на базе набора Turtle
- Аппаратная основа на базе набора ShieldBot
- Как ученики строили своих miniQ роботов
- Этапы сборки
- Система электропитания робота
- Провода энкодеров и датчиков линии
- Завершение главы 1
-
Глава 2. Начало работ с системой программирования Arduino
- Содержание Главы 2
- Подготовка
- Общие правила организации систем управления
- Входные данные. Датчики
- Обработка данных. Микроконтроллер
- Выходные данные. Исполнительные устройства
- То, что нужно всегда помнить
- Начало работы с системой Arduino
- Загрузка программы-примера “Мигающий огонь”
- Модификация программы “Мигающий огонь”
- Алгоритм программы “Мигающий огонь”
- Завершение Главы 2
-
Глава 3. Управление тяговыми моторами
-
Глава 4. Связь с ультразвуковым датчиком расстояния
- Содержание Главы 4
- Подготовка
- Постановка задач
- Электрическое подключение датчиков расстояния
- Разработка алгоритма
- Исходный текст
- Адреса Echo и Trigger как глобальные переменные
- Отладка и испытание программы
- Руководство пользователя
- Приложение 4.1. Подсказки по сложному алгоритму
- Приложение 4.2. Исходный текст (для упрощённого алгоритма)
- Завершение главы 4
- Факультативная часть главы 4
-
Глава 5. Робот следует за рукой или лидером
- Содержание главы 5
- Подготовка
- Релейный регулятор
- Пропорциональный регулятор
- Утилиты
- UTILIT_OneRangeMeter ()
- UTILIT_Motors_Control ()
- UTILIT_Hand_Follow_Proportional (int _range_needed)
- Два факультативных упражнения после перерыва
- Программа следования за лидером
- Постановка задачи
- Макрос следования за Лидером
- Отладка и испытание программы Programm_modul_5_Leader_Follow.ino
- Если что-то не так
- Исследуем робота
- Важные замечания
- Приложение 5.1 Алгоритм пропорционального регулирования
- Приложение 5.2. Исходный текст утилиты регулятора для следования за рукой
- Приложение 5.3. Документация для макроса и утилит следования за лидером
- MACROS_Leader_Follow (int _distasnce_to_leader)
- UTILIT_LeftRightRangeMeter ()
- UTILIT_Leader_Follow_Proportional (int _range_needed)
- UTILIT_Motors_Control () & UTILIT_Motors_Stop ()
- Завершение главы 5
- Как можно улучшить нашего робота?
-
Глава 6. Структура программного обеспечения
- Содержание главы 6
- Подготовка
- Уровни программного обеспечения
- loop ()
- Задачи
- Макросы
- Утилиты
- Драйверы. Библиотеки. Калькуляторы
- Ввод-вывод
- Глобальные переменные
- Правила обмена информации между уровнями
- Практическое занятие 6.1. Учтём трение в механизмах
- Практическое занятие 6.2. Доворот в сторону лидера умножением
- Практическое занятие 6.3. Доворот в сторону лидера сложением
- Практическое занятие 6.4. Доворот в сторону лидера обнулением
- Практическое занятие 6.5. Делаем калькулятор
- Гонки за лидером
- Послесловие
- Список программ для Ардуино
- Лицензионное соглашение
Аппаратная основа на базе набора Turtle
Внешний вид набора Turtle представлен на рисунке ниже.
Набор Turtle не рассчитан на подключение энкодеров (энкодер – это устройство, предназначенное для преобразования угла поворота вращающегося объекта, например, вала мотора, в электрические сигналы, позволяющие определить угол его поворота), поэтому список дополнительных деталей будет тот же, что и для набора miniQ, но без энкодеров.
Кроме того, набор Turtle содержит гнездо для подзарядки, выключатель электропитания и блок-держатель на 5 батарей – так что надо будет докупить ещё один блок на три батареи.
Размер Turtle больше, чем miniQ. Поэтому пластмассовый блок для батарей можно разбить на 5+3. В любом случае надо 8 аккумуляторных батарей с выходным напряжение 1.2 вольт каждая.
Так как робот на базе набора Turtle получается тяжелее, то ёмкость батарей желательна не ниже 2300 миллиампер-час.
Использовать обычные одноразовые батарейки можно, но они быстро разряжаются, и их приходится часто заменять новыми.
Подробную инструкцию по сборке аппаратной основы робота из набора Turtle Вы можете найти в Интернете. Поэтому здесь мы будем рассказывать только об отличиях нашего собранного робота от описанного в типовой инструкции по сборке.
Их несколько:
- Так как мы используем восемь аккумуляторов вместо пяти, то мы добавочно разместили ещё один блок на три аккумулятора.
- Блок на пять аккумуляторов мы прикрепили к плоской пластине, входящей в набор, и которую зафиксировали вертикально в кормовой части нашего робота над шаровой опорой. Для этого мы загнули плоскогубцами ушки на пластине.
- На той же пластине мы установили выключатель питания. Разъём подключения зарядного устройства мы разместили на нижнем диске. Он смотрит вниз, поэтому для подзарядки аккумуляторов надо класть робот на бок.
- Пакет из трёх плат электроники мы разместили перед вертикально стоящим блоком с пятью аккумуляторами, на одном уровне с ними. Поэтому верхний металлический диск из набора заменили фанерным с соответствующим вырезом под контакты связи с датчиками.
- Разъёмы USB и питания платы Arduino UNO смотрят вбок, вправо по ходу движения робота. Дополнительные три аккумулятора разместили горизонтально перед этажеркой электроники под фанерным диском.
Получилось то, что Вы видите на фотографии.
У этого робота есть локатор переднего обзора, который расположен между двумя фанерными крышками. Так же есть два инфракрасных дальномера, смотрящие вбок от робота (влево и вправо). Они используются, когда робот объезжает препятствие.
Кроме того, в специальной башне установлен магнитный компас, с помощью которого робот определяет своё положение относительно сторон света. Компас также используется, если нам надо, чтобы робот двигался по прямой в заданном направлении.
Башня нужна для того, чтобы как можно дальше отодвинуть магнитный компас от электрических проводов питания электромоторов.