# Презентация: AHT20 + BMP280 — метеостанция на I2C

## Слайд 1: Цель проекта
Собрать компактный модуль для измерения параметров воздуха: температуры, влажности, атмосферного давления и оценочной высоты над уровнем моря — двумя независимыми цифровыми датчиками на одной шине I2C.

## Слайд 2: Используемые компоненты
- **ESP32** — читает оба датчика по I2C и выводит показания в Serial.
- **AHT20** — цифровой датчик влажности и температуры (Aosong).
- **BMP280** — цифровой датчик давления и температуры (Bosch Sensortec).

## Слайд 3: Один физический модуль — два независимых датчика
1. **Экономия пинов:** оба датчика используют одни и те же 2 линии (SDA/SCL), различаются только адресом на шине (`0x38` и `0x76`/`0x77`).
2. **Независимость:** каждый датчик — отдельный класс-драйвер (`Aht20Driver`, `Bmp280Driver`), который можно взять и использовать в другом проекте без второго.
3. **Два источника температуры:** оба чипа измеряют температуру независимо — расхождение между ними полезно как быстрая проверка на неисправность одного из датчиков.

## Слайд 4: Программная архитектура
- Один класс-драйвер на чип, с общим для репозитория API: `begin()` / `update()` / `getData()` / `isAlive()`.
- `isAlive()` — вотчдог связи: если датчик перестал отвечать (обрыв провода, отвалившийся модуль), это сразу видно в диагностике, а не тихо зависает в старых данных.
- `src/main.cpp` — тестовый стенд: опрашивает оба датчика раз в 2 секунды и печатает показания и статус связи в Serial.

## Слайд 5: Результаты
- Стабильное чтение обоих датчиков на одной шине I2C.
- Расчёт высоты по барометрической формуле (с оговоркой про давление на уровне моря — см. [THEORY.md](THEORY.md)).
- Собирается под esp32dev и esp32s3; esp32c6 упирается в известный баг Arduino-ядра с макросом `Serial`/`USBSerial`, см. [COMPONENT_STANDARD.md](../../../COMPONENT_STANDARD.md).
