top of page

1.1 Подготовка презентации проекта

 Цель задания:

  • Научиться структурировать и визуально представлять проект на основе IoT;

  • Сформировать презентационные и коммуникативные навыки;

  • Подготовить проектную защиту в формате мини-хакатона.

Этап подготовки:

1. Сформировать проектную команду (2–3 человека)

2. Определить структуру проекта:

  • Название и цель

  • Целевая проблема (что решает система)

  • Состав оборудования и схема

  • Краткое описание логики работы

  • Данные, которые собираются и визуализируются

  • Протоколы и платформы (MQTT, ThingsBoard и т.д.)

  • Демонстрация результата (симуляция, фото, видео)

3. Подготовить презентацию (5–7 слайдов)

Структура презентации:

№СлайдСодержание

1. Титульный - Название проекта, участники, дата

2. Цель и актуальность - Что решает система, почему это важно

3. Аппаратная часть - Какие компоненты используются (со схемой или фото)

4. Программная логика - Как система работает (блок-схема, код, условие → действие)

5. Визуализация и платформа - Где отображаются данные, через какую платформу (ThingsBoard и др.)

6. Тестирование и выводы - Как система реагирует, сильные стороны, улучшения

7. Заключение - Перспективы, дальнейшая доработка, короткий вывод

 Задание к сдаче:

Каждая команда предоставляет:

  • PDF-файл презентации (до 10 МБ)

  • Скриншот/фото схемы или готового устройства

  • Краткий текст пояснения к проекту (до 500 слов)

Рекомендации по оформлению:

  • Используйте диаграммы, схемы Tinkercad, реальные фото, графики с ThingsBoard;

  • Презентация должна быть понятна не только технически, но и визуально;

  • Один участник выступает — остальные готовят демонстрацию модели.

Ожидаемый результат:

  • Готовая презентация команды;

  • Чёткая структура и логика IoT-проекта;

  • Уверенное представление и защита своей идеи на следующем этапе (семинар 8.2).

1.2 Рефлексия и разбор промежуточных результатов

Цель задания:

Анализ промежуточного хода реализации IoT-проекта и настройка логики реагирования устройства на входные сигналы. Задание направлено на формирование умений логического связывания показателей сенсоров с действиями устройств (актуаторов).

Этапы выполнения:

  1. Обратная связь по проектам. Команды представляют преподавателю текущий результат: схема подключения, рабочий прототип, логика программы. Обсуждаются проблемы, возникающие при сборке или программировании, определяются слабые места.

  2. Программирование логики «если — то». Каждая команда реализует простую логику реагирования устройства на показания одного или нескольких датчиков. Например:

    • если температура > 30°C, включить вентилятор;

    • если уровень освещённости < 200, включить светодиод;

    • если датчик движения сработал, активировать звуковой сигнал или отправить сообщение.

  3. Настройка и отладка. Производится загрузка программы на плату, проверка реакции устройства, настройка чувствительности и условий. Возможна симуляция в Tinkercad или работа с реальными компонентами (ESP32, Arduino).

  4. Ведение мини-дневника проекта. Каждый участник команды фиксирует, какой компонент был подключён, какое условие реализовано, что работает корректно, а что — нет.

Результат выполнения:

  • Готовая схема работы устройства с минимальной логикой «условие–действие»;

  • Рабочая программа, реагирующая на сигналы с датчиков;

  • Отладка и корректная реакция устройства;

  • Промежуточный отчёт с комментариями и кодом.

Задание к сдаче:

Каждая команда предоставляет:

  • Скриншот схемы и подключённых компонентов;

  • Фрагмент кода, реализующий условие и действие;

  • Краткое текстовое пояснение: какое условие реализовано, какие датчики использованы, какие действия выполняются;

  • Указание на трудности и предложения по улучшению.

1.3 Программирование логики «условие–действие»

Цель задания:

Развить навыки интеграции нескольких сенсоров в одну IoT-систему, реализовать комбинированную логику реагирования на изменение внешних условий и движение, повысить устойчивость и функциональность прототипа проекта.

Этапы выполнения:

  1. Физическое подключение компонентов.
    Подключите:

    • PIR-датчик к цифровому входу (например, D2), питание — 5V и GND;

    • DHT22 к другому цифровому входу (например, D4), также подключите питание и землю.

  2. Программирование логики.
    Напишите код, реализующий сценарий «условие → действие». Пример:

#include <DHT.h>

#define DHTPIN 4
#define PIRPIN 2
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  pinMode(PIRPIN, INPUT);
  Serial.begin(115200);
  dht.begin();
}

void loop() {
  float temp = dht.readTemperature();
  int motion = digitalRead(PIRPIN);

  if (motion == HIGH && temp > 28) {
    Serial.println("Движение обнаружено и жара — включить вентилятор!");
  } else if (temp < 20) {
    Serial.println("Прохладно — всё в порядке.");
  }

  delay(3000);
}

3. Проверка.
Измените условия (движение и температуру), наблюдайте поведение системы в Serial Monitor или визуализируйте реакцию с помощью светодиодов, моторов, сигналов.

4. Документация.
Команда фиксирует, как реализована логика, что влияет на конечное поведение устройства.

Задание к сдаче:

Студенты должны предоставить:

  • Схему (фото или Tinkercad) с двумя датчиками;

  • Фрагмент кода, в котором реализована логика;

  • Описание: какие сигналы отслеживаются и что запускается;

  • Комментарий: как можно расширить сценарий (например, добавление GSM-модуля, отправка на дашборд и т.д.).

image.png

1.4 Интеграция датчиков PIR и DHT22

Цель

Научиться работать с датчиками PIR и DHT22, интегрировать их в IoT-систему и обрабатывать данные с этих датчиков.

Задание:

  1. Интеграция датчика PIR (для обнаружения движения):

    • Подключите датчик PIR к микроконтроллеру (например, ESP32).

    • Напишите код для обнаружения движения и вывода сообщения в консоль или на сервер.

  2. Интеграция датчика DHT22 (для измерения температуры и влажности):

    • Подключите датчик DHT22 к микроконтроллеру.

    • Напишите код для получения данных о температуре и влажности, а затем передайте их на сервер или в облако.

  3. Комбинированная логика:

    • Разработайте логику, при которой система будет принимать решения на основе данных с обоих датчиков. Например, если датчик PIR обнаружит движение, система включит освещение, а также будет отображать текущую температуру и влажность на экране/сервере.

    • Создайте логику, при которой система реагирует на сочетание движения и климатических условий, например:

      • если есть движение и температура превышает порог — включается активатор (вентилятор, сигнализация);

      • если нет движения, но влажность ниже нормы — инициируется отправка сигнала или включается насос.

  4. Проверка поведения.
    Включите монитор последовательного порта и проверьте реакцию устройства. Зафиксируйте изменения значений и срабатывания.

Результат: Рабочая интеграция датчиков PIR и DHT22 с кодом, который корректно собирает и передает данные, а также реагирует на условия (например, движение).

Пример кода:

#include <DHT.h>
#define DHTPIN 4
#define PIRPIN 2
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(115200);
  pinMode(PIRPIN, INPUT);
  dht.begin();
}

void loop() {
  float temp = dht.readTemperature();
  float hum = dht.readHumidity();
  int motion = digitalRead(PIRPIN);

  if (motion == HIGH && temp > 28) {
    Serial.println("Жарко и есть движение — включить вентилятор.");
  } else if (hum < 35 && motion == LOW) {
    Serial.println("Нет движения, но сухо — активировать насос.");
  }

  delay(2000);
}
 

Задание к сдаче:

  • Фото/скриншот схемы (Tinkercad или реальная);

  • Код (фрагмент, реализующий логику);

  • Краткое текстовое пояснение сценария: какие условия → какое действие;

  • Предложение по улучшению (например, добавление тревожного сигнала, визуализация данных через дашборд).

image.png

Итог семинара

  • Итоги семинара:

    • Все участники выполнили минимум три вида активности: презентация, рефлексия и лабораторная работа.

    • Повысился уровень понимания архитектуры IoT-систем и логики их функционирования.

    • Создана база для финальной защиты проектов на хакатоне.

Для загрузки выполненных работ:

Нажмите "МЕНЮ" - Загрузка работ - Перейдите по ссылке в кнопке.

bottom of page