Help controlling LED lights with 4 Channel Robodyn Light Dimmer

When I control the power of one light it works fine, but when I use two they flicker. I'm not very good at coding, so I was hoping someone could help. I tried making more of the class that controls the brightness, but it doesn't work.

This is the light dimmer:
https://robotdyn.com/din-ac-dimmer-module-4channes.html

My code:

/**************

  • RobotDyn
  • Dimmer Library

  • The following sketch is meant to define the dimming value through the serial port of the controller,
  • using USE_SERIAL.begin
  • void printSpace() function is used for adding of space after functional data
  • void loop() serial port evaluator, used to register and define values in dimmer.setPower(outVal);
  • ---------------------- OUTPUT & INPUT Pin table ---------------------
  • +---------------+-------------------------+-------------------------+
  • | Board | INPUT Pin | OUTPUT Pin |
  • | | Zero-Cross | |
  • +---------------+-------------------------+-------------------------+
  • | Lenardo | D7 (NOT CHANGABLE) | D0-D6, D8-D13 |
  • +---------------+-------------------------+-------------------------+
  • | Mega | D2 (NOT CHANGABLE) | D0-D1, D3-D70 |
  • +---------------+-------------------------+-------------------------+
  • | Uno | D2 (NOT CHANGABLE) | D0-D1, D3-D20 |
  • +---------------+-------------------------+-------------------------+
  • | ESP8266 | D1(IO5), D2(IO4), | D0(IO16), D1(IO5), |
  • | | D5(IO14), D6(IO12), | D2(IO4), D5(IO14), |
  • | | D7(IO13), D8(IO15), | D6(IO12), D7(IO13), |
  • | | | D8(IO15) |
  • +---------------+-------------------------+-------------------------+
  • | ESP32 | 4(GPI36), 6(GPI34), | 8(GPO32), 9(GP033), |
  • | | 5(GPI39), 7(GPI35), | 10(GPIO25), 11(GPIO26), |
  • | | 8(GPO32), 9(GP033), | 12(GPIO27), 13(GPIO14), |
  • | | 10(GPI025), 11(GPIO26), | 14(GPIO12), 16(GPIO13), |
  • | | 12(GPIO27), 13(GPIO14), | 23(GPIO15), 24(GPIO2), |
  • | | 14(GPIO12), 16(GPIO13), | 25(GPIO0), 26(GPIO4), |
  • | | 21(GPIO7), 23(GPIO15), | 27(GPIO16), 28(GPIO17), |
  • | | 24(GPIO2), 25(GPIO0), | 29(GPIO5), 30(GPIO18), |
  • | | 26(GPIO4), 27(GPIO16), | 31(GPIO19), 33(GPIO21), |
  • | | 28(GPIO17), 29(GPIO5), | 34(GPIO3), 35(GPIO1), |
  • | | 30(GPIO18), 31(GPIO19), | 36(GPIO22), 37(GPIO23), |
  • | | 33(GPIO21), 35(GPIO1), | |
  • | | 36(GPIO22), 37(GPIO23), | |
  • +---------------+-------------------------+-------------------------+
  • | Arduino M0 | D7 (NOT CHANGABLE) | D0-D6, D8-D13 |
  • | Arduino Zero | | |
  • +---------------+-------------------------+-------------------------+
  • | Arduino Due | D0-D53 | D0-D53 |
  • +---------------+-------------------------+-------------------------+
  • | STM32 | PA0-PA15,PB0-PB15 | PA0-PA15,PB0-PB15 |
  • | Black Pill | PC13-PC15 | PC13-PC15 |
  • | BluePill | | |
  • | Etc... | | |
  • +---------------+-------------------------+-------------------------+
    */

#include "RBDdimmer.h"

//#define USE_SERIAL SerialUSB //Serial for boards whith USB serial port
#define USE_SERIAL Serial
#define outputPin 3
#define outputPin2 4
#define outputPin3 5
#define outputPin4 6
#define outputPin5 7
#define outputPin6 8
#define outputPin7 9
#define outputPin8 10
#define outputPin9 11
#define zerocross 2 // for boards with CHANGEBLE input pins

//dimmerLamp dimmer(outputPin, zerocross); //initialase port for dimmer for ESP8266, ESP32, Arduino due boards
dimmerLamp dimmer(outputPin); //initialase port for dimmer for MEGA, Leonardo, UNO, Arduino M0, Arduino Zero
dimmerLamp dimmer2(outputPin2);
dimmerLamp dimmer3(outputPin3);
dimmerLamp dimmer4(outputPin4);
dimmerLamp dimmer5(outputPin5);
dimmerLamp dimmer6(outputPin6);
dimmerLamp dimmer7(outputPin7);
dimmerLamp dimmer8(outputPin8);
dimmerLamp dimmer9(outputPin9);

int outVal = 0;

void setup() {
USE_SERIAL.begin(9600);
dimmer.begin(NORMAL_MODE, ON); //dimmer initialisation: name.begin(MODE, STATE)
dimmer2.begin(NORMAL_MODE, ON);
dimmer3.begin(NORMAL_MODE, ON);
dimmer4.begin(NORMAL_MODE, ON);
dimmer5.begin(NORMAL_MODE, ON);
dimmer6.begin(NORMAL_MODE, ON);
dimmer7.begin(NORMAL_MODE, ON);
dimmer8.begin(NORMAL_MODE, ON);
dimmer9.begin(NORMAL_MODE, ON);
USE_SERIAL.println("Dimmer Program is starting...");
USE_SERIAL.println("Set value");
}

void printSpace(int val)
{
if ((val / 100) == 0) USE_SERIAL.print(" ");
if ((val / 10) == 0) USE_SERIAL.print(" ");
}

void loop() {

dimmer.setPower(40); // setPower(0-100%);
dimmer2.setPower(50);
dimmer3.setPower(50);
dimmer4.setPower(1);
dimmer5.setPower(1);
dimmer6.setPower(1);
dimmer7.setPower(1);
dimmer8.setPower(1);
dimmer9.setPower(1);

}

Original Code:

#include "RBDdimmer.h"

//#define USE_SERIAL SerialUSB //Serial for boards whith USB serial port
#define USE_SERIAL Serial
#define outputPin 3
#define zerocross 2 // for boards with CHANGEBLE input pins

//dimmerLamp dimmer(outputPin, zerocross); //initialase port for dimmer for ESP8266, ESP32, Arduino due boards
dimmerLamp dimmer(outputPin);//initialase port for dimmer for MEGA, Leonardo, UNO, Arduino M0, Arduino Zero

int outVal = 0;

void setup() {
USE_SERIAL.begin(9600);
dimmer.begin(NORMAL_MODE, ON); //dimmer initialisation: name.begin(MODE, STATE)
USE_SERIAL.println("Dimmer Program is starting...");
USE_SERIAL.println("Set value");
}

void printSpace(int val)
{
if ((val / 100) == 0) USE_SERIAL.print(" ");
if ((val / 10) == 0) USE_SERIAL.print(" ");
}

void loop() {
int preVal = outVal;

if (USE_SERIAL.available())
{
int buf = USE_SERIAL.parseInt();
if (buf != 0) outVal = buf;
delay(200);
}
dimmer.setPower(outVal); // setPower(0-100%);

if (preVal != outVal)
{
USE_SERIAL.print("lampValue -> ");
printSpace(dimmer.getPower());
USE_SERIAL.print(outVal);
USE_SERIAL.println("%");

}
delay(50);

}

Here is the library: GitHub - RobotDynOfficial/RBDDimmer: The following library is used for work with dimmer, it gives ability to control large ammoun of dimmer. This lib uses with Leonardo, Mega, UNO, ESP8266, ESP32, Arduino M0, Arduino Zero, Arduino Due, STM32.

Please post the code correctly… CODE TAGS

At first glance, I’d guess your lights are flickering because you keep,re-setting them repeatedly in loop… Why?

but when I do a single one it doesn't flicker

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.