собсно вот код Код (C++): ///////////////////////////////////////////// // RemoteXY include library // // use ANDROID app version 3.2.1 or up // ///////////////////////////////////////////// /* определение режима соединения и подключение библиотеки RemoteXY */ #define REMOTEXY_MODE__SOFTWARESERIAL #include <SoftwareSerial.h> #include <RemoteXY.h> /* настройки соединения */ #define REMOTEXY_SERIAL_RX 2 #define REMOTEXY_SERIAL_TX 3 #define REMOTEXY_SERIAL_SPEED 9600 /* конфигурация интерфейса */ unsigned char RemoteXY_CONF[] = { 6,0,44,0,3,5,4,0,1,2 ,7,60,1,4,0,19,2,7,60,6 ,4,0,10,2,7,60,4,4,128,28 ,4,53,9,2,3,3,82,16,16,44 ,3,4,0,71,19,8,40,7 }; /* структура определяет все переменные вашего интерфейса управления */ struct { /* input variable */ signed char red; /* =0..100 положение слайдера */ signed char blue; /* =0..100 положение слайдера */ signed char gren; /* =0..100 положение слайдера */ signed char slider_4; /* =0..100 положение слайдера */ unsigned char mode; /* =0 если переключатель в положении A, =1 если в положении B, =2 если в положении C, ... */ signed char speed; /* =0..100 положение слайдера */ /* other variable */ unsigned char connect_flag; /* =1 if wire connected, else =0 */ } RemoteXY; ///////////////////////////////////////////// // END RemoteXY include // ///////////////////////////////////////////// void setup() { RemoteXY_Init (); // TODO you setup code } void loop() { RemoteXY_Handler (); // TODO you loop code // используйте структуру RemoteXY для передачи данных } сделать чтоб 3 слайдера управляли по отдельности каналами RGB верхний слайдер он же slider_4 ругулировал яркость всех каналов одновременно, Перключаль в режиме А Ручной выбор, В мигание Разными цветами, С плавное изменение цвета, слайдер speed регулирова скорость мигания-измения цвета. По стоимости в ЛС
сделать чтоб 3 слайдера управляли по отдельности каналами RGB верхний слайдер он же slider_4 ругулировал яркость всех каналов одновременно - все 4 слайдера одновременно работать не смогут. в одном режиме - сделать чтоб 3 слайдера управляли по отдельности каналами RGB в другом - верхний слайдер он же slider_4 ругулировал яркость всех каналов одновременно
ну имеется ввиду. выбираем цвет Допустим Оранжевый а 4й слайдер меняет яркость тоесть пропорционально рулит мощьностью 3х каналов одновременно
наверно так. немогу конкретно описать. вот есть у меня китай контроллер с пультом, вот я выставляю на нем нужный мне оттенок и рулю яркостью от совсем не горит до светит аж глаза слезятся
Код (C++): ///////////////////////////////////////////// // RemoteXY include library // // use ANDROID app version 3.2.1 or up // ///////////////////////////////////////////// /* определение режима соединения и подключение библиотеки RemoteXY */ #define REMOTEXY_MODE__SOFTWARESERIAL #include <SoftwareSerial.h> #include <RemoteXY.h> /* настройки соединения */ #define REMOTEXY_SERIAL_RX 2 #define REMOTEXY_SERIAL_TX 3 #define REMOTEXY_SERIAL_SPEED 9600 /* конфигурация интерфейса */ unsigned char RemoteXY_CONF[] = { 14,0,119,0,3,5,4,0,1,2 ,7,60,1,4,0,19,2,7,60,6 ,4,0,10,2,7,60,4,4,128,25 ,3,53,9,2,3,3,82,16,16,44 ,3,4,0,71,19,8,40,7,2,0 ,77,4,22,7,2,79,78,0,79,70 ,70,0,3,131,48,28,22,8,4,1 ,1,27,27,8,8,1,43,0,1,1 ,37,27,8,8,1,45,0,1,1,27 ,36,8,8,4,43,0,1,1,37,36 ,8,8,4,45,0,1,1,27,45,8 ,8,6,43,0,1,1,37,45,8,8 ,6,45,0 }; /* структура определяет все переменные вашего интерфейса управления */ struct { /* input variable */ signed char red; /* =0..100 положение слайдера */ signed char blue; /* =0..100 положение слайдера */ signed char gren; /* =0..100 положение слайдера */ signed char slider_4; /* =0..100 положение слайдера */ unsigned char mode; /* =0 если переключатель в положении A, =1 если в положении B, =2 если в положении C, ... */ signed char speed; /* =0..100 положение слайдера */ unsigned char switch_1; /* =1 если переключатель включен и =0 если отключен */ unsigned char select_1; /* =0 если переключатель в положении A, =1 если в положении B, =2 если в положении C, ... */ unsigned char button_1; /* =1 если кнопка нажата, иначе =0 */ unsigned char button_2; /* =1 если кнопка нажата, иначе =0 */ unsigned char button_3; /* =1 если кнопка нажата, иначе =0 */ unsigned char button_4; /* =1 если кнопка нажата, иначе =0 */ unsigned char button_5; /* =1 если кнопка нажата, иначе =0 */ unsigned char button_6; /* =1 если кнопка нажата, иначе =0 */ /* other variable */ unsigned char connect_flag; /* =1 if wire connected, else =0 */ } RemoteXY; ///////////////////////////////////////////// // END RemoteXY include // ///////////////////////////////////////////// #define PIN_SWITCH_1 13 void setup() { RemoteXY_Init (); pinMode (PIN_SWITCH_1, OUTPUT); // TODO you setup code } void loop() { RemoteXY_Handler (); digitalWrite(PIN_SWITCH_1, (RemoteXY.switch_1==0)?LOW:HIGH); // TODO you loop code // используйте структуру RemoteXY для передачи данных } Дополнение: Нужны 2 независимых канала. Управление Маленьким переключателем А1, С2, В одновременно. Ну С ON-Off я думаю все ясно, и 6 кнопок для более точного выбора оттенка
вот есть у меня китай контроллер с пультом, вот я выставляю на нем нужный мне оттенок и рулю яркостью от совсем не горит до светит аж глаза слезятся нужный оттенок вы выставляете тремя ползунками?
Тремя кнопками. Ставим r10 g10 b10 и другой кнопкой увеливаем - уменьшаем одновременно rgb+1. Если r10 g10 b30 то после нажатия на кнопку будет r11 g11 b31
В чем проблема, не пойму. Я делал и потенциометрами и автоматом через датчик цвета, о чем докладывал с видео.
Ну что кто возьмётся? Цена вопроса ? На плей маркет есть сотни готовых решений но интерфейс совсем не дружелюбный
перед тем, как заявлять о сложности и троллинге , разберитесь как формируется цвет на rgb. менять яркость свечения от нуля до максимума вы сможете только для семи цветов. например пурпурный (128, 0, 128) не получится
Получится ли добиться точного цвета с помощью китайской RGB вопрос второй, или даже третий, первый вопрос: можно ли рулить тремя слайдерами по отдельности каждым цветом и одним слайдером всеми цветами одновременно. Думаю да. Но из этого вытекает следующий вопрос. Например установлены такая позиция: R-50%, G-100%, B-20%, общий 100%. Двигаем общий на 50%, как должны меняться RGB? Пропорционально или равно? В первом случае получится 25%, 50%, 10% (что верно), во втором 0%, 50%, 0%, потому что отрицательных % не бывает. Думаю, что автор именно в этом и застрял. С помощью нехитрой формулы можно вычислять яркость RGB поканально из положения всех четырех слайдеров, что и будет требуемым результатом.
Бывают задачи простые, когда решить их можно за небольшое время, или достаточно сделать подсказку. В таком случае тут, как правило, помогают сразу и безвозмездно (то есть даром). А бывают, вроде бы не безумно сложные, но трудоемкие, когда надо вникать, схемы рисовать и писать тонны кода, с такими обычно связываются когда есть время и академический интерес, либо интерес материальный. Ваш именно такой случай. Причем, в случае материальной заинтересованности, она должна превозмочь лень и отодвинуть на второй план другие дела, что не всегда и у всех возможно. Или делать самому, что и полезно и приятно и выгодно. )