1.1 Сценарии смены слайдов по сигналам датчиков
Цель семинара:
-
Освоить способ управления цифровым контентом (например, презентацией) с помощью физических датчиков;
-
Разработать простые IoT-сценарии для использования в интерактивных занятиях;
-
Интегрировать Arduino/ESP32 с внешними интерфейсами (через клавиатуру, HID, Bluetooth и др.).
Задание:
Создайте сценарий, при котором смена слайдов в презентации происходит на основе сигнала от физического датчика.
Пример:
-
Если обнаружено движение → следующий слайд
-
Если хлопок громче порога → предыдущий слайд
-
Если температура превышает 30°C → смена на предупреждающий слайд
Возможные сенсоры и триггеры:
-
PIR-датчик (движение)
-
Микрофон или звукодатчик (хлопок)
-
Температурный датчик DHT22
-
Фоторезистор (резкое затемнение → триггер)
Технические подходы:
Вариант 1: Arduino/ESP32 + HID (USB-клавиатура)
-
Подключить к ESP32 USB HID-эмулятор (например, через библиотеку BleKeyboard.h или NicoHood/HID на Arduino Leonardo);
-
Прописать код, при котором срабатывание сенсора вызывает «нажатие» клавиши (стрелка вперёд → следующий слайд).
Вариант 2: ESP32 + Bluetooth HID
-
ESP32 может выступать как Bluetooth-клавиатура (подключается к ПК или Android);
-
PIR → сигнал → команда sendKey(KEY_RIGHT_ARROW)
Вариант 3: Tinkercad / Симулятор
-
Для упрощения — создать модель реакции: при срабатывании выводить «Slide Next» в Serial Monitor, имитируя управление слайдами.
Пример кода (фрагмент для ESP32 BLE):
#include <BleKeyboard.h>
#include <Wire.h>
BleKeyboard bleKeyboard("IoT Presenter");
#define PIRPIN 2
void setup() {
Serial.begin(115200);
pinMode(PIRPIN, INPUT);
bleKeyboard.begin();
}
void loop() {
if (digitalRead(PIRPIN) == HIGH) {
if (bleKeyboard.isConnected()) {
bleKeyboard.write(KEY_RIGHT_ARROW);
Serial.println("Slide →");
delay(1000);
}
}
}
Ожидаемый результат:
-
При срабатывании датчика слайд переключается (реально или виртуально);
-
Устройство ведёт себя как интерактивный контроллер для презентации;
-
Учащийся осознаёт, как сенсоры могут управлять внешним цифровым контентом.
📤 Что нужно сдать:
-
Сценарий работы (описание: датчик, условие, реакция);
-
Фотография/модель схемы;
-
Фрагмент кода, реализующего сценарий;
-
Видео (по желанию), демонстрирующее процесс сработки и реакции.
1.2 Разработка интерактивных заданий
Цель семинара:
-
Научиться разрабатывать учебные активности, в которых реальные физические действия и датчики влияют на ход задания;
-
Осознать, как IoT можно использовать для игровых, адаптивных и диагностических сценариев обучения.
Задание:
Разработайте 1–2 интерактивных задания, в которых физическое воздействие (например, движение, освещённость, температура, звук) активирует событие в обучающем процессе.
Примеры таких событий:
-
смена вопроса,
-
открытие следующего шага,
-
запуск подсказки,
-
выдача обратной связи,
-
автоматическая проверка действия.
Идеи для заданий:
Задание 1. «Умная викторина»
– Установите датчик движения (PIR) у доски.
– Если ученик поднимается отвечать — включается вопрос (через экран/презентацию).
– Если ответа нет в течение 15 секунд — система автоматически переключается на следующий вопрос.
Задание 2. «Интерактивная лаборатория по температуре»
– При нагревании датчика DHT22 выше 30°C на экране появляется вопрос: «Какие материалы теряют свойства при перегреве?»
– Если температура снова падает ниже 28°C — учащемуся предлагается следующее задание.
Задание 3. «Пройди по сигналу»
– При падении освещённости (фоторезистор закрыт рукой) система «открывает дверь» (анимация/слайд/следующий вопрос).
– Может использоваться в квесте или игре.
Как оформить:
Каждое задание должно включать:
-
Название
-
Цель
-
Используемые компоненты
-
Условие (что срабатывает)
-
Реакция (что происходит)
-
Краткий фрагмент кода (при необходимости)
Пример (шаблон):
Название: Умная реакция на шум
Цель: Реагировать на звук хлопка — включать/выключать слайд
Компоненты: Звуковой датчик, ESP32, презентация
Условие: Если громкость > порога
Реакция: Команда на переключение слайда
Фрагмент кода:
int soundPin = A0;
void loop() {
int level = analogRead(soundPin);
if (level > 700) {
Serial.println("⬇ Звук зафиксирован! → Следующий шаг.");
// Команда на действие
}
delay(300);
}
Что нужно сдать:
-
Описание 1–2 заданий по структуре выше
-
Схема или скриншот компонентов
-
Фрагмент кода или логика (if…then)
-
Видео или фото (по желанию) с демонстрацией задания
Итог семинара
-
Учащиеся освоили программирование сценариев смены слайдов на основе данных от датчиков (PIR, DHT22, фоторезистор).
-
Разработаны и протестированы скрипты для управления презентацией с использованием pySerial, Node.js и внешних сенсоров.
-
В группах созданы прототипы интерактивных заданий по предметам с адаптацией контента в зависимости от показаний IoT-устройств.
-
Сформулированы цели заданий, варианты поведения системы и подходы к оценке результативности учащихся.
Для загрузки выполненных работ:
Нажмите "МЕНЮ" - Загрузка работ - Перейдите по ссылке в кнопке.