← Быстрый старт | Содержание | Далее: Обмен данными по UART →
Подключение оборудования
Схемы подключения DimmerLink к популярным микроконтроллерам и одноплатным компьютерам.
Разъёмы DimmerLink
Входной разъём (к вашему проекту)
| Пин | Функция | Описание |
|---|---|---|
| VCC | Питание | 1.8V, 3.3V или 5V DC |
| GND | Земля | Общая земля |
| TX/SDA | Данные | UART TX или I2C SDA |
| RX/SCL | Тактирование | UART RX или I2C SCL |
Выходной разъём (к модулю диммера)
| Пин | Функция | Описание |
|---|---|---|
| VCC | Питание | Совпадает с входным |
| GND | Земля | Общая земля |
| Z-C | Переход через ноль | Сигнал перехода через ноль |
| Dim | Управление | Сигнал управления TRIAC |
Совместимость
DimmerLink поддерживает широкий диапазон напряжений питания и логических уровней:
| Напряжение | Питание VCC | Логические уровни |
|---|---|---|
| 1.8V | ✓ | ✓ |
| 3.3V | ✓ | ✓ |
| 5.0V | ✓ | ✓ |
✅ Прямое подключение к любому микроконтроллеру без преобразователей уровней!
Общая схема подключения

┌─────────────────┐ ┌──────────────────┐ ┌─────────┐ ┌──────┐
│ Your Project │ │ DimmerLink │ │ Dimmer │ │ Lamp │
│ (Arduino/RPi) │◄────►│ │◄────►│ (TRIAC) │◄────►│ │
└─────────────────┘ └──────────────────┘ └─────────┘ └──────┘
UART/I2C AC 220V
Поддерживаемые платформы
DimmerLink работает с любым микроконтроллером, имеющим интерфейс UART или I2C.
| Платформа | UART | I2C | Логический уровень | Подключение |
|---|---|---|---|---|
| Arduino Uno/Nano | ✓ | ✓ | 5V | Напрямую |
| Arduino Mega | ✓ | ✓ | 5V | Напрямую |
| Arduino Due | ✓ | ✓ | 3.3V | Напрямую |
| ESP8266 | ✓ | ✓ | 3.3V | Напрямую |
| ESP32 | ✓ | ✓ | 3.3V | Напрямую |
| STM32 Blue Pill | ✓ | ✓ | 3.3V | Напрямую |
| Raspberry Pi Pico | ✓ | ✓ | 3.3V | Напрямую |
| Raspberry Pi 3/4/5 | ✓ | ✓ | 3.3V | Напрямую |
| Orange Pi | ✓ | ✓ | 3.3V | Напрямую |
| Banana Pi | ✓ | ✓ | 3.3V | Напрямую |
| ATtiny, nRF52, MSP430 | ✓ | ✓ | 1.8V | Напрямую |
Любой контроллер с UART или I2C подключается напрямую!
Подключение по I2C
Требования
- Подтягивающие резисторы: Многие контроллеры уже имеют встроенные подтяжки I2C. Добавьте резисторы 4.7 кОм на линии SDA и SCL к VCC
- Скорость: 100 кГц (Standard Mode)
- Адрес: 0x50
Схема подключения I2C
VCC (your board)
│
┌────┴────┐
4.7kΩ 4.7kΩ
│ │
┌───────────┐ │ │ ┌──────────────────┐
│ │ │ │ │ DimmerLink │
│ Your │───┴─────────│───│ SDA │
│ Project │ │ │ │
│ SDA │─────────────┴───│ SCL │
│ SCL │ │ │
│ GND │─────────────────│ GND │
│ VCC │─────────────────│ VCC │
└───────────┘ └──────────────────┘
Подключение диммера
| DimmerLink | Диммер | Описание |
|---|---|---|
| VCC | VCC | Питание (такое же, как от MCU) |
| GND | GND | Общая земля |
| Z-C | Z-C (Zero Cross) | Сигнал перехода через ноль |
| Dim | DIM / PWM / Gate | Сигнал управления TRIAC |
Arduino Uno / Nano
Подключение по I2C
| Arduino | DimmerLink |
|---|---|
| A4 (SDA) | SDA |
| A5 (SCL) | SCL |
| GND | GND |
| 5V | VCC |
Подключение по UART
| Arduino | DimmerLink |
|---|---|
| TX (1) или SoftwareSerial | RX |
| RX (0) или SoftwareSerial | TX |
| GND | GND |
| 5V | VCC |
📝 Примечание: На Arduino Uno пины 0/1 используются для USB. Рекомендуется использовать SoftwareSerial.
#include
SoftwareSerial dimmerSerial(10, 11); // RX, TX
void setup() {
dimmerSerial.begin(115200);
}
Arduino Mega
Подключение по I2C
| Arduino Mega | DimmerLink |
|---|---|
| 20 (SDA) | SDA |
| 21 (SCL) | SCL |
| GND | GND |
| 5V | VCC |
Подключение по UART
| Arduino Mega | DimmerLink |
|---|---|
| TX1 (18) | RX |
| RX1 (19) | TX |
| GND | GND |
| 5V | VCC |
Arduino Mega имеет 4 аппаратных UART (Serial, Serial1, Serial2, Serial3).
ESP8266 (NodeMCU, Wemos D1)
Подключение по I2C
| ESP8266 | DimmerLink |
|---|---|
| D2 (GPIO4) | SDA |
| D1 (GPIO5) | SCL |
| GND | GND |
| 3.3V | VCC |
Подключение по UART
| ESP8266 | DimmerLink |
|---|---|
| TX (GPIO1) | RX |
| RX (GPIO3) | TX |
| GND | GND |
| 3.3V | VCC |
📝 Note: GPIO1/GPIO3 are used for USB. Alternatives:
- UseSerial.swap()to remap to GPIO15/GPIO13
- Or use I2C instead of UART
ESP32
Подключение по I2C
| ESP32 | DimmerLink |
|---|---|
| GPIO21 | SDA |
| GPIO22 | SCL |
| GND | GND |
| 3.3V | VCC |
Пины I2C можно переназначить:
Wire.begin(SDA_PIN, SCL_PIN);
Подключение по UART
| ESP32 | DimmerLink |
|---|---|
| GPIO17 (TX2) | RX |
| GPIO16 (RX2) | TX |
| GND | GND |
| 3.3V | VCC |
ESP32 имеет 3 аппаратных UART (Serial, Serial1, Serial2).
STM32 Blue Pill
Подключение по I2C
| STM32 | DimmerLink |
|---|---|
| PB7 (I2C1 SDA) | SDA |
| PB6 (I2C1 SCL) | SCL |
| GND | GND |
| 3.3V | VCC |
Подключение по UART
| STM32 | DimmerLink |
|---|---|
| PA9 (USART1 TX) | RX |
| PA10 (USART1 RX) | TX |
| GND | GND |
| 3.3V | VCC |
Raspberry Pi Pico
Подключение по I2C
| Pico | DimmerLink |
|---|---|
| GP4 (I2C0 SDA) | SDA |
| GP5 (I2C0 SCL) | SCL |
| GND | GND |
| 3V3 | VCC |
Подключение по UART
| Pico | DimmerLink |
|---|---|
| GP0 (UART0 TX) | RX |
| GP1 (UART0 RX) | TX |
| GND | GND |
| 3V3 | VCC |
Raspberry Pi 3/4/5
Подключение по I2C
| Raspberry Pi | DimmerLink |
|---|---|
| GPIO2 (Pin 3) | SDA |
| GPIO3 (Pin 5) | SCL |
| GND (Pin 6) | GND |
| 3.3V (Pin 1) | VCC |
Включение I2C:
sudo raspi-config
# Interface Options → I2C → Enable
Подключение по UART
| Raspberry Pi | DimmerLink |
|---|---|
| GPIO14 (Pin 8) | RX |
| GPIO15 (Pin 10) | TX |
| GND (Pin 6) | GND |
| 3.3V (Pin 1) | VCC |
Включение UART:
sudo raspi-config
# Interface Options → Serial Port → Enable
Orange Pi / Banana Pi
Подключение аналогично Raspberry Pi, но номера GPIO могут отличаться.
Orange Pi (например, Orange Pi Zero)
⚠️ Warning: GPIO pinout differs between models! Check your specific board's documentation.
General principle:
1. Find I2C pins in your board's documentation
2. Connect SDA → SDA, SCL → SCL
3. Add 4.7kΩ pull-up resistors
| Orange Pi | DimmerLink |
|---|---|
| PA12 (TWI0-SDA) | SDA |
| PA11 (TWI0-SCL) | SCL |
| GND | GND |
| 3.3V | VCC |
Banana Pi (например, Banana Pi M2)
| Banana Pi | DimmerLink |
|---|---|
| GPIO2 (Pin 3) | SDA |
| GPIO3 (Pin 5) | SCL |
| GND | GND |
| 3.3V | VCC |
📝 Примечание: Сверьтесь с документацией вашей конкретной модели Orange Pi / Banana Pi.
Подтягивающие резисторы I2C
Для надёжной работы I2C необходимы подтягивающие резисторы.
Когда нужны внешние подтягивающие резисторы
| Плата | Встроенные подтяжки | Рекомендация |
|---|---|---|
| Arduino | Слабые (~50 кОм) | Работает на коротких проводах, но рекомендуется 4.7 кОм |
| ESP8266/ESP32 | Слабые | Добавьте внешние 4.7 кОм |
| Raspberry Pi | Есть 1.8 кОм | Обычно достаточно |
| STM32 | Нет | Необходимо добавить внешние |
Расчёт номинала
- Короткие провода (< 10 см): 4.7 кОм – 10 кОм
- Средние провода (10–50 см): 2.2 кОм – 4.7 кОм
- Длинные провода (> 50 см): 1 кОм – 2.2 кОм (не рекомендуется)
Рекомендации по монтажу
- Используйте короткие провода — I2C чувствителен к длине линии, длина проводов не должна превышать 30 см
- Экранирование — Для длинных линий используйте экранированный кабель
- Отдельное питание — Используйте отдельный источник питания для DimmerLink, если основное питание нестабильно
- Развязка — Добавьте конденсатор 100 нФ между VCC и GND рядом с DimmerLink
Подключение к другим контроллерам
DimmerLink работает с любым микроконтроллером, имеющим UART или I2C:
- PIC: Подключение к MSSP (I2C) или EUSART (UART)
- AVR (ATmega, ATtiny): TWI для I2C, USART для UART
- MSP430: модули eUSCI
- nRF52: периферия TWIM/UARTE
- RISC-V (ESP32-C3, GD32VF103): стандартные I2C/UART
General principle:
1. Find I2C/UART pins in documentation
2. Connect according to tables above
3. Add pull-ups for I2C
4. Done!
← Быстрый старт | Содержание | Далее: Обмен данными по UART →