Illuminate Your Innovations! 💡
The 1 Channel Arduino Light Dimmer is a versatile module designed for controlling AC voltage in various applications, from smart home lighting to DIY projects. With compatibility across multiple platforms and a robust design, it offers a safe and effective solution for both hobbyists and professionals.
D**.
Does not work as a dimmer
UPDATEDThe documentation on this product is very poor. The sketch provided by the manufacturer does not work. That being said, with the following sketch I found elsewhere on the internet:/*AC Voltage dimmer with Zero cross detectionAuthor: Charith Fernanado <a href="http://www.inmojo.com"> http://www.inmojo.com</a>Adapted by DIY_blokeLicense: Creative Commons Attribution Share-Alike 3.0 License.Attach the Zero cross pin of the module to Arduino External Interrupt pinSelect the correct Interrupt # from the below table(the Pin numbers are digital pins, NOT physical pins:digital pin 2 [INT0]=physical pin 4 and digital pin 3 [INT1]= physical pin 5)check: <a href="http://arduino.cc/en/Reference/attachInterrupt"> http://www.inmojo.com</a>Pin | Interrrupt # | Arduino Platform---------------------------------------2 | 0 | All -But it is INT1 on the Leonardo3 | 1 | All -But it is INT0 on the Leonardo18 | 5 | Arduino Mega Only19 | 4 | Arduino Mega Only20 | 3 | Arduino Mega Only21 | 2 | Arduino Mega Only0 | 0 | Leonardo1 | 3 | Leonardo7 | 4 | LeonardoThe Arduino Due has no standard interrupt pins as an iterrupt can be attached to almosty any pin.In the program pin 2 is chosen*/int AC_LOAD = 3; // Output to Opto Triac pinunsigned char dimming = 128; // Dimming level (0-128) 0 = ON, 128 = OFFvoid setup(){pinMode(AC_LOAD, OUTPUT);// Set AC Load pin as outputattachInterrupt(0, zero_crosss_int, RISING); // Choose the zero cross interrupt # from the table above}//the interrupt function must take no parameters and return nothingvoid zero_crosss_int() //function to be fired at the zero crossing to dim the light{// Firing angle calculation : 1 full 50Hz wave =1/50=20ms// Every zerocrossing thus: (50Hz)-> 10ms (1/2 Cycle)// For 60Hz => 8.33ms (10.000/120)// 10ms=10000us// (10000us - 10us) / 128 = 75 (Approx) For 60Hz =>65int dimtime = (65*(int)dimming); // For 60Hz =>65delayMicroseconds(dimtime); // Wait till firing the TRIACdigitalWrite(AC_LOAD, HIGH); // Fire the TRIasdf;lkjdidimv2delayMicroseconds(10); // triac On propogation delay// (for 60Hz use 8.33) Some Triacs need a longer perioddigitalWrite(AC_LOAD, LOW); // No longer trigger the TRIAC (the next zero crossing will swith it off) TRIAC}void loop() {for (int i=5; i <= 126; i++){dimming=i;delay(10);}}It works perfectly.
P**V
Doesn't work. Neither sellers convoluted sketch, nor a ...
The sketch provided by the seller doesn't work.Hardware works fine (PWM pin is really the gate of the TRIAC).
R**B
It's an optically isolated TRIAC with zero-crossing detector circuitry.
Works as expected. It's an optically isolated TRIAC with zero-crossing detector circuitry. Simple but functional.The thing to remember is that a TRIAC only turns off at the zero-crossing even after the "PWM" signal has been removed. So if you want to use it as a dimmer, then you need to enable (active high) "PWM" somewhere inside the AC waveform and release on the ZC signal going high. I'm using mine as a switch so I'm using the ZC signal to enable close to 0V on AC.A note about the ZC output: This is just a pull-up to VCC that is pulled down by AC action on the other side of an opto-isolator. Since there has to be a large current-limiting resistor on the AC side, the signal is rather wide (I measured ~1ms at 115VAC). So, about 500us after the signal goes high should get you really close to 0V if needed.
B**N
Nice design if you write your own code
Yes, it is a very simple pair of circuits but it is well put-together and appears to use solid components. I like that the board is physical split into high voltage and low voltage sections.I didn't even bother trying the manufacturer's sketch; I wrote my own Arduino code and managed to get decent dimming out of a non-dimmable LED bulb (you can't use the default duty cycle for these, which is why incandescent dimmers don't work.)As the description states, it works with 5V logic levels; I am using an Arduino to drive it. The ZC pulse is about 1ms at the normal 1.5v trigger level used by Arduino so it's pretty wide but stable enough that you can interpolate from the rising edge yourself in software to tighten the range significantly.
I**1
Needs better documentation
Several Arduino compatible boards could compile the code, and on Uno and Mega the examples compiled but the module was not responsive. I attempted multiple coding examples, followed a few YouTube videos with no luck. There was not enough information in the supplied docs to determine the correct interface my self; I attempted native pwm with no positive result.
A**E
Excellent Product
Very well designed product. Very useful if you want to build your own dimmer.
Trustpilot
2 weeks ago
1 week ago