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.




Sommaire

Section Description
Démarrage rapide Commencez ici — exemple minimal en 5 minutes
Connexion matérielle Schémas de câblage pour les cartes courantes
Interface UART Commandes et exemples pour UART
Interface I2C Registres et exemples pour I2C
Ordinateurs monocartes Raspberry Pi, Orange Pi, Banana Pi
Utilisation avancée USB-UART, LoRa, GSM, Bluetooth
FAQ et dépannage Questions fréquentes et solutions

DimmerLink




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 :

python
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/ :

python
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 →