Topic: Пример кода для RGB круга
Если можно, приведите пример кода для RGB круга. В документации этот пункт отсутствует.
You are not logged in. Please login or register.
RemoteXY community → Программирование → Пример кода для RGB круга
Если можно, приведите пример кода для 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);
}
Без экспоненты будет еще проще
analogWrite (pinRed, RemoteXY.rgb_1_r);
analogWrite (pinGreen, RemoteXY.rgb_1_g);
analogWrite (pinBlue, RemoteXY.rgb_1_b);
RemoteXY community → Программирование → Пример кода для RGB круга
Powered by PunBB, supported by Informer Technologies, Inc.