🔍 Фоторезистор, HC-SR04 и калибровка датчиков
📋 Паспорт спринта
| Параметр | Значение |
|---|---|
| Предмет | Интернет вещей (элективный курс) |
| Класс | 9 класс |
| Спринт № | 14 из 36 (модуль 2: Датчики и сбор данных) |
| Тип занятия | Практико-исследовательский спринт |
| Продолжительность | 90 минут |
| Формат | Лабораторная работа в парах + мини-проекты |
🎯 Цели спринта (Sprint Goals)
Основная цель:
Освоить работу с аналоговыми датчиками света и расстояния через практическую калибровку
Конкретные результаты спринта:
- Каждая пара подключила и откалибровала фоторезистор
- Успешно измерили расстояние с помощью HC-SR04
- Создали калибровочные кривые для обоих датчиков
- Написали функции для преобразования сырых данных в физические величины
- НОВОЕ: Сравнили точность “сырых” и калиброванных данных
- Реализовали мини-проект “Умный ночник” или “Парктроник”
🕐 Sprint Timeline (90 минут)
⚡ SPRINT START (0-5 мин): Проблемная ситуация
Задача: Мотивировать через реальную проблему
Демонстрация проблемы:
- Показать показания фоторезистора: “Значение 512. Это много света или мало?”
- Показать HC-SR04: “Расстояние 1500 microseconds. Сколько это сантиметров?”
- “Как сделать, чтобы датчики говорили понятным языком?”
Действия учащихся:
- Осознают проблему “сырых данных”
- Формулируют задачу калибровки
Результат: Понимание зачем нужна калибровка
📚 THEORY BLOCK (5-25 мин): Теоретическая база
Микро-блок 1 (8 мин): Фоторезистор и свет
Принцип работы:
- Фоторезистор = переменный резистор, управляемый светом
- Больше света → меньше сопротивление → больше ток → больше напряжение
- АЦП читает напряжение и переводит в числа 0-1023
Псевдокод считывания:
1raw_value = adc.read_channel(0) # 0-1023
2# Но что это значит в люксах?
Практическая демонстрация:
- Закрыть/открыть датчик рукой
- Показать изменение значений на экране
Микро-блок 2 (8 мин): HC-SR04 и ультразвук
Принцип работы:
- Ультразвуковой “эхолокатор”
- Отправляет звук (40кГц) → ждет отражение → считает время
- Расстояние = скорость звука × время / 2
Формула преобразования:
1distance_cm = time_microseconds * 0.034 / 2
2# Скорость звука = 343 м/с = 0.034 см/мкс
Интерактив: “Сколько времени летит звук до потолка и обратно?”
Микро-блок 3 (9 мин): Калибровка - основы
Что такое калибровка:
- Сырые данные → Физические величины
- Примеры: 512 → “15 люкс”, 1500мкс → “25.5 см”
Типы калибровки:
- Линейная: y = ax + b (простая пропорция)
- Нелинейная: y = ax² + bx + c (более точная)
- Табличная: набор точек + интерполяция
🆕 Практический пример - термометр:
1# Сырая калибровка
2temp_celsius = (raw_voltage - 0.5) * 100
3
4# Точная калибровка (после измерений)
5temp_celsius = 1.02 * raw_voltage - 0.48
☕ BREAK (25-30 мин): Техническая пауза
🛠️ ПРАКТИЧЕСКИЙ БЛОК (30-75 мин): Lab Work
Этап 1: Подготовка рабочих мест (30-35 мин)
Принцип: 8 пар, по 2 человека
Комплект оборудования на пару:
- Raspberry Pi + breadboard + MCP3008
- Фоторезистор + резистор 10кОм
- HC-SR04 модуль
- Соединительные провода
- 🆕 Инструменты калибровки: линейка, фонарик телефона, листы бумаги
Роли в паре:
- Hardware Engineer: подключает компоненты
- Software Engineer: пишет и отлаживает код
Этап 2: Лабораторная работа “Фоторезистор” (35-50 мин)
🆕 СТРУКТУРИРОВАННАЯ карточка задания:
1💡 ЛАБОРАТОРИЯ: УМНЫЙ ДЕТЕКТОР СВЕТА
2
3ПОДКЛЮЧЕНИЕ:
4Фоторезистор → MCP3008 → Raspberry Pi
5- Один вывод фоторезистора к 3.3V
6- Другой через резистор 10кОм к GND
7- Средняя точка к каналу 0 MCP3008
8
9ЗАДАЧА 1: Сырые данные (5 мин)
10✓ Запустить код считывания
11✓ Записать показания в разных условиях:
12 - Комнатный свет: ___
13 - Закрытый рукой: ___
14 - Фонарик телефона: ___
15 - У окна: ___
16
17ЗАДАЧА 2: Калибровка (8 мин)
18✓ Создать 5 точек калибровки:
19 | Условие | Сырое значение | Примерные люксы |
20 |---------|---------------|-----------------|
21 | Полная темнота | ___ | 0 |
22 | Слабый свет | ___ | 10 |
23 | Комнатный свет | ___ | 100 |
24 | Яркий свет | ___ | 500 |
25 | Фонарик | ___ | 1000 |
26
27ЗАДАЧА 3: Формула (2 мин)
28✓ Найти коэффициенты для формулы:
29 lux = a * raw_value + b
30✓ Проверить точность на новых измерениях
Базовый код для старта:
1# Псевдокод - студенты адаптируют под MCP3008
2light_raw = adc.read_channel(0)
3print(f"Сырые данные: {light_raw}")
4
5# TODO: добавить калибровку
6# light_lux = ???
Этап 3: Лабораторная работа “HC-SR04” (50-65 мин)
🆕 КАРТОЧКА ЗАДАНИЯ УЛЬТРАЗВУК:
1📏 ЛАБОРАТОРИЯ: ТОЧНЫЙ ДАЛЬНОМЕР
2
3ПОДКЛЮЧЕНИЕ HC-SR04:
4- VCC → 5V (внимание: не 3.3V!)
5- GND → GND
6- Trig → GPIO pin (например, 23)
7- Echo → GPIO pin через делитель напряжения (pin 24)
8
9⚠️ ВАЖНО: Echo дает 5V, а Pi принимает 3.3V!
10Делитель: резисторы 1кОм и 2кОм
11
12ЗАДАЧА 1: Базовые измерения (5 мин)
13✓ Измерить расстояние до разных объектов:
14 - Стена: ___ мкс = ___ см
15 - Рука (близко): ___ мкс = ___ см
16 - Потолок: ___ мкс = ___ см
17
18ЗАДАЧА 2: Проверка формулы (5 мин)
19✓ Взять линейку, измерить реальное расстояние
20✓ Сравнить с формулой: distance = time * 0.034 / 2
21✓ Вычислить погрешность: error = |real - calculated|
22
23ЗАДАЧА 3: Улучшенная калибровка (5 мин)
24✓ Если есть систематическая ошибка, скорректировать:
25 corrected_distance = calculated_distance * k + offset
Стартовый псевдокод:
1# Псевдокод ультразвука
2time_start = measure_pulse_start()
3time_end = measure_pulse_end()
4duration = time_end - time_start
5
6distance_cm = duration * 0.034 / 2
7print(f"Расстояние: {distance_cm} см")
Этап 4: Мини-проекты по выбору (65-75 мин)
🆕 ПРОЕКТНЫЕ ТРЕКИ (пары выбирают):
Трек А: “Умный ночник”
1🌙 ПРОЕКТ: АВТОМАТИЧЕСКИЙ НОЧНИК
2
3ТЕХЗАДАНИЕ:
4- Включать светодиод при затемнении
5- Регулировать яркость в зависимости от освещенности
6- Добавить гистерезис (чтобы не мигал)
7
8КОД-СТРУКТУРА:
9if light_lux < threshold_dark:
10 led_brightness = map(light_lux, 0, 50, 255, 0)
11elif light_lux > threshold_bright:
12 led_brightness = 0
13
14БОНУС-ЗАДАЧИ:
15+ Плавное изменение яркости
16+ Настройка порогов кнопками
17+ Индикация текущего уровня света
Трек Б: “Парктроник”
1🚗 ПРОЕКТ: СИСТЕМА ПОМОЩИ ПАРКОВКИ
2
3ТЕХЗАДАНИЕ:
4- Звуковые сигналы при приближении к препятствию
5- Светодиодная индикация расстояния
6- Разные режимы предупреждения
7
8ЛОГИКА ПАРКТРОНИКА:
9distance < 10cm → непрерывный сигнал + красный
10distance < 30cm → частые сигналы + желтый
11distance < 50cm → редкие сигналы + зеленый
12distance > 50cm → тишина
13
14БОНУС-ЗАДАЧИ:
15+ Калибровка под размер автомобиля
16+ Память "самого близкого" расстояния
17+ Отображение на LCD дисплее
🎯 DEMO TIME (75-85 мин): Презентация результатов
Формат: По 2 минуты на пару + общий разбор
🆕 Структура демонстрации:
- Калибровка (30 сек): Показать исходные и откалиброванные данные
- Проект в действии (60 сек): Демонстрация работы ночника/парктроника
- Проблемы и решения (30 сек): Что было сложно, как решили
Критерии оценки работы:
- ✅ Правильность подключения датчиков
- ✅ Качество калибровки (точность измерений)
- ✅ Функциональность проекта
- ✅ НОВОЕ: Понимание физики процесса
🔍 TECH REVIEW (85-88 мин): Технический разбор
Вопросы для обсуждения:
- Точность: “Чья калибровка оказалась самой точной и почему?” (1 мин)
- Ограничения: “При каких условиях датчики работают плохо?” (1 мин)
- Применения: “Где в жизни используются такие системы?” (1 мин)
🔄 SPRINT RETRO (88-90 мин): Рефлексия
Техника “Три слова”:
- Сложное: ___
- Интересное: ___
- Полезное: ___
Анонс спринта #15: “Дополнительные аналоговые датчики”
📝 Sprint Backlog (Домашнее задание)
User Story:
Как IoT-разработчик, я хочу научиться работать с разными типами датчиков и понимать принципы их калибровки, чтобы создавать точные измерительные системы.
🆕 ПРАКТИЧЕСКОЕ домашнее задание:
Задание 1: Исследование точности (обязательное)
1📊 ЭКСПЕРИМЕНТ "ДАТЧИК VS ЭТАЛОН"
2
31. Сравните ваш откалиброванный фоторезистор с другими источниками:
4 - Приложение "Люксметр" на телефоне
5 - Настройки яркости экрана (субъективно)
6 - Разное время суток
7
82. Заполните таблицу сравнения:
9 | Условие | Фоторезистор | Телефон | Отклонение |
10 |---------|--------------|---------|------------|
11 | Комната днем | ___ лк | ___ лк | ___ % |
12 | Комната вечером | ___ лк | ___ лк | ___ % |
13 | На улице | ___ лк | ___ лк | ___ % |
14
153. Выводы: В каких условиях ваш датчик наиболее точен?
Задание 2: Творческое применение (по желанию)
Выберите одно из направлений:
А) Умный дом-мини:
- Создать систему из фоторезистора + светодиода
- Добавить управление через кнопку
- Сфотографировать установку
Б) Исследование ультразвука:
- Проверить работу HC-SR04 с разными материалами
- Найти, от чего звук отражается плохо
- Определить максимальную дистанцию измерения
🆕 Задание 3: Подготовка к следующему спринту Изучить информацию об одном из датчиков (видео 3-5 мин):
- MQ-2 (датчик газа)
- Soil moisture sensor (влажность почвы)
- Sound sensor (микрофон/звук)
Definition of Done:
- Заполнена таблица сравнения точности
- Сделаны выводы о работе датчиков
- (Опционально) Реализован творческий проект
- (Опционально) Изучен новый тип датчика
📊 Sprint Metrics (Оценивание)
Формирующее оценивание во время спринта:
- Collaboration Score: Эффективность работы в паре
- Technical Skills: Правильность подключения и программирования
- Problem Solving: Качество решения возникающих проблем
- 🆕 Calibration Quality: Точность созданных калибровочных функций
🆕 Критерии оценки лабораторной работы:
| Критерий | Отлично (5) | Хорошо (4) | Удовлетворительно (3) |
|---|---|---|---|
| Подключение датчиков | Все корректно, аккуратно, с пониманием | Корректно, мелкие недочеты | Работает, но с ошибками |
| Калибровка | Точная, с проверкой, понимание процесса | Функциональная, небольшие отклонения | Базовая, работает примерно |
| Код программы | Чистый, комментированный, эффективный | Работающий, понятный | Работает, но с недочетами |
| Мини-проект | Все функции + бонусы | Основные функции реализованы | Базовая функциональность |
| 🆕 Понимание физики | Объясняет принципы работы датчиков | Понимает основные концепции | Знает только результат |
🆕 Sprint Badges (цифровые достижения):
- 🔬 Calibration Master - за точную калибровку датчиков
- ⚡ Speed Coder - за быстрое выполнение задач
- 🔧 Hardware Hero - за безошибочное подключение
- 🌟 Innovation Star - за творческий подход к проекту
- 🎯 Precision Pro - за минимальную погрешность измерений
🎒 Sprint Resources
Технические средства на пару:
- Raspberry Pi + SD карта с настроенной ОС
- Breadboard + соединительные провода
- MCP3008 (внешний АЦП)
- Фоторезистор + резистор 10кОм
- HC-SR04 ультразвуковой модуль
- Резисторы для делителя напряжения (1кОм, 2кОм)
- 🆕 Инструменты калибровки: линейка, фонарик, непрозрачные предметы
Программное обеспечение:
- Python 3 + библиотеки GPIO
- Библиотека для MCP3008
- 🆕 Готовые шаблоны кода для быстрого старта
- Среда разработки (Thonny или VS Code)
🆕 Учебные материалы:
- Карточки с техническими заданиями (ламинированные)
- Шпаргалки по формулам калибровки
- Таблицы для записи результатов измерений
- Схемы подключения датчиков (наглядные)
Резервный план при проблемах:
Если нет HC-SR04:
- Использовать симуляцию с random значениями
- Демонстрация работы на видео
- Фокус на фоторезисторе + теоретический разбор ультразвука
Если проблемы с MCP3008:
- Использование встроенного АЦП Pi (если доступен)
- Эмуляция данных для отработки калибровки
- 🆕 Работа с готовыми данными для понимания принципов
🔧 Sprint Facilitation Tips
Подготовка к спринту:
- За день до: Проверить все комплекты оборудования, загрузить код-шаблоны
- За час до: Разложить оборудование по рабочим местам, проверить освещение
- За 15 минут: Проверить один комплект “от и до”, подготовить демонстрационные примеры
🆕 Управление практической работой:
- Стартовая синхронизация: Все пары начинают одновременно
- Checkpoint каждые 10 минут: “Где сейчас находимся, кому нужна помощь?”
- Техническая поддержка: Быстрое решение проблем с подключением
- 🆕 Rotate & Review: Пары периодически смотрят работы друг друга
🆕 Типичные проблемы и решения:
Проблема: Фоторезистор дает странные значения Решение: Проверить подключение делителя напряжения, убедиться в правильном канале АЦП
Проблема: HC-SR04 не отвечает
Решение: Проверить питание 5V, делитель напряжения на Echo, таймингиTrigger pulse
Проблема: Калибровка дает большую погрешность Решение: Больше точек измерения, проверка стабильности условий, нелинейная аппроксимация
🆕 Проблема: Пара работает в разном темпе 🆕 Решение: Временное перераспределение ролей, дополнительные подзадачи для быстрых
🆕 Мотивация и вовлечение:
- Real-world connections: Постоянно связывать с применениями в жизни
- Mini-competitions: “Чья калибровка точнее?”, “Самое маленькое расстояние HC-SR04”
- Success celebration: Отмечать каждый удачный результат измерения
🔗 Связь с соседними спринтами
Continuity с Sprint #13 (MCP3008):
- Техническая: Продолжение работы с внешним АЦП
- Концептуальная: От простого считывания к осмысленным данным
- Практическая: Использование навыков подключения аналоговых устройств
🆕 Bridge к Sprint #15 (Дополнительные датчики):
- Методологическая: Применение освоенных принципов калибровки к новым датчикам
- Техническая: Расширение “библиотеки” подключенных сенсоров
- Проектная: Подготовка к более комплексному проекту “Метеостанция”
🆕 Long-term perspective (к проекту #2):
Навыки этого спринта критически важны для метеостанции:
- Фоторезистор → измерение освещенности
- HC-SR04 → определение уровня осадков в резервуаре
- Калибровка → точность всех измерений станции
📈 Sprint Success Metrics
Спринт считается успешным, если:
- ✅ 90%+ пар успешно подключили и откалибровали оба датчика
- ✅ Все мини-проекты функционируют согласно техзаданию
- ✅ Учащиеся понимают разницу между сырыми и калиброванными данными
- ✅ Есть готовность к работе с новыми типами датчиков
- ✅ 🆕 85%+ могут объяснить физические принципы работы датчиков
- ✅ 🆕 Сформирована база для проекта “Метеостанция”
🆕 Качественные показатели:
- Количество правильно решенных технических проблем
- Качество вопросов, задаваемых учащимися
- Инициативность в выборе бонусных задач
- 🆕 Точность калибровки (средняя погрешность < 10%)
- 🆕 Понимание применимости датчиков в реальных системах
🚀 КЛЮЧЕВЫЕ ОСОБЕННОСТИ СПРИНТА 14:
- ✅ Сильный практический фокус - 70% времени на hands-on работу
- ✅ Реальные измерения - сравнение с эталонными приборами
- ✅ Проектный подход - выбор между ночником и парктроником
- ✅ Техническая глубина - понимание физики датчиков
- ✅ Подготовка к метеостанции - ключевые навыки для проекта #2
- ✅ Развитие системного мышления - от сырых данных к информации
- ✅ Профориентация - понимание работы embedded-разработчика
Этот спринт закладывает фундамент для качественной работы с любыми аналоговыми датчиками и готовит к созданию полноценных измерительных систем! 🎯