Se rendre au contenu

Sommaire | Suivant : Démarrage rapide →

DimmerLink — Documentation utilisateur

Contrôleur de variateur AC pour le réglage de la luminosité des lampes via TRIAC. Se connecte à votre projet (Arduino, ESP32, Raspberry Pi, etc.) et vous permet de piloter des variateurs AC avec des commandes simples.

diagram

Travailler avec DimmerLink, c'est simple.


Caractéristiques principales

SANS SCINTILLEMENT — Un Cortex-M+ dédié gère tous les timings critiques. Aucun délai logiciel, conflit d'interruption ou scintillement.

AUCUNE BIBLIOTHÈQUE REQUISE — Envoyez des commandes simples de 3–4 octets via UART ou I2C. Fonctionne avec n'importe quel langage de programmation. Littéralement 5 lignes de code.

COMPATIBILITÉ UNIVERSELLE — Arduino, ESP32, ESP8266, Raspberry Pi, STM32, tout MCU avec UART/I2C. Supporte les niveaux logiques 1.8V, 3.3V et 5V.

CONTRÔLE DE LUMINOSITÉ — Plage 0–100%

COURBES DE VARIATION — Linéaire, RMS (pour lampes à incandescence), Logarithmique. Détection automatique de la fréquence secteur 50/60 Hz.

DÉTECTION DU SECTEUR — Détection automatique de la fréquence secteur (50/60 Hz)

DOUBLE INTERFACE — UART (115200 8N1) ou I2C. Commutation par commande à tout moment.

ULTRA-COMPACT — Only 18×12mm. Standard 0.1" pins. Fits in any enclosure.

PLUG & PLAY — Connectez, alimentez, envoyez une commande. Variateur fonctionnel en 5 minutes.


Le problème que nous résolvons

Chaque maker connaît cette difficulté : vous ajoutez une bibliothèque de variateur AC à votre projet, et soudain vos lampes se mettent à scintiller, les timings déraillent, et vous passez des heures à déboguer des conflits d'interruption. DimmerLink élimine totalement ce problème en déportant toutes les opérations critiques en temps réel vers un microcontrôleur Cortex-M+ dédié.

Comment ça fonctionne

Connectez DimmerLink entre votre contrôleur (Arduino, ESP32, Raspberry Pi ou tout MCU) et un module variateur AC. Envoyez une commande de 3 octets comme SET 50% via UART ou écrivez une valeur dans un registre I2C. Le contrôleur gère la détection de passage par zéro, calcule l'angle de phase et pilote le TRIAC avec une précision à la microseconde. Pas de bibliothèques. Pas d'interruptions. Pas de conflits avec votre code.

Vous pouvez aussi connecter des modules de transmission à distance comme LoRa, GSM/GPRS, Bluetooth ou des ponts WiFi, ou simplement vous connecter à votre PC via des modules USB-UART comme CH340, CP2102/CP2104. Modules RS-232 industriels. Aucun code nécessaire, juste des commandes via le terminal.


Quelle interface choisir ?

Critère UART I2C
Simplicité de connexion 2 fils + alimentation 2 fils + alimentation
Vitesse 115200 bauds 100 kHz
Plusieurs appareils Non Oui (adresses différentes)
Fonctionne avec des ponts Oui (USB-UART, WiFi, LoRa) Limité
Recommandation Pour le contrôle à distance Pour le contrôle local

💡 Conseil : Nous recommandons I2C pour les débutants — code plus simple, structure plus claire.


Compatibilité

DimmerLink supporte les niveaux logiques 1.8V, 3.3V et 5V — connexion directe sans convertisseur de niveau !

Plateforme UART I2C Niveau logique
Arduino Uno/Nano 5V ✓
Arduino Mega 5V ✓
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 ✓

Ceci n'est qu'une liste de base — DimmerLink fonctionne avec tout microcontrôleur disposant d'un UART ou I2C !


Exemple rapide

Arduino + I2C — régler la luminosité à 50% :

cpp
#include 

void setup() {
    Wire.begin();

    // Set brightness to 50%
    Wire.beginTransmission(0x50);
    Wire.write(0x10);  // Brightness register
    Wire.write(50);    // 50%
    Wire.endTransmission();
}

void loop() {}

Python + UART :

python
import serial

ser = serial.Serial('/dev/ttyUSB0', 115200)
ser.write(bytes([0x02, 0x53, 0x00, 50]))  # SET dimmer 0 to 50%
response = ser.read(1)
print("OK" if response[0] == 0 else "Error")

Exemple avec terminal série :

plaintext
1. Port → select your COM port
2. Baud: 115200
3. Send → "Send Numbers" tab
4. Enter: 02 53 00 32 or 0x02 0x53 0x00 0x32 (HEX 32 is 50 in decimal)
5. Click "Send Numbers"

Exemples de code

Des exemples prêts à l'emploi se trouvent dans le dossier examples/ :

plaintext
examples/
├── arduino/
│   ├── uart_basic.ino
│   └── i2c_basic.ino
├── python/
│   ├── uart_example.py
│   └── i2c_example.py
└── micropython/
    ├── uart_example.py
    └── i2c_example.py

Support


Documentation Version: 1.0
Date: 2026-01

Sommaire | Suivant : Démarrage rapide →