Skip to main content

ЦИФРОВОЙ ТЕРМОМЕТР 🌡️

БАЗОВАЯ РЕАЛИЗАЦИЯ

Логика работы:

Читаем температуру с DHT11 каждые 2 секунды
Выводим на дисплей: "Temp: 23.5°C"
Если температура > 30°C → мигаем светодиодом
Если температура < 10°C → выводим "COLD!"

Компоненты:

  • ✅ Датчик DHT11 (или DHT22 для большей точности)
  • ✅ LCD дисплей 16x2 (I2C)
  • ✅ Светодиод красный
  • ✅ Резистор 220 Ом
  • ✅ Arduino Uno + макетка + провода

Схема подключения:

DHT11:
  VCC → 5V
  GND → GND  
  DATA → pin 2

LCD 16x2 (I2C):
  VCC → 5V
  GND → GND
  SDA → A4
  SCL → A5

Светодиод:
  + → pin 3 → резистор 220Ом → GND

ЛОГИКА РАБОТЫ 🔄

Псевдокод для обсуждения:

// ИНИЦИАЛИЗАЦИЯ:
подключаем библиотеки DHT и LiquidCrystal_I2C
инициализируем датчик и дисплей
устанавливаем пороги: ХОЛОДНО = 10, ЖАРКО = 30

// ОСНОВНОЙ ЦИКЛ:
если (прошло > 2 секунды с последнего измерения):
  читаем температуру с DHT11
  
  очищаем дисплей
  выводим "Temp: X.X°C" с одним знаком после запятой
  
  если (температура > ЖАРКО):
    включаем мигание светодиода
    выводим на второй строке "HOT!"
    
  иначе если (температура < ХОЛОДНО):
    выводим на второй строке "COLD!"
    
  иначе:
    выводим на второй строке "NORMAL"
    выключаем светодиод

УСЛОЖНЕНИЯ И ВАРИАЦИИ 🎛️

1. История измерений:

Добавляем кнопку для просмотра статистики:
- Мин/макс температура за сутки
- Средняя температура
- График изменения (символьный)

2. Влажность и комфорт:

DHT11 также измеряет влажность!
Выводим: "Temp: 23.5°C Hum: 45%"
Рассчитываем "точку росы" или "индекс комфорта"

3. Удаленный мониторинг:

Добавляем Bluetooth/WiFi модуль
Отправляем данные на телефон/компьютер
Ведем лог измерений в файл

ОЛИМПИАДНАЯ СВЯЗЬ 🏆

Прямые параллели с заданиями:

  • Система контроля стаканов - вывод статистики на дисплей
  • Визуализатор битовых операций - отображение двоичных чисел
  • Любое задание с дисплеем - форматирование текста и чисел

Критерии успеха в олимпиаде:

  • Четкий вывод информации - понятно даже без объяснений
  • Стабильная работа с периферией - нет “зависаний” дисплея
  • Обработка ошибок - что делать, если датчик не отвечает?
  • Оптимальное обновление - не слишком часто/редко

Типичные ошибки новичков:

  • Слишком частое обновление - дисплей мерцает, датчик не успевает
  • Нет обработки ошибок - программа падает, если датчик отключился
  • Кривой вывод - числа “прыгают”, текст не выравнен
  • Забывают инициализацию - дисплей не работает без setup()

МЕТОДИЧЕСКИЕ СОВЕТЫ 👨‍🏫

Поэтапное изучение:

// ЭТАП 1: Только датчик + Serial
Serial.print("Temperature: ");
Serial.println(t);

// ЭТАП 2: Только дисплей (статичный текст)
lcd.print("Hello World!");

// ЭТАП 3: Датчик + дисплей
lcd.print("Temp: ");
lcd.print(t);

// ЭТАП 4: Красивое форматирование
lcd.print("Temp: ");
lcd.print(t, 1); // один знак после запятой
lcd.print("C");

Визуализация для понимания:

🌡️  Датчик: DHT11 → Цифровой сигнал → Arduino
📟  Arduino → I2C протокол → LCD дисплей
👀  Пользователь видит: "Temp: 23.5°C"

Практические упражнения:

Упражнение 1: “Диагностика связи”

  • Что делать, если дисплей не включается?
  • Как проверить, работает ли датчик?
  • Где искать ошибки в подключении?

Упражнение 2: “Форматирование мастер”

  • Вывести температуру с ровным выравниванием
  • Создать “прогресс-бар” из символов для температуры
  • Чередовать показ температуры и влажности

Упражнение 3: “Система оповещений”

  • Добавить звуковую сигнализацию при критичных значениях
  • Сделать “ночной режим” с отключением дисплея
  • Реализовать историю измерений с кнопкой просмотра

Диагностика проблем:

  • Дисплей не работает → проверьте адрес I2C (обычно 0x27 или 0x3F)
  • Датчик выдает NaN → проверьте питание и подключение данных
  • Мерцание дисплея → уменьшите частоту обновления
  • Неверные показания → дайте датчику время на стабилизацию

Критерии оценки проекта:

  • 4 балла - стабильно показывает температуру и влажность
  • +2 балла - красивое форматирование вывода
  • +2 балла - система оповещений о критичных значениях
  • +2 балла - дополнительная функция (история/график)

РЕАЛЬНОЕ ПРИМЕНЕНИЕ 🏠

Где это используется:

  • Метеостанции - мониторинг температуры и влажности
  • Умные дома - климат-контроль
  • Теплицы - автоматическое управление микроклиматом
  • Медицина - хранение лекарств при определенной температуре

Протоколы в реальном мире:

  • I2C - используется в большинстве датчиков и дисплеев
  • SPI - для высокоскоростных устройств (SD карты, дисплеи)
  • 1-Wire - для простых датчиков (DHT11, DS18B20)