Skip to main content

🔍 Фоторезистор, 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 см”

Типы калибровки:

  1. Линейная: y = ax + b (простая пропорция)
  2. Нелинейная: y = ax² + bx + c (более точная)
  3. Табличная: набор точек + интерполяция

🆕 Практический пример - термометр:

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 минуты на пару + общий разбор

🆕 Структура демонстрации:

  1. Калибровка (30 сек): Показать исходные и откалиброванные данные
  2. Проект в действии (60 сек): Демонстрация работы ночника/парктроника
  3. Проблемы и решения (30 сек): Что было сложно, как решили

Критерии оценки работы:

  • ✅ Правильность подключения датчиков
  • ✅ Качество калибровки (точность измерений)
  • ✅ Функциональность проекта
  • НОВОЕ: Понимание физики процесса

🔍 TECH REVIEW (85-88 мин): Технический разбор

Вопросы для обсуждения:

  1. Точность: “Чья калибровка оказалась самой точной и почему?” (1 мин)
  2. Ограничения: “При каких условиях датчики работают плохо?” (1 мин)
  3. Применения: “Где в жизни используются такие системы?” (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

Подготовка к спринту:

  1. За день до: Проверить все комплекты оборудования, загрузить код-шаблоны
  2. За час до: Разложить оборудование по рабочим местам, проверить освещение
  3. За 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:

  1. Сильный практический фокус - 70% времени на hands-on работу
  2. Реальные измерения - сравнение с эталонными приборами
  3. Проектный подход - выбор между ночником и парктроником
  4. Техническая глубина - понимание физики датчиков
  5. Подготовка к метеостанции - ключевые навыки для проекта #2
  6. Развитие системного мышления - от сырых данных к информации
  7. Профориентация - понимание работы embedded-разработчика

Этот спринт закладывает фундамент для качественной работы с любыми аналоговыми датчиками и готовит к созданию полноценных измерительных систем! 🎯