🌡️ Температурный датчик. Цифровые протоколы
🎯 Цели и планируемые результаты урока
Предметные результаты:
- Понимание принципов работы цифровых протоколов связи
- Освоение протоколов OneWire и I2C
- Знание особенностей питания различных датчиков
- Навыки подключения и программирования DHT22
- Умение работать с внешними библиотеками Arduino
- Практические навыки измерения температуры и влажности
Метапредметные результаты:
- Развитие понимания цифровой передачи данных
- Формирование навыков работы с технической документацией
- Умение анализировать и интерпретировать данные датчиков
- Развитие навыков систематизации информации
Личностные результаты:
- Понимание роли точных измерений в науке и технике
- Развитие наблюдательности и внимания к деталям
- Формирование интереса к исследовательской деятельности
🚀 Мотивационное начало (8 минут)
“Цифровые детективы окружающей среды”
Учитель демонстрирует два одинаковых стакана воды, но DHT22 показывает разную влажность рядом с ними
🌡️ Загадочная демонстрация:
1🥛 Стакан №1: Температура 23.1°C, Влажность 45%
2🥛 Стакан №2: Температура 23.1°C, Влажность 67%
3
4❓ Загадка: Почему температура одинаковая, а влажность разная?
5Разгадка: В одном стакане обычная вода, в другом - горячая!
🔍 Интерактивная демонстрация “Невидимые изменения”:
1🌬️ Дышим на датчик → Влажность растет на глазах!
2❄️ Подносим лед → Температура падает за секунды!
3💨 Машем рукой → Влажность колеблется!
4🔥 Включаем лампу → Температура медленно растет!
🎭 Аналогия “Цифровые органы чувств”:
1👃 НОС ЧЕЛОВЕКА ↔ 🌡️ ДАТЧИК DHT22
2Чувствует запахи ↔ Измеряет температуру
3Определяет влажность ↔ Измеряет влажность
4Посылает сигналы в мозг ↔ Отправляет данные в ESP32
5Работает автоматически ↔ Работает по команде
🌟 Интрига урока: “Сегодня мы научим ESP32 чувствовать мир как живое существо - ощущать тепло и влагу в воздухе!”
🎯 Вызов дня: “К концу урока ваш ESP32 станет метеостанцией, которая будет знать о погоде в классе больше, чем мы сами!”
📖 Основная часть урока
Блок 1: “Цифровые протоколы - языки общения устройств” (15 минут)
📡 “От аналогового к цифровому - эволюция связи”
Сравнение способов передачи данных:
1📊 ЭВОЛЮЦИЯ ПЕРЕДАЧИ ДАННЫХ:
2
3🔤 АНАЛОГОВАЯ ПЕРЕДАЧА (старый способ):
4📏 Сопротивление: 0-10кОм → Температура 0-100°C
5⚡ Напряжение: 0-3.3В → Влажность 0-100%
6❌ Проблемы: помехи, неточность, калибровка
7
8💻 ЦИФРОВАЯ ПЕРЕДАЧА (современный способ):
9📨 Пакеты данных: "temp=23.5, humidity=67.2"
10🔢 Точные числа вместо напряжений
11✅ Преимущества: точность, помехоустойчивость, самокалибровка
🗣️ “OneWire - протокол одного провода”
Магия одного провода:
1🔌 ONEWIRE - МИНИМАЛИЗМ В ДЕЙСТВИИ:
2
3🎯 ПРИНЦИП:
4- 1 провод для данных (+ питание и земля)
5- Множество устройств на одной линии
6- Каждое устройство имеет уникальный ID
7
8📞 АНАЛОГИЯ С КОНФЕРЕНЦ-СВЯЗЬЮ:
9- Один телефонный провод
10- Много участников разговора
11- Каждый говорит по очереди
12- У каждого свое имя (ID)
13
14🌡️ ПРИМЕР С ДАТЧИКАМИ ТЕМПЕРАТУРЫ:
15ESP32 → OneWire → Датчик1 → Датчик2 → Датчик3
16 ↓
17"Привет всем! Кто здесь?"
18"Я Датчик1 (ID: 28FF123456)"
19"Я Датчик2 (ID: 28FF789ABC)"
20"Я Датчик3 (ID: 28FFDEF012)"
🔄 “I2C - протокол умного общения”
Система “начальник и подчиненные”:
1🏢 I2C = ОФИСНАЯ ИЕРАРХИЯ:
2
3👨💼 МАСТЕР (ESP32):
4- Отдает команды
5- Решает, кто говорит
6- Контролирует время
7
8👥 РАБЫ (датчики):
9- Слушают команды
10- Отвечают только когда спрашивают
11- У каждого свой адрес
12
13📡 ДВА ПРОВОДА:
14SDA (Serial Data): Передача данных
15SCL (Serial Clock): Синхронизация времени
16
17💬 ПРИМЕР РАЗГОВОРА:
18ESP32: "Внимание! Датчик с адресом 0x40!"
19DHT22: "Слушаю, начальник!"
20ESP32: "Дай температуру!"
21DHT22: "23.5 градуса, сэр!"
22ESP32: "Принято. Свободен!"
🔬 Практическое сравнение протоколов
Интерактивная таблица:
1📊 СРАВНЕНИЕ ЦИФРОВЫХ ПРОТОКОЛОВ:
2
3┌─────────────┬──────────┬─────────┬──────────┐
4│ Параметр │ OneWire │ I2C │ SPI │
5├─────────────┼──────────┼─────────┼──────────┤
6│ Провода │ 1 + пит. │ 2 + пит.│ 4 + пит. │
7│ Скорость │ Низкая │ Средняя │ Высокая │
8│ Устройств │ Много │ До 127 │ Много │
9│ Сложность │ Простая │ Средняя │ Сложная │
10│ Применение │ Темп-ра │ Разное │ Дисплеи │
11└─────────────┴──────────┴─────────┴──────────┘
12
13🎯 КОГДА ЧТО ИСПОЛЬЗОВАТЬ:
14OneWire: Температурные датчики DS18B20
15I2C: DHT22, дисплеи, многие датчики
16SPI: Быстрые дисплеи, SD карты
🎯 Интерактивное задание “Протокольный театр”
Ученики играют роли:
- ESP32 (режиссер): “Датчик DHT22, дайте данные!”
- DHT22 (актер): “Получил команду! Измеряю… Готово!”
- SDA (почтальон): “Несу данные: температура 23.5°C!”
- SCL (метроном): “Тик-так, тик-так - задаю ритм!”
Блок 2: “Безопасность питания датчиков - не навреди!” (12 минут)
⚡ “Напряжение питания - критически важный параметр”
История о чувствительном датчике:
1📖 СКАЗКА О DHT22 И НАПРЯЖЕНИИ:
2
3Жил-был датчик DHT22. Он был очень точным, но капризным.
4"Дайте мне ровно 3.3-5.5 Вольт!" - просил он.
5
6Однажды неопытный Arduino дал ему 12В:
7💥 "Ой!" - вскрикнул датчик и сломался.
8
9В другой раз ESP32 дал только 2В:
10😴 "Не могу работать..." - прошептал датчик и уснул.
11
12Но когда получил правильные 3.3В:
13🎉 "Ура! Температура 23.5°C, влажность 67.2%!" - радостно сообщил он.
14
15МОРАЛЬ: Всегда проверяй напряжение питания датчика!
🔍 “Чтение технической документации - паспорт датчика”
Изучаем datasheet DHT22:
1📋 ТЕХНИЧЕСКИЙ ПАСПОРТ DHT22:
2
3⚡ ПИТАНИЕ:
4- Напряжение: 3.3-5.5В DC
5- Ток потребления: 1-1.5мА (измерение)
6- Ток покоя: 40-50мкА (сон)
7- ✅ Совместим с ESP32 (3.3В)
8
9📊 ХАРАКТЕРИСТИКИ:
10- Диапазон температуры: -40°C до +80°C
11- Точность температуры: ±0.5°C
12- Диапазон влажности: 0-100% RH
13- Точность влажности: ±2-5% RH
14
15⏱️ ВРЕМЕННЫЕ ПАРАМЕТРЫ:
16- Время отклика: 2 секунды
17- Минимальный интервал: 2 секунды
18- Время прогрева: 1 секунда
19
20🔌 РАСПИНОВКА:
21Пин 1: VCC (питание 3.3-5.5В)
22Пин 2: DATA (данные)
23Пин 3: Не используется
24Пин 4: GND (земля)
🔧 “Правильное подключение - залог успеха”
Пошаговая схема подключения:
1🔗 СХЕМА ПОДКЛЮЧЕНИЯ DHT22 К ESP32:
2
3DHT22 ESP32
4┌─────────┐ ┌─────────┐
5│ VCC (1) │────│ 3.3V │ ✅ Питание
6│ DATA(2) │────│ GPIO 4 │ 📡 Данные
7│ NC (3) │ │ │ ❌ Не подключаем
8│ GND (4) │────│ GND │ ⚡ Земля
9└─────────┘ └─────────┘
10
11🔧 ДОПОЛНИТЕЛЬНЫЕ ЭЛЕМЕНТЫ:
12- Подтягивающий резистор 10кОм между DATA и VCC
13- Конденсатор 100нФ между VCC и GND (для стабилизации)
14
15⚠️ ВАЖНЫЕ ПРАВИЛА:
161. Проверить полярность питания
172. Не перепутать пины DATA и VCC
183. Обязательно подключить подтягивающий резистор
194. Не подавать больше 5.5В!
🔬 Практическая проверка “Тестируем питание”
Измерения мультиметром:
1🧪 ЛАБОРАТОРНАЯ РАБОТА "ПРОВЕРКА ПИТАНИЯ":
2
3Задание 1: Измерение напряжения питания
4- Подключаем мультиметр к пинам VCC и GND DHT22
5- Включаем ESP32
6- Измеряем: _____ В
7- ✅ Норма: 3.2-3.4В
8
9Задание 2: Проверка уровней сигнала DATA
10- Измеряем напряжение на пине DATA
11- Без подтягивающего резистора: _____ В
12- С подтягивающим резистором: _____ В
13- ✅ Норма: ~3.3В в покое
14
15Задание 3: Измерение тока потребления
16- Включаем амперметр в цепь питания
17- Измеряем ток в покое: _____ мА
18- Измеряем ток при работе: _____ мА
19- ✅ Норма: покой <0.1мА, работа 1-1.5мА
❌ “Типичные ошибки и их последствия”
Галерея ошибок:
1🚨 МУЗЕЙ ОШИБОК ПОДКЛЮЧЕНИЯ:
2
3❌ Ошибка №1: Перепутали VCC и GND
4Последствие: Датчик не отвечает или повреждается
5Признаки: Нет ответа, сильный нагрев
6
7❌ Ошибка №2: Забыли подтягивающий резистор
8Последствие: Нестабильная работа, ошибки чтения
9Признаки: Случайные сбои, "плавающие" значения
10
11❌ Ошибка №3: Подали 5В на ESP32 версию
12Последствие: Возможно повреждение GPIO
13Признаки: Датчик работает, но ESP32 глючит
14
15❌ Ошибка №4: Слишком частые запросы
16Последствие: Датчик не успевает измерить
17Признаки: Старые данные, ошибки чтения
18
19🛠️ ДИАГНОСТИКА:
201. Проверить напряжения мультиметром
212. Проверить правильность подключения
223. Проверить код на частоту запросов
234. Проверить качество соединений
Блок 3: “Подключение DHT22 - собираем метеостанцию” (15 минут)
🔌 “Физическое подключение датчика”
Пошаговая сборка:
1🛠️ СБОРКА ИЗМЕРИТЕЛЬНОЙ СТАНЦИИ:
2
3Шаг 1: Подготовка компонентов
4□ ESP32 DevKit
5□ DHT22 датчик
6□ Резистор 10кОм (подтягивающий)
7□ Макетная плата
8□ Провода (красный, черный, желтый)
9
10Шаг 2: Размещение на макетке
11- DHT22 в центр макетной платы
12- ESP32 рядом или отдельно
13- Резистор рядом с датчиком
14
15Шаг 3: Соединения питания
16🔴 Красный провод: DHT22 VCC → ESP32 3.3V
17⚫ Черный провод: DHT22 GND → ESP32 GND
18
19Шаг 4: Соединение данных
20🟡 Желтый провод: DHT22 DATA → ESP32 GPIO 4
21🔧 Резистор 10кОм: между DATA и VCC
22
23Шаг 5: Проверка соединений
24□ Все провода надежно подключены
25□ Нет коротких замыканий
26□ Правильная полярность
27□ Резистор на месте
📐 “Схема подключения - технический чертеж”
Создание схемы:
1📋 ЭЛЕКТРИЧЕСКАЯ СХЕМА:
2
3 ESP32 DHT22
4 ┌─────────┐ ┌─────────┐
5 │ 3.3V │──────────────│ VCC (1) │
6 │ │ ┌─────────│ DATA(2) │
7 │ GPIO 4 │────┤ │ NC (3) │
8 │ │ │ 10kΩ │ GND (4) │
9 │ GND │─────┼────────│ │
10 └─────────┘ │ └─────────┘
11 │
12 ┌────┴────┐
13 │ 3.3V │
14 └─────────┘
15
16📝 УСЛОВНЫЕ ОБОЗНАЧЕНИЯ:
17──── Провод
18┌──┐ Компонент
19┤ ├ Резистор
20└──┘ Соединение
🔍 “Диагностика подключения”
Проверочный протокол:
1✅ ЧЕК-ЛИСТ ПРАВИЛЬНОГО ПОДКЛЮЧЕНИЯ:
2
3🔧 ВИЗУАЛЬНАЯ ПРОВЕРКА:
4□ DHT22 не перевернут (пин 1 = VCC)
5□ Провода подключены к правильным пинам
6□ Резистор 10кОм между DATA и VCC
7□ Нет висящих проводов
8□ Качественные соединения
9
10⚡ ЭЛЕКТРИЧЕСКАЯ ПРОВЕРКА:
11□ Напряжение на VCC: 3.2-3.4В
12□ Напряжение на DATA в покое: ~3.3В
13□ Сопротивление между DATA и VCC: ~10кОм
14□ Нет короткого замыкания VCC-GND
15
16💻 ПРОГРАММНАЯ ПРОВЕРКА:
17□ Правильный номер GPIO в коде
18□ Библиотека DHT установлена
19□ Код компилируется без ошибок
20□ Serial Monitor показывает данные
🎯 Практическое задание “Первое подключение”
Каждая команда собирает схему:
1📋 РАБОЧИЙ ЛИСТ КОМАНДЫ:
2Команда: _________________ Дата: _________
3
4🔧 СБОРКА:
5Время начала: _______
6Время окончания: _______
7Сложности: __________________________
8
9🔍 ПРОВЕРКА:
10Напряжение VCC: _____ В
11Напряжение DATA: _____ В
12Сопротивление подтяжки: _____ кОм
13
14✅ РЕЗУЛЬТАТ:
15□ Схема собрана правильно
16□ Все измерения в норме
17□ Готово к программированию
18
19🤝 КОМАНДНАЯ РАБОТА:
20Кто собирал схему: ___________________
21Кто проверял мультиметром: ___________
22Кто документировал: __________________
Блок 4: “Программирование DHT22 - оживляем датчик” (18 минут)
📚 “Установка библиотеки DHT”
Пошаговая установка:
1📦 УСТАНОВКА БИБЛИОТЕКИ DHT:
2
3Шаг 1: Открываем Library Manager
4- Arduino IDE → Tools → Manage Libraries
5- Или Ctrl+Shift+I
6
7Шаг 2: Поиск библиотеки
8- В поиске вводим: "DHT sensor library"
9- Автор: Adafruit
10- Выбираем последнюю версию
11
12Шаг 3: Установка зависимостей
13- Также устанавливаем: "Adafruit Unified Sensor"
14- Нажимаем "Install All"
15
16Шаг 4: Проверка установки
17- File → Examples → DHT sensor library
18- Должны появиться примеры кода
19
20✅ ГОТОВО! Библиотека установлена.
💻 “Первая программа чтения датчика”
Базовый код с подробными комментариями:
1// 🌡️ ПРОГРАММА ЧТЕНИЯ DHT22
2// Урок 12: Температурный датчик и цифровые протоколы
3
4#include <DHT.h> // Подключаем библиотеку DHT
5
6// 🔧 Настройки датчика
7#define DHT_PIN 4 // Пин подключения DATA (GPIO 4)
8#define DHT_TYPE DHT22 // Тип датчика (DHT22/AM2302)
9
10// 📊 Создаем объект датчика
11DHT dht(DHT_PIN, DHT_TYPE);
12
13// ⏱️ Переменные для контроля времени
14unsigned long lastReading = 0;
15const unsigned long readInterval = 2000; // 2 секунды между измерениями
16
17void setup() {
18 Serial.begin(9600);
19 Serial.println("🌡️ Инициализация DHT22 датчика");
20
21 // 🚀 Запускаем датчик
22 dht.begin();
23
24 Serial.println("✅ Датчик готов к работе!");
25 Serial.println("📊 Формат: Температура°C | Влажность% | Индекс тепла°C");
26 Serial.println("─────────────────────────────────────────────────");
27}
28
29void loop() {
30 // ⏰ Проверяем, пора ли снимать показания
31 if (millis() - lastReading >= readInterval) {
32
33 // 📖 Читаем данные с датчика
34 readSensorData();
35
36 lastReading = millis();
37 }
38
39 // 💤 Небольшая пауза для экономии ресурсов
40 delay(100);
41}
42
43// 📊 Функция чтения и обработки данных
44void readSensorData() {
45 Serial.print("🔄 Измерение... ");
46
47 // 🌡️ Читаем температуру (в Цельсиях)
48 float temperature = dht.readTemperature();
49
50 // 💧 Читаем влажность (в процентах)
51 float humidity = dht.readHumidity();
52
53 // ✅ Проверяем, успешно ли прочитали данные
54 if (isnan(temperature) || isnan(humidity)) {
55 Serial.println("❌ Ошибка чтения датчика!");
56 Serial.println("🔧 Проверьте подключение и подождите 2 секунды");
57 return;
58 }
59
60 // 🌡️ Вычисляем индекс тепла (как ощущается температура)
61 float heatIndex = dht.computeHeatIndex(temperature, humidity, false);
62
63 // 📊 Выводим результаты
64 Serial.println("✅ Успешно!");
65 Serial.printf("🌡️ Температура: %.1f°C\n", temperature);
66 Serial.printf("💧 Влажность: %.1f%%\n", humidity);
67 Serial.printf("🔥 Индекс тепла: %.1f°C\n", heatIndex);
68
69 // 📈 Анализируем комфортность
70 analyzeComfort(temperature, humidity);
71
72 Serial.println("─────────────────────────────────────────────────");
73}
74
75// 🎯 Функция анализа комфортности условий
76void analyzeComfort(float temp, float hum) {
77 Serial.print("🏠 Оценка комфорта: ");
78
79 // 🌡️ Анализ температуры
80 if (temp < 18) {
81 Serial.print("❄️ Холодно");
82 } else if (temp < 22) {
83 Serial.print("😊 Прохладно");
84 } else if (temp < 26) {
85 Serial.print("✅ Комфортно");
86 } else if (temp < 30) {
87 Serial.print("🌡️ Тепло");
88 } else {
89 Serial.print("🔥 Жарко");
90 }
91
92 Serial.print(" | ");
93
94 // 💧 Анализ влажности
95 if (hum < 30) {
96 Serial.println("🏜️ Сухо");
97 } else if (hum < 60) {
98 Serial.println("✅ Нормальная влажность");
99 } else if (hum < 80) {
100 Serial.println("💧 Влажно");
101 } else {
102 Serial.println("🌊 Очень влажно");
103 }
104}
🔍 “Понимание библиотеки DHT”
Разбор основных функций:
1📚 СПРАВОЧНИК ФУНКЦИЙ DHT БИБЛИОТЕКИ:
2
3🏗️ СОЗДАНИЕ ОБЪЕКТА:
4DHT dht(pin, type);
5- pin: номер GPIO пина
6- type: DHT11, DHT22, DHT21
7
8🚀 ИНИЦИАЛИЗАЦИЯ:
9dht.begin();
10- Запускает датчик
11- Вызывается в setup()
12
13📊 ЧТЕНИЕ ДАННЫХ:
14float temp = dht.readTemperature();
15- Возвращает температуру в °C
16- NaN если ошибка
17
18float hum = dht.readHumidity();
19- Возвращает влажность в %
20- NaN если ошибка
21
22🔥 ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ:
23dht.readTemperature(true); // В Фаренгейтах
24dht.computeHeatIndex(t, h, false); // Индекс тепла
🚨 “Обработка ошибок и отладка”
Алгоритм диагностики проблем:
1🔧 ДИАГНОСТИКА ПРОБЛЕМ DHT22:
2
3❌ ОШИБКА: "NaN" в результатах
4🔍 ПРИЧИНЫ:
5- Неправильное подключение
6- Отсутствует подтягивающий резистор
7- Слишком частые запросы (< 2 сек)
8- Поврежденный датчик
9
10✅ РЕШЕНИЯ:
111. Проверить схему подключения
122. Добавить резистор 10кОм
133. Увеличить интервал до 2+ сек
144. Заменить датчик
15
16❌ ОШИБКА: Данные не изменяются
17🔍 ПРИЧИНЫ:
18- Датчик "завис"
19- Проблемы с питанием
20- Неисправность датчика
21
22✅ РЕШЕНИЯ:
231. Перезагрузить ESP32
242. Проверить питание 3.3В
253. Попробовать другой датчик
26
27❌ ОШИБКА: Компиляция не проходит
28🔍 ПРИЧИНЫ:
29- Библиотека не установлена
30- Неправильный тип датчика
31- Ошибки в коде
32
33✅ РЕШЕНИЯ:
341. Переустановить библиотеку DHT
352. Проверить #define DHT_TYPE
363. Сверить код с примером
📊 “Расширенные возможности программы”
Улучшенная версия с дополнительными функциями:
1// 🌟 РАСШИРЕННАЯ ВЕРСИЯ МЕТЕОСТАНЦИИ
2
3// 📊 Дополнительные переменные
4float tempHistory[10]; // История температуры
5float humHistory[10]; // История влажности
6int historyIndex = 0; // Текущий индекс в истории
7bool historyFull = false; // Заполнена ли история
8
9// 📈 Функция записи в историю
10void recordHistory(float temp, float hum) {
11 tempHistory[historyIndex] = temp;
12 humHistory[historyIndex] = hum;
13
14 historyIndex++;
15 if (historyIndex >= 10) {
16 historyIndex = 0;
17 historyFull = true;
18 }
19}
20
21// 📊 Функция анализа трендов
22void analyzeTrends() {
23 if (!historyFull && historyIndex < 3) return;
24
25 int samples = historyFull ? 10 : historyIndex;
26 float tempTrend = tempHistory[samples-1] - tempHistory[0];
27 float humTrend = humHistory[samples-1] - humHistory[0];
28
29 Serial.print("📈 Тренд за последние измерения: ");
30
31 if (abs(tempTrend) < 0.5) {
32 Serial.print("🔄 Температура стабильна");
33 } else if (tempTrend > 0) {
34 Serial.printf("⬆️ Температура растет (+%.1f°C)", tempTrend);
35 } else {
36 Serial.printf("⬇️ Температура падает (%.1f°C)", tempTrend);
37 }
38
39 Serial.print(" | ");
40
41 if (abs(humTrend) < 2) {
42 Serial.println("🔄 Влажность стабильна");
43 } else if (humTrend > 0) {
44 Serial.printf("⬆️ Влажность растет (+%.1f%%)\n", humTrend);
45 } else {
46 Serial.printf("⬇️ Влажность падает (%.1f%%)\n", humTrend);
47 }
48}
49
50// 🚨 Функция мониторинга критических значений
51void checkAlerts(float temp, float hum) {
52 bool alert = false;
53
54 Serial.print("🚨 Проверка предупреждений: ");
55
56 if (temp > 30) {
57 Serial.print("🔥 ВЫСОКАЯ ТЕМПЕРАТУРА! ");
58 alert = true;
59 }
60
61 if (temp < 15) {
62 Serial.print("❄️ НИЗКАЯ ТЕМПЕРАТУРА! ");
63 alert = true;
64 }
65
66 if (hum > 80) {
67 Serial.print("💧 ВЫСОКАЯ ВЛАЖНОСТЬ! ");
68 alert = true;
69 }
70
71 if (hum < 25) {
72 Serial.print("🏜️ НИЗКАЯ ВЛАЖНОСТЬ! ");
73 alert = true;
74 }
75
76 if (!alert) {
77 Serial.print("✅ Все в норме");
78 }
79
80 Serial.println();
81}
🎨 Творческое задание: “Персональная метеостанция” (10 минут)
🏠 “Создание умной метеостанции класса”
Техническое задание для команд:
1🎯 ПРОЕКТ "МЕТЕОСТАНЦИЯ 5А КЛАССА":
2
3Базовые требования:
4✅ Измерение температуры и влажности каждые 2 секунды
5✅ Анализ комфортности условий в классе
6✅ Система предупреждений о критических значениях
7✅ История измерений и анализ трендов
8
9Дополнительные функции (на выбор):
10🌡️ Режим "Калибровка" - сравнение с эталонным термометром
11💾 Режим "Запись" - сохранение данных на SD карту
12📊 Режим "Статистика" - мин/макс/средние значения
13🎵 Режим "Звуковые уведомления" - пищит при превышении нормы
14🌈 Режим "Цветовая индикация" - RGB светодиод по температуре
📋 “Техническая документация метеостанции”
Каждая команда создает паспорт устройства:
1📄 ПАСПОРТ МЕТЕОСТАНЦИИ
2Команда: _________________ Дата: _________
3
4🎯 НАЗВАНИЕ ПРОЕКТА: "Метео[название_команды]"
5
6⚙️ ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ:
7- Датчик: DHT22 (AM2302)
8- Точность температуры: ±0.5°C
9- Точность влажности: ±2-5%
10- Интервал измерений: _____ секунд
11- Диапазон температуры: -40°C...+80°C
12- Диапазон влажности: 0-100% RH
13
14🔧 СХЕМА ПОДКЛЮЧЕНИЯ:
15[Рисунок схемы с подписанными компонентами]
16- DHT22 VCC → ESP32 3.3V
17- DHT22 DATA → ESP32 GPIO ___
18- DHT22 GND → ESP32 GND
19- Подтягивающий резистор: ___ кОм
20
21💻 ПРОГРАММНЫЕ ФУНКЦИИ:
22□ Базовое измерение температуры/влажности
23□ Анализ комфортности
24□ Система предупреждений
25□ История измерений
26□ Анализ трендов
27□ Дополнительная функция: _______________
28
29📊 КАЛИБРОВКА И ТЕСТИРОВАНИЕ:
30Эталонная температура: ____°C
31Показания нашего датчика: ____°C
32Погрешность: ____°C
33
34Эталонная влажность: ____%
35Показания нашего датчика: ____%
36Погрешность: ____%
37
38🌡️ РЕЗУЛЬТАТЫ ИСПЫТАНИЙ:
39Температура в классе: ____°C
40Влажность в классе: ____%
41Оценка комфорта: _________________
42Тренд за 10 минут: _______________
43
44🏆 УНИКАЛЬНЫЕ ОСОБЕННОСТИ:
45Что особенного в нашей метеостанции: ____
46_____________________________________
47
48✅ ПРОВЕРКА РАБОТОСПОСОБНОСТИ:
49□ Датчик отвечает без ошибок NaN
50□ Данные изменяются при воздействии
51□ Правильно определяет тренды
52□ Система предупреждений работает
53□ Код стабилен более 10 минут
54
55⭐ САМООЦЕНКА КОМАНДЫ: ⭐⭐⭐⭐⭐
🎪 “Выставка метеостанций”
Презентация проектов:
- Каждая команда демонстрирует свою метеостанцию (3 минуты)
- Показывает реакцию на дыхание, лед, тепло от лампы
- Объясняет свои уникальные функции
- Сравнивает показания с другими командами
- Отвечает на вопросы жюри
📝 Рефлексия и закрепление (5 минут)
🌡️ “Викторина цифровых протоколов”
Быстрые вопросы с практическими ответами:
1❓ ПОКАЖИ ЖЕСТАМИ:
21. Сколько проводов нужно для I2C? (показать 2 пальца)
32. Какое напряжение питания DHT22? (показать 3 пальца = 3.3В)
43. Как часто можно читать DHT22? (показать 2 пальца = 2 секунды)
54. Что значит NaN? (покачать головой = ошибка)
📊 “Шкала мастерства датчиков”
1🎚️ УРОВЕНЬ ВЛАДЕНИЯ ДАТЧИКАМИ:
2
3🏆 Сенсор-инженер (100%):
4"Понимаю протоколы, подключаю любые датчики, анализирую данные"
5
6🥇 Датчик-программист (75%):
7"Программирую DHT22, обрабатываю ошибки, создаю метеостанции"
8
9🥈 Сенсор-техник (50%):
10"Подключаю датчики по схеме, читаю базовые данные"
11
12🥉 Датчик-новичок (25%):
13"Понимаю что такое цифровые протоколы и DHT22"
14
15Поднимите руку на уровне вашего мастерства!
💭 “Одной фразой о датчиках”
Каждый ученик завершает фразу:
- “Цифровые протоколы это…”
- “DHT22 удивил меня тем что…”
- “Самое сложное в датчиках…”
- “Теперь я могу измерить…”
🏠 Домашнее задание
🌡️ “Домашний метеоролог”
Основное задание:
-
Домашние измерения
- Померить температуру и влажность в разных комнатах
- Сравнить с показаниями домашних термометров
- Найти самое жаркое и холодное место в доме
-
Эксперименты с кодом
- Добавить измерение в Фаренгейтах
- Создать свою систему оценки комфорта
- Попробовать изменить интервал измерений
-
Дневник метеоролога
1📔 МОЙ ДНЕВНИК МЕТЕОРОЛОГА - УРОК 12
2
3🌡️ ГЛАВНЫЕ ОТКРЫТИЯ:
4- Цифровые протоколы лучше аналоговых потому что: ____
5- DHT22 измеряет: ____________________
6- NaN означает: ______________________
7
8🔧 МОЯ МЕТЕОСТАНЦИЯ:
9Точность температуры: ±____°C
10Точность влажности: ±____%
11Интервал измерений: ____ секунд
12Самая крутая функция: ________________
13
14📊 ДОМАШНИЕ ИЗМЕРЕНИЯ:
15Кухня: ____°C, ____%
16Спальня: ____°C, ____%
17Ванная: ____°C, ____%
18Самое интересное открытие: ____________
19
20💻 ПРОГРАММИРОВАНИЕ:
21Самая сложная функция: ________________
22Что понял про библиотеки: ____________
23Какую ошибку исправил: _______________
24
25🔮 ПЛАНЫ НА БУДУЩЕЕ:
26Какой датчик хочу изучить следующим: ____
27Где применю знания о DHT22: ___________
28Идея для улучшения метеостанции: ______
🔬 Исследовательское задание (для увлеченных):
- Изучить другие датчики семейства DHT (DHT11, DHT21)
- Найти информацию о других протоколах (SPI, UART, Bluetooth)
- Исследовать профессиональные метеостанции
🎨 Творческое задание:
- Нарисовать схему “умного дома” с множеством датчиков
- Создать комикс “Путешествие данных от DHT22 до Serial Monitor”
📊 Критерии оценивания
“Отлично” (5):
- Понимает принципы работы цифровых протоколов OneWire и I2C
- Правильно подключает DHT22 с учетом требований питания
- Уверенно программирует чтение данных и обработку ошибок
- Создает функциональную метеостанцию с дополнительными возможностями
- Может диагностировать и решать проблемы подключения
- Демонстрирует творческий подход к анализу данных
“Хорошо” (4):
- Понимает основы цифровых протоколов и их преимущества
- Подключает датчик по готовой схеме
- Программирует базовое чтение температуры и влажности
- Создает работающую метеостанцию
- Понимает назначение библиотек и функций
“Удовлетворительно” (3):
- Имеет общее представление о цифровых датчиках
- С помощью подключает DHT22
- Использует готовые примеры кода
- Участвует в создании групповой метеостанции
🛠️ Материалы и оборудование
Для каждой команды (3-4 человека):
- ESP32 DevKit плата
- DHT22 (AM2302) датчик температуры и влажности
- Резистор 10кОм (подтягивающий)
- Конденсатор 100нФ (по желанию, для стабилизации питания)
- Макетная плата
- Провода для соединений (красный, черный, желтый)
- Мультиметр для проверки соединений
Для демонстраций учителем:
- Эталонный термометр для сравнения
- Источник пара (горячая вода) для тестирования влажности
- Лед для демонстрации изменения температуры
- Фен или лампа для нагрева
- Осциллограф для демонстрации цифровых сигналов
Программное обеспечение:
- Arduino IDE с установленными библиотеками:
- DHT sensor library by Adafruit
- Adafruit Unified Sensor library
- Примеры кода для различных режимов работы
Дополнительные компоненты (для продвинутых экспериментов):
- RGB светодиод для цветовой индикации
- Пьезобузер для звуковых уведомлений
- Кнопки для переключения режимов
- LCD дисплей для отображения данных
- SD карта модуль для записи истории
🔍 Методические заметки для учителя
Подготовка к уроку:
- Тестирование датчиков: Проверить все DHT22 на работоспособность
- Подготовка схем: Создать крупные схемы подключения для демонстрации
- Библиотеки: Убедиться, что все необходимые библиотеки установлены
- Эталонные измерения: Подготовить точные термометры для сравнения
Возможные сложности:
Проблема: DHT22 дает нестабильные показания или NaN Решение: Проверить подтягивающий резистор, качество соединений, интервал опроса
Проблема: Путаница в пинах и полярности DHT22
Решение: Создать крупную схему распиновки, использовать цветовое кодирование
Проблема: Сложность понимания цифровых протоколов Решение: Больше аналогий с реальной жизнью, интерактивные демонстрации
Безопасность:
- Контроль правильности подключения питания
- Проверка отсутствия коротких замыканий
- Осторожность при работе с горячей водой для демонстраций
- Правильное обращение с хрупкими датчиками
Дифференциация обучения:
- Для продвинутых: изучение других датчиков, создание сложных алгоритмов анализа
- Для начинающих: готовые схемы подключения, упрощенные программы
- Для визуалов: схемы, диаграммы протоколов, графики данных
- Для кинестетиков: физические эксперименты с температурой и влажностью
Связь с реальным миром:
- Применение в системах климат-контроля
- Использование в сельском хозяйстве (теплицы)
- Метеорологические станции
- Умные дома и IoT системы
Межпредметные связи:
- География: климат, погода, метеорология
- Физика: температура, влажность, теплообмен
- Биология: влияние климата на организмы
- Математика: анализ данных, статистика, графики