Обладнання (Ulanzi TC001)
Апаратна довідка годинника Ulanzi TC001 — платформи, на якій працює SVITRIX.
Мікроконтролер
- Чіп: ESP32-WROOM-32D (двоядерний Xtensa LX6, 240 МГц)
- Flash: 8 МБ
- RAM: 520 КБ SRAM
- WiFi: 2.4 ГГц 802.11 b/g/n
- Bluetooth: BT 4.2 + BLE (не використовується SVITRIX)
- USB-Serial: CH340 — дозволяє програмувати через USB без зовнішнього програматора
Розпіновка
| GPIO | Функція | Напрямок | Примітки |
|---|---|---|---|
| 32 | LED матриця (WS2812B-Mini) | Вихід | Лінія даних NeoPixel, 256 світлодіодів |
| 34 | АЦП напруги батареї | Вхід | ADC1_CH6, тільки вхід, дільник напруги до 0–3.3 В |
| 35 | LDR датчик освітлення (GL5516) | Вхід | ADC1_CH7, тільки вхід |
| 26 | Ліва кнопка | Вхід | Активний LOW, внутрішній pull-up |
| 27 | Середня кнопка (Select) | Вхід | Активний LOW, внутрішній pull-up, пін пробудження з deep sleep |
| 14 | Права кнопка | Вхід | Активний LOW, внутрішній pull-up |
| 13 | Кнопка скидання (прихована) | Вхід | 5с утримання → скидання до заводських |
| 15 | Зумер (пасивний п'єзо) | Вихід | PWM через LEDC. Потрібен INPUT_PULLDOWN при ініціалізації, щоб уникнути шуму |
| 21 | I2C SDA | Двонаправлений | Спільна шина: датчик температури + RTC |
| 22 | I2C SCL | Вихід | Спільна шина: датчик температури + RTC |
I2C пристрої
| Пристрій | Адреса | Функція |
|---|---|---|
| SHT3x (SHT31) | 0x44 | Датчик температури + вологості |
| DS1307 | 0x68 | Годинник реального часу (RTC) |
Датчик температури
Ulanzi TC001 поставляється з датчиком SHT3x (адреса I2C 0x44), який вимірює температуру та вологість. Показники температури можуть бути завищені через внутрішнє тепло від LED матриці, ESP32 та батареї в герметичному корпусі. Для компенсації налаштуйте зміщення через веб-інтерфейс (Apps → Температура → Компенсація) або ключем temp_offset у dev.json.
Годинник реального часу (DS1307)
Ulanzi TC001 має виділений RTC DS1307 на шині I2C за адресою 0x68. Вбудований RTC ESP32 недостатньо точний для відстеження реального часу. SVITRIX наразі використовує NTP для синхронізації часу через WiFi.
Батарея
- Ємність: 4400 мАг Li-ion із вбудованою схемою зарядки
- Вимірювання напруги: GPIO34 з дільником напруги, масштабованим до 0–3.3 В
- Маппінг АЦП: сирі значення ~510 (розряджена) до ~660 (повна)
LED матриця
- Тип: WS2812B-Mini RGB світлодіоди
- Розмір: 8×32 (256 світлодіодів)
- Пін даних: GPIO32 (одножильний, послідовне з'єднання)
- Розводка: Зигзагоподібна — парні рядки зліва направо, непарні — справа наліво:
| Рядок | Послідовність |
|---|---|
| 1 | [001] → [002] → ... → [032] |
| 2 | [064] ← [063] ← ... ← [033] |
| 3 | [065] → [066] → ... → [096] |
| 4 | [128] ← [127] ← ... ← [097] |
| 5 | [129] → [130] → ... → [160] |
| 6 | [192] ← [191] ← ... ← [161] |
| 7 | [193] → [194] → ... → [224] |
| 8 | [256] ← [255] ← ... ← [225] |
Тип матриці
Якщо матриця відображає безглузді символи, потрібно змінити тип матриці.
Створіть файл dev.json у файловому менеджері з наступним вмістом:
{
"matrix": 2
}| Значення | Конфігурація |
|---|---|
| 0 | Одна матриця 32x8, зигзагоподібна розводка (за замовчуванням) |
| 2 | Одна матриця 32x8, column-major, зигзагоподібна |