1

Topic: Пример кода для RGB круга

Если можно, приведите пример кода для RGB круга. В документации этот пункт отсутствует.

2

Re: Пример кода для RGB круга

Ниже пример кода.
Регулировка напряжения на светодиодах осуществляется по экспоненте.
Экспонента дает лучшее визуальное ощущение увеличения и уменьшения яркости.
Код из какого то старого проекта, для Arduino+ESP как точка доступа. Для примера.

////////////////////////////////////////////// 
//        RemoteXY include library          // 
//     use  library  version 2.2.5 or up    // 
//   use ANDROID app version 3.7.1 or up    // 
////////////////////////////////////////////// 

/* RemoteXY select connection mode and include library */ 
#define REMOTEXY_MODE__ESP8266POINT_HARDSERIAL

#include <RemoteXY.h> 

/* RemoteXY connection settings */ 
#define REMOTEXY_SERIAL Serial 
#define REMOTEXY_SERIAL_SPEED 115200 
#define REMOTEXY_WIFI_SSID "RemoteXY" 
#define REMOTEXY_WIFI_PASSWORD "12345678" 
#define REMOTEXY_SERVER_PORT 6377 


/* RemoteXY configurate  */ 
#pragma pack(push, 1)
unsigned char RemoteXY_CONF[] = 
  { 3,0,14,0,6,5,2,6,0,24
  ,6,52,52,6,24,51,51,2 }; 
   
/* this structure defines all the variables of your control interface */  
struct { 

    /* input variable */
  uint8_t rgb_1_r; /* =0..255 Red color value */
  uint8_t rgb_1_g; /* =0..255 Green color value */
  uint8_t rgb_1_b; /* =0..255 Blue color value */

    /* other variable */
  unsigned char connect_flag;  /* =1 if wire connected, else =0 */

} RemoteXY; 
#pragma pack(pop) 

///////////////////////////////////////////// 
//           END RemoteXY include          // 
///////////////////////////////////////////// 

#define pinRed 9 // Выход красной компоненты цвета;
#define pinGreen 10 // Выход зеленой компоненты цвета;
#define pinBlue 11 // Выход синей компоненты цвета;

void setup()  
{ 
  RemoteXY_Init ();  
   
} 

void loop()  
{  
  RemoteXY_Handler (); 

   
  analogWrite (pinRed, pow (RemoteXY.rgb_1_r / 255.0, 2.718) * 255.0);
  analogWrite (pinGreen, pow (RemoteXY.rgb_1_g / 255.0, 2.718) * 255.0);
  analogWrite (pinBlue, pow (RemoteXY.rgb_1_b / 255.0, 2.718) * 255.0);

}

3

Re: Пример кода для RGB круга

Без экспоненты будет еще проще

analogWrite (pinRed, RemoteXY.rgb_1_r);
analogWrite (pinGreen, RemoteXY.rgb_1_g);
analogWrite (pinBlue, RemoteXY.rgb_1_b);