MOSFET TRAILING EDGE AC LED LIGHT DIMMER for direct control


MOSFET TRAILING EDGE AC LED LIGHT DIMMER is a new light dimmers generation, which are based on the high voltage MOSFET transistors.
MOSFET TRAILING EDGE AC LED LIGHT DIMMERs are TRAILING EDGE dimmers (also called Reverse Phase dimmers).
MOSFET TRAILING EDGE AC LED LIGHT DIMMER has been designed specially for lighting controlling.
Dimmers are fully compatible with incandescent bulbs and DIMMABLE LED bulbs.
MOSFET Trailing Edge AC light dimmers are the best solution for the incandescent bulbs and DIMMABLE LED bulbs.
Trailing Edge light dimmers has stable dimming at any level without flickering.
MOSFET Trailing Edge AC light dimmers are compatible with all popular Arduino, Raspberry, ESP8266, ESP32, Adafruit boards and all microcontrollers.



Device specification:
PCB size 50mm x 90mm
Working voltage ~100...~120VAC for 60Hz
Working voltage ~200...~240VAC for 50Hz
Output power 500W
Module voltage 3.3V or 5.0V
Compatible for 50Hz and 60Hz AC Line
Dimming methods: PWM, PSM, Trailing and Leading edge
Stable work at any dimming level

ESP8266 FIRMWARE - github.com/krida0electronics/ARDUTEX/tree/master/1CH_ESP8266_TRAILING
ARDUINO UNO FIRMWARE - github.com/krida0electronics/ARDUTEX/tree/master/1CH_TRAILING

How it works video
https://www.youtube.com/watch?v=WmyExIviBP4
 
LOT include:
1x MOSFET Trailing Edge Dimmer for direct control



Smaple Code

#include <TimerOne.h>
#define GATE 3        // PORD.3 | D3 
#define FREQ 8330    // for 50HZ - 10000, for 60HZ - 8330
unsigned char i;
unsigned long int inByte, timer;
void setup() {
  pinMode(GATE, OUTPUT);
  attachInterrupt(0, Zero_Cross_interrupt, FALLING);    // zero-cross external interupt on INT0 | D2
  Timer1.attachInterrupt( timerIsr );
}

void Zero_Cross_interrupt() {
  delayMicroseconds(100); 
  digitalWrite(GATE, HIGH);
  timer = (inByte*FREQ)/255;
  Timer1.initialize(timer);    
}
void timerIsr() {
  digitalWrite(GATE, LOW);
  Timer1.stop();   
}
void loop() {
  for (i=0; i<250; i++) {inByte++; delay(100);}   // rising function
  for (i=250; i>0; i--) {inByte--; delay(100);}   // falling function
  inByte =0;
}