Файл: 2О19 4удк 53. 06Ббк 39. 5Аэроквантум тулкит. Александр Фоменко. 2е изд., перераб и доп. М. Фонд новых форм развития образования, 2019 154 с. Базовая серия Методический инструментарий наставника.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.11.2023
Просмотров: 138
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
129
Аэроквантум: тулкит
В процедуре loop() запустим работу светофора. Длительность горения красного и зеленого светодиодов и мигания желтого устанавливаем функцией delay().
Для мигания желтого светодиода будем использовать цикл for длительностью TIME_YELLOW с шагом TIME_BLINK. Коман- дой blinkyellow= !blinkyellow мы будем изменять значение переменной blinkyellow на противоположное и изменять состояние желтого светодиода.
for(int i=0;i
if(blinkyellow==true)
digitalWrite(PIN_YELLOW1, HIGH); // включить желтый else digitalWrite(PIN_YELLOW1, LOW); // выключить желтый delay(TIME_BLINK);
blinkyellow=!blinkyellow;
}
Создадим в Arduino IDE новый скетч, занесем в него код из листинга 1 и загрузим скетч на плату Arduino. Напоминаем, что в настройках Arduino IDE необходимо выбрать тип платы
(Arduino UNO) и порт подключения платы.
Листинг 1
// Выводы Arduino для подключения светодиодов
#define PIN_GREEN1 7
#define PIN_YELLOW1 8
#define PIN_RED1 9
// время горения светодиодов в мс
// зеленый
#define TIME_GREEN 5000
// красный
#define TIME_RED 5000
// желтый
#define TIME_YELLOW 3000
// период мигания желтого
#define TIME_BLINK 300
// переменная blink для чередования мигания желтого
130
boolean blinkyellow=true;
void setup()
{
// настроить выводы Arduino как выходы pinMode(PIN_GREEN1, OUTPUT);
pinMode(PIN_YELLOW1, OUTPUT);
pinMode(PIN_RED1, OUTPUT);
// и потушить все светодиоды digitalWrite(PIN_GREEN1, LOW);
digitalWrite(PIN_YELLOW1, LOW);
digitalWrite(PIN_RED1, LOW);
}
// the loop function runs over and over again forever void loop()
{
// зеленый digitalWrite(PIN_GREEN1, HIGH);
delay(TIME_GREEN);
blinkyellow=true;
// желтый – мигание for(int i=0;i
if(blinkyellow==true)
digitalWrite(PIN_YELLOW1, HIGH); // включить желтый else digitalWrite(PIN_YELLOW1, LOW); // выключить желтый delay(TIME_BLINK);
blinkyellow=!blinkyellow;
}
digitalWrite(PIN_GREEN1,LOW); // выключить зеленый digitalWrite(PIN_YELLOW1, LOW); // выключить желтый
// красный digitalWrite(PIN_RED1, HIGH);
delay(TIME_GREEN);
blinkyellow=true;
// желтый – мигание for(int i=0;i
if(blinkyellow==true)
131
Аэроквантум: тулкит digitalWrite(PIN_YELLOW1, HIGH); // включить желтый else digitalWrite(PIN_YELLOW1, LOW); // выключить желтый delay(TIME_BLINK);
blinkyellow=!blinkyellow;
}
digitalWrite(PIN_RED1,LOW); // выключить красный digitalWrite(PIN_YELLOW1, LOW); // выключить желтый
}
После загрузки наблюдаем работу нашего светофора (см. рисунок 2, 3, 4).
Изменяя значения констант TIME_GREEN , TIME_RED , TIME_
YELLOW, мы изменяем время горения каждого светодиода, константой TIME_BLINK мы регулируем период мигания жел- того светодиода.
Рисунок 2, 3. Работа двух светофоров на макетной плате
Доработка конструкций
Проанализируйте результаты. Сделайте выводы. При необхо- димости внесите изменения в работу перекрёстка. Возможны как конструктивные изменения, так и изменения в настройках.
132
Обсуждение
Что вы узнали на занятии?
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
Что вы еще можете изменить в своем проекте, чтобы улучшить работу перекрёстка?
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
133
Аэроквантум: тулкит
Лабораторно-практическая работа 3.
Ультразвуковой дальномер
Обоснование необходимости работы
Научить создавать систему для измерения расстояний на ос- нове ультразвукового датчика.
Категория работы: вводный модуль.
Место ЛПР в структуре модуля:
знакомство с методами измерения расстояний, введение в технологии эхолокации и их применение на БПЛА.
Количество учебных часов/занятий, на которые рассчитана
ЛПР:
2,5 часа
Занятие 1. Измерение расстояния
Цель: создать прототип устройства, измеряющего расстояние.
Что делаем: собираем прибор для измерения расстояния на основе ультразвукового датчика.
Компетенции: узнать о микроконтроллерах, познакомиться с их программированием. Собрать реально работающий прото- тип, работая в команде.
Кол-во часов: 2,5 часа.
Метод работы: лабораторно-практическая работа, конструирование.
Минимально необходимый уровень входных компетенций:
знания о микроконтроллерах, их применении и принципе дей- ствия.
Предполагаемые образовательные результаты обучающихся
Артефакты — собранная и функционирующая автономная си- стема измерения расстояния.
134
Формируемые навыки
Универсальные:
• командная работа.
Предметные:
• понятие о микроконтроллерах;
• • основы программирования;
• • понятие о датчиках расстояний;
• • умение собрать реально работающий прототип.
Процедуры и формы выявления образовательного результата:
• • Демонстрация работ обучающихся.
• • Обсуждение результатов и путей улучшения с обучающи- мися.
Необходимые расходные материалы и оборудование:
УМК «Клевер» с набором для автономного полёта (стандарт- ная комплектация).
Как это сделать
Начните с анализа материалов. Необходимо понять, для чего используют датчики на основе ультразвукового сонара или
ИК-дальномер, какой у них принцип работы.
Подробнее
Не повредить только что собранный коптер — непростая зада- ча.
Будет ли он управляться с пульта, либо автономно в какой-то момент он обязательно попытается во что-то врезаться. Этого можно избежать, хорошо пилотируя дрон, а можно подстра- ховаться и поставить на него систему датчиков, которые будут предупреждать о препятствиях. Или создать систему, которая корректирует полет квадрокоптера, когда он приближается к препятствиям.
Скорость человеческой реакции в среднем равна 200 мс, реак- ция же электронной системы, основанной на ультразвуковых
135
Аэроквантум: тулкит датчиках, составит 40 мс. Она реагирует на препятствие в 5 раз быстрее вас, а значит, возрастет и максимальная скорость. Да и в узких помещениях коптер сможет летать, не боясь врезаться в стены, а подъем по лестнице станет простой задачей.
Чтобы собрать такую систему, нам нужны:
• датчики, которые оценят расстояние до препятствия, направ- ленные во все стороны;
• программа, которая обработает информацию с датчиков, проанализирует данные и скорректирует курс.
Методы определения расстояния до препятствий
В робототехнике для измерения расстояния применяется 2 основных типа датчиков: ультразвуковой датчик и ИК-дально- мер. Оба датчика посылают сигнал (ультразвуковой или свето- вой) в определенном направлении, а потом анализируют ответ.
ИК-дальномер посылает импульс света в инфракрасном диа- пазоне, он отражается от препятствия и улавливается прием- ником. Или не отражается, когда препятствия нет. Угол падения отраженного луча показывает расстояние до объекта.
Рис. 75. Метод измерения ИК-дальномером
Расчет производится по формуле:
136
L=A/2*tg a, где
А — расстояние между передатчиком и приемником, постоян- ная величина для прибора;
а — угол, зависящий от расстояния до препятствия, определя- ется измерением.
В зависимости от значения тангенса угла a мы вычислим рас- стояние до препятствия.
Ультразвуковой сонар работает по схожему принципу, но за- меряет не угол, а время прохождения сигнала. Передатчик из- лучает ультразвуковой импульс, который отражается от объек- та и возвращается в приемник.
Рис. 77. Принцип работы сонара
Датчик учитывает скорость звука в среде, время прохождения сигнала от передатчика до приемника и на основании этих данных рассчитывает расстояние по формуле:
d=vt/2, где d — расстояние до препятствия; v — скорость звука в среде;
t/2 — половина времени, за которое сигнал прошел путь от пе- редатчика до приемника.
ИК-дальномер точнее, чем ультразвуковой датчик, но он вос- принимает препятствия на меньшем расстоянии (до 1,5 метра), в то время как сонар — до 4 метров. Решение, какой датчик ис- пользовать, ложится на вас.
137
Аэроквантум: тулкит
Принцип функционирования ультразвукового сонара
и работа с ним
Сонар (Ultrasonic module) — датчик, позволяющий оценить расстояние до предмета при помощи ультразвукового импуль- са.
Рис. 76. Внешний вид датчика
Принцип работы ультразвуковых сонаров мы уже рассмотрели.
Теперь о практическом использовании.
Импульсы посылаются последовательно, после получения эха от предыдущего сигнала. Рекомендованный период между им- пульсами сонара составляет 50 мс. Если эхо сигнала еще не по- лучено приемником, сонар считает, что препятствия нет.
Стандартные сонары хорошо работают на расстоянии от 2 см до 4 метров. Сонар «видит» небольшую область в 30 градусов по направлению приемника и передатчика. Поэтому даже 4 со- нара, каждый направленный в свою сторону, имеют «слепые» зоны.
Рис 78. Диаграмма направленности сонара HC-SR04
138
Подключение сонара
Для подключения сонара в макетную плату используется 4-пи- новое соединение. 2 контакта для питания: напряжение (5В,
Vcc), земля (GRND) и 2 сигнальных контакта: Trig, Echo.
Рис. 79. Схема подключения сонара на примере Arduino Uno
Разъем Vcc (5В) датчика подключаем красным проводом к разъ- ему 5V Arduino.
Разъем GRND датчика черным проводом к любому из разъе- мов GRND Arduino.
Разъемы Trig и Echo подключаем к двум незанятым пинам
Arduino, в нашем случае Trig — к 4, а Echo — ко 2-му синим и желтым проводом соответственно.
Цвет проводов никак не влияет на их свойства, но это прави- ла хорошего тона — подключать питание красным проводом, а землю — черным. Чтобы кто-то, кроме вас, смог разобраться в этой схеме.
После того как сонар подключен к Arduino, напишем програм- му, которая будет его опрашивать. Для начала подключим би- блиотеку нашего сонара, выбрав в меню Sketch -> Import library
-> Add library
139
Аэроквантум: тулкит
Напишем код
1 #include «Ultrasonic.h»
2 Ultrasonic us_1(4, 2); //указываем пины arduino, в которые подключили наш сонар. Trig – первым, Echo – вторым
3 Void setup()
4 {
5 Serial.begin(9600);// запускаем serial port.
6 }
7 Void loop()
8 {
9 Float d_1 = us_1.Ranging(CM);// получаем расстояние с сонара
10 Serial.print (d_1);
11 Serial.print(«cm»);// выводим полученную дистанцию
12 }
После выполнения на экране появится что-то вроде:
20.00 cm
18.00 cm
21.00 cm
259.00 cm
Наш сонар работает и выдает нам данные. Теперь на основании данных с него мы можем давать команды коптеру замедлить- ся, остановиться, менять курс в зависимости от расстояния до препятствия.
Брать сигналы с датчика в чистом виде не стоит. У любого дат- чика бывают погрешности, сбои. Лучше всего пользоваться ка- кой-либо методикой усреднения результатов, например при помощи скользящего среднего или медианы.
Вопросы для обсуждения с обучающимися:
1. Что будет, если проводить эксперимент на улице?
2. Что будет, если неправильно подключить датчики?
3. Что будет, если допустить ошибку во время программиро- вания?
4. Что будет, если один из датчиков сломается?
5. Что будет, если во время эксперимента задеть датчик?
6. Что будет, если работают несколько моделей ИК и ультраз-
140
вуковых датчиков?
7. Что будет, если перед сонаром возникнет преграда из стек- ла?
8. Что будет, если во время эксперимента прервать питание?
9. Что будет, если два сонара направить друг против друга?
10. Что будет, если использовать другие источники питания?
Руководство для педагогов
Обзор занятия
Основные понятия:
Сонар (Ultrasonic module) — датчик, позволяющий оценить расстояние до предмета при помощи ультразвукового импуль- са.
ИК-дальномер — устройство, предназначенное для определе- ния расстояния от наблюдателя до объекта.
Ход работы:
• Изучение теории и методики сборки.
• Сборка и настройка сонара.
• Тестирование.
• Отладка кода.
• Модификация.
• Подведение итогов.
Время: 2,5 часа.
Демонстрации
Можно показать видео, как коптеры врезаются в препятствия и разбиваются, и обсудить с детьми, как этого избежать.
После сборки и тестирования сонара посмотрите и обсудите вместе с обучающимися показатели увеличения или уменьше- ния расстояния от работающего сонара.
Цель: научить устанавливать и настраивать ультразвуковой сонар.
141
Аэроквантум: тулкит
В ходе данной лабораторно-практической работы ученики должны научиться конструировать модели с использованием ультразвукового сонара и ИК-дальномера и отвечать на вопро- сы:
• Каков принцип работы ИК-дальномера и ультразвукового сонара?
• Как установить и настроить ультразвуковые и ИК-датчики?
Материалы:
• Arduino.
• Ультразвуковой сонар.
Советы:
1. Начните с анализа материалов. Какой принцип работы и функциональность у ультразвукового сонара и ИК-датчика?
2. Следите за процессом сборки, помогая обучающимся.
3. После сборки разберите, чей сонар работает лучше, почему.
4. Модернизируйте собранные модели на основании данных, полученных в ходе эксперимента.
Руководство для обучающегося
Цель: научиться подключать и настраивать датчики на основе ультразвукового сонара и ИК-дальномера.
Старт
Для чего используются ультразвуковой сонар и ИК-дально- мер?
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
142
Изобразите схему подключения ультразвукового сонара или
ИК-дальномера к Arduino:
Сборка
• Подключите сонар к Arduino, пользуясь схемой.
• После сборки запрограммируйте сонар на корректную работу.
Доработка конструкций
Проанализируйте результаты. Сделайте выводы. При необхо- димости внесите изменения в конструкцию, настройки или программный код.
Обсуждение
Что вы узнали на занятии?
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
143
Аэроквантум: тулкит
Что вы еще можете изменить в своей конструкции, чтобы ква- дрокоптером было удобнее управлять?
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________