Саморобне обладнання
Якщо ви хочете зібрати власний SVITRIX, ось апаратна довідка годинника Ulanzi TC001.
Мікроконтролер
- Чіп: 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) |
Підтримувані датчики температури
SVITRIX автоматично визначає наступні датчики при запуску (у цьому порядку):
- BME280 (температура + вологість + тиск)
- BMP280 (температура + тиск)
- HTU21DF (температура + вологість)
- SHT31 (температура + вологість) — встановлений в Ulanzi TC001
Ulanzi TC001 поставляється з датчиком SHT3x. Показники температури можуть бути завищені через внутрішнє тепло від LED матриці, ESP32 та батареї в герметичному корпусі. Використовуйте 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 у файловому менеджері з наступним вмістом:
json
{
"matrix": 2
}| Значення | Конфігурація |
|---|---|
| 0 | Одна матриця 32x8, зигзагоподібна розводка (за замовчуванням) |
| 1 | Чотири панелі 8x8 (4x1), послідовна |
| 2 | Одна матриця 32x8, column-major, зигзагоподібна |