🔧 Конструирование • 📊 Калибровка • 💻 Программирование • 🏆 Соревнования
5 класс • Технология • 90 минут
👨🏫 Учитель: Ахметов Рустам
🏫 Школа: ГБОУ № 1362
📅 Дата: 2025-06-11
🎯 Миссия: Создать робота, который видит свет и реагирует на него!
🚀 Наша световая миссия:
🎯 Результат работы:
👥 Работаем в парах:
1. Принципы работы датчиков света:
2. Отражение света от поверхностей:
3. Безопасность работы:
🤖 Техническое задание: Создать робота с датчиком света, способного:
📋 Критерии успеха:
🏆 Уровни достижений:
💡 Принцип работы системы:
1Свет от источника
2 ↓
3Отражение от поверхности
4 ↓
5Попадание на фоторезистор
6 ↓
7Изменение сопротивления
8 ↓
9Изменение напряжения в делителе
10 ↓
11АЦП контроллера
12 ↓
13Цифровое значение (0-1023)
14 ↓
15Анализ в программе
16 ↓
17Управляющие команды моторам
📊 Ожидаемые значения:
🧰 Необходимые детали:
🔧 Инструменты:
⚠️ Правила безопасности:
Шаг 1: Подготовка базового шасси
Шаг 2: Выбор места для датчика света
Шаг 3: Механическое крепление датчика
Шаг 4: Прокладка проводов
📊 Схема подключения фоторезистора:
1Arduino Uno → Фоторезистор
2
3+5V → Резистор 10кОм → Аналоговый вход A0 → Фоторезистор → GND
4
5Делитель напряжения:
6U_out = U_питания × (R_фото / (R_фото + R_постоянный))
7
8При ярком свете: R_фото мало → U_out мало → АЦП показывает низкие значения
9При слабом свете: R_фото велико → U_out велико → АЦП показывает высокие значения
🔍 Проверка подключения:
1АЛГОРИТМ Тест_подключения_датчика():
2 НАЧАЛО
3 Настроить аналоговый вход A0
4 Настроить последовательный порт (9600 бод)
5
6 ПОСТОЯННО:
7 значение_АЦП = Прочитать_аналоговый_вход(A0)
8 напряжение = значение_АЦП × 5.0 / 1023.0
9
10 Вывести("АЦП: ", значение_АЦП, " Напряжение: ", напряжение, " В")
11
12 ЕСЛИ значение_АЦП < 200 ТО
13 Вывести(" -> ОЧЕНЬ СВЕТЛО")
14 ИНАЧЕ ЕСЛИ значение_АЦП < 500 ТО
15 Вывести(" -> СВЕТЛО")
16 ИНАЧЕ ЕСЛИ значение_АЦП < 800 ТО
17 Вывести(" -> ТЕМНОВАТО")
18 ИНАЧЕ
19 Вывести(" -> ТЕМНО")
20 КОНЕЦ ЕСЛИ
21
22 Ждать(500 мс)
23 КОНЕЦ ПОСТОЯННО
24 КОНЕЦ
25КОНЕЦ АЛГОРИТМА
📐 Оптимальное расположение для следования по линии:
Высота над поверхностью:
Угол наклона:
Защита от внешнего света:
📋 Чек-лист проверки сборки:
🔧 Типичные проблемы и решения:
Проблема | Возможная причина | Решение |
---|---|---|
Показания не меняются | Обрыв провода | Проверить целостность цепи |
Значения всегда максимальные | Короткое замыкание | Проверить изоляцию |
Нестабильные показания | Плохой контакт | Пропаять соединения |
Датчик не реагирует на свет | Неправильная полярность | Проверить схему подключения |
Зачем нужна калибровка:
📋 Задачи калибровки:
🧪 Оборудование для калибровки:
📋 Протокол калибровки:
1АЛГОРИТМ Калибровка_датчика_света():
2 поверхности = ["черная", "темно-серая", "серая", "светло-серая", "белая"]
3 расстояния = [5, 10, 15, 20] // мм от поверхности
4
5 ДЛЯ КАЖДОГО расстояния ИЗ расстояния:
6 Установить датчик на высоте расстояния
7
8 ДЛЯ КАЖДОЙ поверхности ИЗ поверхности:
9 Подложить образец поверхности под датчик
10
11 // Делаем несколько измерений для точности
12 сумма = 0
13 ДЛЯ i = 1 ДО 10:
14 показание = Прочитать_АЦП(A0)
15 сумма = сумма + показание
16 Ждать(100 мс)
17 КОНЕЦ ДЛЯ
18
19 среднее = сумма / 10
20 Записать(поверхность, расстояние, среднее)
21 Вывести(поверхность, "@", расстояние, "мм:", среднее)
22 КОНЕЦ ДЛЯ
23 КОНЕЦ ДЛЯ
24КОНЕЦ АЛГОРИТМА
📋 Рабочий лист для записи данных:
Поверхность | 5 мм | 10 мм | 15 мм | 20 мм | Среднее | Примечания |
---|---|---|---|---|---|---|
Черная | ___ | ___ | ___ | ___ | ___ | Минимальное отражение |
Темно-серая | ___ | ___ | ___ | ___ | ___ | Слабое отражение |
Серая | ___ | ___ | ___ | ___ | ___ | Среднее отражение |
Светло-серая | ___ | ___ | ___ | ___ | ___ | Хорошее отражение |
Белая | ___ | ___ | ___ | ___ | ___ | Максимальное отражение |
📈 Дополнительные измерения:
Условие освещения | Черная поверх. | Белая поверх. | Разность | Коэфф. контраста |
---|---|---|---|---|
Яркий солнечный свет | ___ | ___ | ___ | ___ |
Комнатное освещение | ___ | ___ | ___ | ___ |
Тусклое освещение | ___ | ___ | ___ | ___ |
Искусственный свет | ___ | ___ | ___ | ___ |
📊 График 1: Зависимость показаний от цвета поверхности
1Инструкция по построению:
21. Ось X: Тип поверхности (черная, серая, белая)
32. Ось Y: Показания АЦП (0-1023)
43. Нанести точки для каждой поверхности
54. Соединить точки плавной кривой
65. Подписать оси и дать название графику
📈 График 2: Зависимость показаний от расстояния
1Инструкция по построению:
21. Ось X: Расстояние до поверхности (мм)
32. Ось Y: Показания АЦП
43. Построить отдельные кривые для черной и белой поверхности
54. Добавить легенду
65. Сделать выводы о влиянии расстояния
📊 График 3: Калибровочная кривая
1Цель: Связать показания АЦП с коэффициентом отражения
21. Ось X: Показания АЦП
32. Ось Y: Коэффициент отражения (%)
43. Черная = 5%, Серая = 50%, Белая = 80%
54. Найти уравнение линейной зависимости
65. Использовать для преобразования данных
🔍 Определение пороговых значений:
1АЛГОРИТМ Расчет_порогов():
2 черная_поверхность = Среднее_значение_для_черной
3 белая_поверхность = Среднее_значение_для_белой
4
5 // Основной порог - посередине между черным и белым
6 основной_порог = (черная_поверхность + белая_поверхность) / 2
7
8 // Пороги с гистерезисом для стабильности
9 порог_включения = основной_порог + 20
10 порог_выключения = основной_порог - 20
11
12 Вывести("Основной порог:", основной_порог)
13 Вывести("Порог включения:", порог_включения)
14 Вывести("Порог выключения:", порог_выключения)
15
16 // Проверка качества разделения
17 разность = белая_поверхность - черная_поверхность
18 контрастность = разность / белая_поверхность × 100
19
20 ЕСЛИ контрастность > 50 ТО
21 Вывести("Отличная контрастность:", контрастность, "%")
22 ИНАЧЕ ЕСЛИ контрастность > 25 ТО
23 Вывести("Хорошая контрастность:", контрастность, "%")
24 ИНАЧЕ
25 Вывести("ВНИМАНИЕ: Низкая контрастность:", контрастность, "%")
26 Вывести("Рекомендуется улучшить освещение или настройку")
27 КОНЕЦ ЕСЛИ
28КОНЕЦ АЛГОРИТМА
📊 Функция калибровки для программы:
1ФУНКЦИЯ Калиброванное_чтение_света():
2 сырое_значение = Прочитать_АЦП(A0)
3
4 // Преобразование в проценты отражения
5 коэффициент_отражения = (сырое_значение - минимум) / (максимум - минимум) × 100
6
7 // Сглаживание показаний
8 статический фильтр[5] = [0, 0, 0, 0, 0]
9 статический индекс = 0
10
11 фильтр[индекс] = коэффициент_отражения
12 индекс = (индекс + 1) % 5
13
14 сумма = 0
15 ДЛЯ i = 0 ДО 4:
16 сумма += фильтр[i]
17 КОНЕЦ ДЛЯ
18
19 сглаженное_значение = сумма / 5
20 ВОЗВРАТ сглаженное_значение
21КОНЕЦ ФУНКЦИИ
📝 Алгоритм 1: Простое различение поверхностей
1АЛГОРИТМ Различение_поверхностей():
2 КОНСТАНТЫ:
3 ПОРОГ_ЧЕРНО_БЕЛЫЙ = 400 // Из калибровки
4
5 ПОСТОЯННО:
6 показание = Прочитать_датчик_света()
7
8 ЕСЛИ показание < ПОРОГ_ЧЕРНО_БЕЛЫЙ ТО
9 Вывести("Черная поверхность")
10 // Включить красный светодиод
11 Установить_цвет_светодиода(КРАСНЫЙ)
12 ИНАЧЕ
13 Вывести("Белая поверхность")
14 // Включить зеленый светодиод
15 Установить_цвет_светодиода(ЗЕЛЕНЫЙ)
16 КОНЕЦ ЕСЛИ
17
18 Ждать(200 мс)
19 КОНЕЦ ПОСТОЯННО
20КОНЕЦ АЛГОРИТМА
📝 Алгоритм 2: Следование по линии (один датчик)
1АЛГОРИТМ Следование_по_линии_один_датчик():
2 КОНСТАНТЫ:
3 ПОРОГ_ЛИНИИ = 400
4 СКОРОСТЬ_ПРЯМО = 150
5 СКОРОСТЬ_ПОИСКА = 100
6
7 ПЕРЕМЕННЫЕ:
8 направление_поиска = ПРАВО
9 время_на_линии = 0
10
11 ПОСТОЯННО:
12 показание = Прочитать_датчик_света()
13
14 ЕСЛИ показание < ПОРОГ_ЛИНИИ ТО
15 // Датчик на линии
16 Двигаться_прямо(СКОРОСТЬ_ПРЯМО)
17 время_на_линии = Получить_время()
18 Вывести("На линии")
19
20 ИНАЧЕ
21 // Линия потеряна - ищем
22 Поиск_линии()
23 КОНЕЦ ЕСЛИ
24
25 Ждать(50 мс)
26 КОНЕЦ ПОСТОЯННО
27
28ФУНКЦИЯ Поиск_линии():
29 время_поиска = Получить_время() - время_на_линии
30
31 ЕСЛИ время_поиска < 500 ТО
32 // Недавно потеряли линию - ищем в последнем направлении
33 ЕСЛИ направление_поиска = ПРАВО ТО
34 Повернуть_направо(СКОРОСТЬ_ПОИСКА)
35 ИНАЧЕ
36 Повернуть_налево(СКОРОСТЬ_ПОИСКА)
37 КОНЕЦ ЕСЛИ
38 ИНАЧЕ
39 // Долго ищем - меняем направление
40 направление_поиска = ЕСЛИ направление_поиска = ПРАВО ТО ЛЕВО ИНАЧЕ ПРАВО
41 Вывести("Меняю направление поиска")
42 КОНЕЦ ЕСЛИ
43КОНЕЦ ФУНКЦИИ
📝 Алгоритм 3: Следование к источнику света
1АЛГОРИТМ Движение_к_свету():
2 КОНСТАНТЫ:
3 ПОРОГ_ДОСТИЖЕНИЯ = 800 // Очень яркий свет
4 СКОРОСТЬ_ПОИСКА = 120
5 УГОЛ_ПОИСКА = 30 // градусов
6
7 ПЕРЕМЕННЫЕ:
8 максимальный_свет = 0
9 лучшее_направление = 0
10
11 ПОСТОЯННО:
12 текущий_свет = Прочитать_датчик_света()
13
14 ЕСЛИ текущий_свет > ПОРОГ_ДОСТИЖЕНИЯ ТО
15 Вывести("Источник света найден!")
16 Остановиться()
17 Мигать_светодиодами(3)
18 Ждать(2000 мс)
19 ИНАЧЕ
20 Поиск_направления_света()
21 Двигаться_к_свету()
22 КОНЕЦ ЕСЛИ
23
24 Ждать(100 мс)
25 КОНЕЦ ПОСТОЯННО
26
27ФУНКЦИЯ Поиск_направления_света():
28 максимальный_свет = 0
29 лучшее_направление = 0
30
31 ДЛЯ угол = 0 ДО 360 ШАГ УГОЛ_ПОИСКА:
32 Повернуть_на_угол(УГОЛ_ПОИСКА)
33 Ждать(200 мс) // Время стабилизации
34
35 свет = Прочитать_датчик_света()
36 ЕСЛИ свет > максимальный_свет ТО
37 максимальный_свет = свет
38 лучшее_направление = угол
39 КОНЕЦ ЕСЛИ
40 КОНЕЦ ДЛЯ
41
42 // Поворачиваемся к самому яркому направлению
43 Повернуть_на_угол(лучшее_направление)
44 Вывести("Лучшее направление:", лучшее_направление, "°, свет:", максимальный_свет)
45КОНЕЦ ФУНКЦИИ
46
47ФУНКЦИЯ Двигаться_к_свету():
48 начальный_свет = Прочитать_датчик_света()
49 Двигаться_вперед(СКОРОСТЬ_ПОИСКА)
50 Ждать(500 мс)
51
52 новый_свет = Прочитать_датчик_света()
53
54 ЕСЛИ новый_свет <= начальный_свет ТО
55 // Свет не стал ярче - неправильное направление
56 Вывести("Свет не улучшился, ищу заново")
57 Остановиться()
58 Поиск_направления_света()
59 КОНЕЦ ЕСЛИ
60КОНЕЦ ФУНКЦИИ
📝 Алгоритм 4: Умный робот-фотоследователь
1АЛГОРИТМ Умный_фотоследователь():
2 ПЕРЕМЕННЫЕ:
3 режим = ПОИСК // ПОИСК, СЛЕДОВАНИЕ, ДОСТИЖЕНИЕ
4 история_света[10]
5 индекс_истории = 0
6 среднее_освещение = 0
7
8 ПОСТОЯННО:
9 текущий_свет = Прочитать_датчик_света()
10 Обновить_историю(текущий_свет)
11
12 ВЫБОР режим:
13 СЛУЧАЙ ПОИСК:
14 Режим_поиска()
15
16 СЛУЧАЙ СЛЕДОВАНИЕ:
17 Режим_следования()
18
19 СЛУЧАЙ ДОСТИЖЕНИЕ:
20 Режим_достижения()
21 КОНЕЦ ВЫБОРА
22
23 Анализ_тенденций()
24 Ждать(100 мс)
25 КОНЕЦ ПОСТОЯННО
26
27ФУНКЦИЯ Обновить_историю(новое_значение):
28 история_света[индекс_истории] = новое_значение
29 индекс_истории = (индекс_истории + 1) % 10
30
31 сумма = 0
32 ДЛЯ i = 0 ДО 9:
33 сумма += история_света[i]
34 КОНЕЦ ДЛЯ
35 среднее_освещение = сумма / 10
36КОНЕЦ ФУНКЦИИ
37
38ФУНКЦИЯ Анализ_тенденций():
39 первая_половина = Среднее(история_света[0..4])
40 вторая_половина = Среднее(история_света[5..9])
41 тенденция = вторая_половина - первая_половина
42
43 ЕСЛИ тенденция > 20 ТО
44 Вывести("Свет усиливается - продолжаю в том же направлении")
45 ЕСЛИ режим = ПОИСК ТО режим = СЛЕДОВАНИЕ КОНЕЦ ЕСЛИ
46
47 ИНАЧЕ ЕСЛИ тенденция < -20 ТО
48 Вывести("Свет ослабевает - меняю стратегию")
49 режим = ПОИСК
50
51 ИНАЧЕ
52 Вывести("Стабильное освещение")
53 ЕСЛИ среднее_освещение > 700 ТО
54 режим = ДОСТИЖЕНИЕ
55 КОНЕЦ ЕСЛИ
56 КОНЕЦ ЕСЛИ
57КОНЕЦ ФУНКЦИИ
58
59ФУНКЦИЯ Режим_поиска():
60 // Спиральное движение для поиска источника
61 Двигаться_по_спирали()
62КОНЕЦ ФУНКЦИИ
63
64ФУНКЦИЯ Режим_следования():
65 // Прямое движение к усиливающемуся свету
66 Двигаться_вперед(200)
67КОНЕЦ ФУНКЦИИ
68
69ФУНКЦИЯ Режим_достижения():
70 // Точное позиционирование у источника
71 Остановиться()
72 Сигнал_достижения()
73КОНЕЦ ФУНКЦИИ
🛠️ Отладочная версия программы:
1ПРОГРАММА Отладка_датчика_света():
2 ПЕРЕМЕННАЯ режим_отладки = ИСТИНА
3
4 ФУНКЦИЯ Отладочный_вывод():
5 ЕСЛИ режим_отладки ТО
6 свет = Прочитать_датчик_света()
7 напряжение = свет × 5.0 / 1023.0
8
9 Вывести("=== ОТЛАДКА ===")
10 Вывести("АЦП:", свет)
11 Вывести("Напряжение:", напряжение, "В")
12
13 ЕСЛИ свет < 200 ТО
14 состояние = "ОЧЕНЬ СВЕТЛО"
15 ИНАЧЕ ЕСЛИ свет < 400 ТО
16 состояние = "СВЕТЛО"
17 ИНАЧЕ ЕСЛИ свет < 600 ТО
18 состояние = "СРЕДНЕ"
19 ИНАЧЕ ЕСЛИ свет < 800 ТО
20 состояние = "ТЕМНО"
21 ИНАЧЕ
22 состояние = "ОЧЕНЬ ТЕМНО"
23 КОНЕЦ ЕСЛИ
24
25 Вывести("Состояние:", состояние)
26 Вывести("Время:", Получить_время_мс(), "мс")
27 Вывести("===============")
28 КОНЕЦ ЕСЛИ
29 КОНЕЦ ФУНКЦИИ
30КОНЕЦ ПРОГРАММЫ
📐 Полигон для следования по линии:
Трасса уровня “Новичок”:
1Характеристики:
2- Длина: 2 метра
3- Ширина линии: 20 мм
4- Материал: черная изолента на белой бумаге
5- Повороты: только плавные радиусом > 30 см
6- Препятствия: отсутствуют
Трасса уровня “Опытный”:
1Характеристики:
2- Длина: 3 метра
3- Ширина линии: 15 мм
4- Повороты: радиус 20-30 см
5- Особенности: S-образные изгибы
6- Цветовые метки: красные круги для остановки
Трасса уровня “Эксперт”:
1Характеристики:
2- Длина: 4 метра
3- Ширина линии: 10 мм
4- Острые углы: 90° повороты
5- Препятствия: разрывы линии 2-3 см
6- Развилки: T-образные пересечения
🎯 Задание 1: Калибровочный тест
1ПРОЦЕДУРА Тест_калибровки():
2 образцы = ["черная бумага", "серый картон", "белая бумага"]
3
4 ДЛЯ КАЖДОГО образца ИЗ образцы:
5 Поднести образец к датчику
6 показание = Прочитать_датчик()
7 ожидаемое = Получить_эталонное_значение(образец)
8
9 погрешность = АБС(показание - ожидаемое) / ожидаемое × 100
10
11 Вывести(образец, ": ", показание, " (ожидаемое:", ожидаемое, ")")
12 Вывести("Погрешность:", погрешность, "%")
13
14 ЕСЛИ погрешность < 10 ТО
15 Вывести("✅ ОТЛИЧНО")
16 ИНАЧЕ ЕСЛИ погрешность < 20 ТО
17 Вывести("✅ ХОРОШО")
18 ИНАЧЕ
19 Вывести("❌ ТРЕБУЕТ ДОРАБОТКИ")
20 КОНЕЦ ЕСЛИ
21 КОНЕЦ ДЛЯ
22КОНЕЦ ПРОЦЕДУРЫ
🎯 Задание 2: Тест стабильности
1ПРОЦЕДУРА Тест_стабильности():
2 Вывести("Тест стабильности показаний (30 секунд)")
3
4 массив измерения[60] // 2 измерения в секунду
5
6 ДЛЯ i = 0 ДО 59:
7 измерения[i] = Прочитать_датчик()
8 Ждать(500 мс)
9 КОНЕЦ ДЛЯ
10
11 среднее = Вычислить_среднее(измерения)
12 стандартное_отклонение = Вычислить_СКО(измерения, среднее)
13
14 Вывести("Среднее значение:", среднее)
15 Вывести("Стандартное отклонение:", стандартное_отклонение)
16
17 стабильность = (1 - стандартное_отклонение / среднее) × 100
18 Вывести("Стабильность:", стабильность, "%")
19КОНЕЦ ПРОЦЕДУРЫ
🎯 Задание 3: Тест следования по линии
1ПРОЦЕДУРА Тест_следования_по_линии():
2 контрольные_точки = 5
3 пройденные_точки = 0
4 время_старта = Получить_время()
5
6 Запустить_программу_следования()
7
8 ДЛЯ точка = 1 ДО контрольные_точки:
9 Ждать_достижения_контрольной_точки(точка)
10
11 ЕСЛИ Робот_на_правильном_пути() ТО
12 пройденные_точки++
13 Вывести("Контрольная точка", точка, "пройдена ✅")
14 ИНАЧЕ
15 Вывести("Робот сбился с пути на точке", точка, "❌")
16 ВЫХОД ИЗ ЦИКЛА
17 КОНЕЦ ЕСЛИ
18 КОНЕЦ ДЛЯ
19
20 время_финиша = Получить_время()
21 общее_время = время_финиша - время_старта
22
23 успешность = пройденные_точки / контрольные_точки × 100
24
25 Вывести("Результат теста:")
26 Вывести("Пройдено точек:", пройденные_точки, "/", контрольные_точки)
27 Вывести("Время:", общее_время, "секунд")
28 Вывести("Успешность:", успешность, "%")
29КОНЕЦ ПРОЦЕДУРЫ
🏆 Критерии оценивания:
Параметр | Отлично (5) | Хорошо (4) | Удовл. (3) | Неудовл. (2) |
---|---|---|---|---|
Калибровка | Погрешность < 5% | < 10% | < 20% | ≥ 20% |
Стабильность | > 95% | > 90% | > 80% | < 80% |
Следование | 100% точек | 80% точек | 60% точек | < 60% точек |
Время прохождения | < 30 с | < 45 с | < 60 с | ≥ 60 с |
🧮 Формула итоговой оценки:
1Итоговый_балл = (Калибровка × 0.25) +
2 (Стабильность × 0.25) +
3 (Следование × 0.3) +
4 (Скорость × 0.2)
5
6Где каждый компонент оценивается от 2 до 5 баллов.
❌ Проблема 1: Робот не различает черную и белую поверхность
Причины:
Решения:
11. Улучшить освещение рабочей зоны
22. Пересделать калибровку в текущих условиях
33. Приблизить датчик к поверхности (5-10 мм)
44. Проверить контрастность материалов
❌ Проблема 2: Нестабильные показания датчика
Причины:
Решения:
11. Экранировать датчик от боковой засветки
22. Добавить программную фильтрацию
33. Улучшить механическое крепление
44. Использовать экранированные провода
❌ Проблема 3: Робот теряет линию на поворотах
Причины:
Решения:
11. Снизить скорость на поворотах
22. Улучшить алгоритм предсказания поворотов
33. Увеличить частоту чтения датчика
44. Добавить алгоритм поиска потерянной линии
🥇 Соревнование 1: “Скоростной линеслед”
Правила:
🥈 Соревнование 2: “Точный навигатор”
Правила:
🥉 Соревнование 3: “Охотник за светом”
Правила:
👨⚖️ Критерии оценки:
1ФУНКЦИЯ Оценка_выступления():
2 базовые_баллы = ЕСЛИ финиш_достигнут ТО 100 ИНАЧЕ 0
3
4 // Бонусы за скорость
5 бонус_скорости = МАХ(0, (60 - время_секунды) × 2)
6
7 // Штрафы за ошибки
8 штраф_съезды = количество_съездов × 10
9 штраф_остановки = количество_остановок × 5
10
11 // Бонусы за технику
12 бонус_плавность = ЕСЛИ плавное_движение ТО 20 ИНАЧЕ 0
13 бонус_стабильность = ЕСЛИ без_колебаний ТО 15 ИНАЧЕ 0
14
15 итоговый_балл = базовые_баллы + бонус_скорости + бонус_плавность +
16 бонус_стабильность - штраф_съезды - штраф_остановки
17
18 ВОЗВРАТ МАХ(0, итоговый_балл) // Не может быть отрицательным
19КОНЕЦ ФУНКЦИИ
📋 Протокол соревнования:
Команда | Время, с | Съезды | Остановки | Базовые | Бонусы | Штрафы | Итого |
---|---|---|---|---|---|---|---|
1 | ___ | ___ | ___ | ___ | ___ | ___ | ___ |
2 | ___ | ___ | ___ | ___ | ___ | ___ | ___ |
3 | ___ | ___ | ___ | ___ | ___ | ___ | ___ |
4 | ___ | ___ | ___ | ___ | ___ | ___ | ___ |
🏆 Главные номинации:
🌟 Специальные номинации:
📸 Документирование достижений:
🧠 Стратегия “Осторожный профессионал”:
1Характеристики:
2- Низкая скорость, высокая точность
3- Много времени на калибровку
4- Сложные алгоритмы стабилизации
5- Минимум ошибок
6
7Результат: высокие баллы за технику, средние за скорость
⚡ Стратегия “Скоростной ас”:
1Характеристики:
2- Максимальная скорость движения
3- Простые, быстрые алгоритмы
4- Агрессивное прохождение поворотов
5- Риск потери линии
6
7Результат: высокие баллы за скорость, риск штрафов
⚖️ Стратегия “Сбалансированный подход”:
1Характеристики:
2- Средняя скорость с адаптацией
3- Качественная калибровка
4- Алгоритмы самокоррекции
5- Стабильные результаты
6
7Результат: стабильно высокие баллы по всем критериям
📈 Усложнения для будущих турниров:
Уровень 2: Переменные условия
Уровень 3: Многозадачность
Уровень 4: Интеллектуальные вызовы
1. Эскиз улучшенной конструкции Разработайте проект улучшенной конструкции робота с датчиком света:
📐 Технические требования:
🎨 Содержание эскиза:
2. Применение датчиков света в бытовых роботах Предложите 3 идеи использования датчиков света в домашних роботах:
🏠 Примеры направлений:
📝 Для каждой идеи опишите:
🔬 Для исследователей: Проведите расширенное исследование работы датчика света:
📊 Исследуемые параметры:
📈 Методика исследования:
💻 Для программистов: Разработайте продвинутые алгоритмы для робота с датчиком света:
🧠 Темы для изучения:
📝 Задания:
🛠️ Для инженеров: Спроектируйте систему из нескольких датчиков света:
⚙️ Конфигурации для изучения:
📐 Техническое задание:
📚 Для изучения теории:
💻 Программное обеспечение:
🎥 Видеоматериалы:
🔧 Инженерные навыки:
📊 Научные навыки:
💻 Программистские навыки:
🎯 Ключевые выводы практикума:
“Качественная калибровка - основа точной работы любого датчика”
“Простой датчик + умный алгоритм = сложное поведение”
“Тестирование в реальных условиях выявляет скрытые проблемы”
🔮 Перспективы развития:
🎯 Оцените свой прогресс:
🔧 Сборка и настройка (1-10): ___
📊 Калибровка и анализ (1-10): ___
💻 Программирование (1-10): ___
🏆 Соревновательный дух (1-10): ___
💭 Поделитесь впечатлениями:
🔮 Следующий урок: “Ультразвуковые датчики расстояния”
🎯 Готовимся к новым технологиям:
💡 ВЫ СОЗДАЛИ РОБОТА-СВЕТОДЕТЕКТОРА!
Теперь ваши роботы могут видеть разницу между светом и тенью, следовать по линиям и находить источники света!