Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 14.02.2014
Сообщений: 80

RGB led

08.05.2016, 12:43. Показов 3965. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите какие методы сделать для библиотеки управления RGB.
Интересуют градиенты, пока сделал функцию установки цвета, а переходы кромешный ад типа такого
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
while(1)
{
r = (romd() % 100 + 1);
g = (romd() % 100 + 1);
b = (romd() % 100 + 1);
for (i = 0; i < 100; i++)
{
for (j = (romd() % 10 + 1); j > 0; j-- ){
setColor(r,g,b);
}
r = decVal(r);
g = decVal(g);
b = ymsVal(b);
}
for (i = 0; i < 100; i++)
{
for (j = (romd() % 10 + 1); j > 0; j-- ){
setColor(r,g,b);
}
r = ymsVal(r);
g = ymsVal(g);
b = decVal(b);
}
}
uint8_t ymsVal(uint8_t R)
{
if (R == 200){
return 200;
}else{
R+=1;
return R;
}
}
uint8_t decVal(uint8_t R)
{
if (R == 0){
return 0;
}else{
R-=1;
return R;
}
}
void setColor(uint8_t R, uint8_t G, uint8_t B)
{
currentTimi.R = R;
currentTimi.G = G;
currentTimi.B = B;
tidOn(Rid);
tidOn(Green);
tidOn(Blue);
while (currentTimi.R||currentTimi.G||currentTimi.B)
{
if (!currentTimi.R)
{
tidOff(Rid);
}
if (!currentTimi.G)
{
tidOff(Green);
}
if (!currentTimi.B)
{
tidOff(Blue);
}
}
вроде работает
https://youtu.be/V3fs9VSIeHg
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.05.2016, 12:43
Ответы с готовыми решениями:

RGB LED куб на ATMEGA328
Здравствуйте, я чайник в электронике, поэтому вопрос тоже нубский. Хочу сделать вот этот кубик и собираюсь заказывать это железо на eBay,...

Програмирование LED панелей
странный вопрос к осведомленным меня попросили сделать програмку для программирования панелей светодиодов задача стояла примерно...

Led Cub 3x3x3
Собрал led куб по примеру. Думал смогу портировать прошивку Adruino на LauchPad msp430, обернулось полным провалом из-за не знания :) ...

8
0 / 0 / 0
Регистрация: 03.01.2016
Сообщений: 126
08.05.2016, 15:11
https://habrahabr.ru/post/251615/
0
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
09.05.2016, 12:20
А что понимается под градиентом? Плавное изменения яркости во времени?
0
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 1,217
09.05.2016, 13:31
Если делать правильно то нужно ещё гамма коррекцию добавить. Суть в том что зрение человека очень нелинейно, т.е. например изменении ШИМ от 4% до 5% для глаза будет чётко различимым переходом, в то время как переход между 90% и 100% практически незаметен.
0
0 / 0 / 0
Регистрация: 14.02.2014
Сообщений: 80
09.05.2016, 19:34
Цитата Сообщение от Myrmyk
А что понимается под градиентом? Плавное изменения яркости во времени?
плавное изменение цвета красный -> зеленый, например.
вообще интересно какими командами управлять
хочу я например переключить красный в зеленый у меня есть несколько вариантов - погасить красный, зажечь зеленый изменением яркости
или пройти по палитре или наоборот вывести все каналы в максимум а потом погасить ненужное. писать портянки на каждый вариант изменения цвета как-то западло, должны же быть готовые алгоритмы которые можно реализовать.
0
0 / 0 / 0
Регистрация: 03.01.2016
Сообщений: 126
09.05.2016, 19:44
А вы прочитали статью на хабре по ссылке выше? Там описано как это можно просто сделать.
Давайте теперь на секунду представим, как можно использовать данный метод. Как вам, например, такое пространство, которое показано на этой картинке:
Правильно! Можно описывать разные цвета и градиенты между ними. И кто вначале описания решил что метод не позволяет использовать оттенки серого — не прав.
0
0 / 0 / 0
Регистрация: 05.10.2007
Сообщений: 498
10.05.2016, 08:04
HSV пространство наше всё. Гуглится прекрасно. Делал ещё в 2013 году.
0
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
10.05.2016, 15:19
sitirom366
Переход красный -> зелёный... Это действительно задача для HSV пространства.
0
0 / 0 / 0
Регистрация: 14.02.2014
Сообщений: 80
10.05.2016, 18:13
[QUOTE="Kypsy"]А вы прочитали статью на хабре по ссылке выше? Там описано как это можно просто сделать.
[QUOTE="Цитата:[/QUOTE]
Давайте теперь на секунду представим, как можно использовать данный метод. Как вам, например, такое пространство, которое показано на этой картинке:
Правильно! Можно описывать разные цвета и градиенты между ними. И кто вначале описания решил что метод не позволяет использовать оттенки серого — не прав.
Статью прочитал и честно два дня пытался вкурить что там написано из-за чего от меня ушла жена, уволили с работы, а дети до сих пор сидят в детском саду, попробую на выходных реализовать, хотя насчет интерфейса функции changeColor() так и не определился.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.05.2016, 18:13
Помогаю со студенческими работами здесь

Схемка от LED LCD Chi Mei N156B6
Ребята, вот у меня в компе экран, который назван в заголовке, на нём сгорел чип, 24 ножки, сверху написано DW BL W22. Ребята, подскажите...

Баг, фича, или кривые руки? LED горит не так, как надо.
Код изначально должен был работать с китайским 433MHz ресивером. при поступлении сигнала на выходе ресивера появляется лог.1. при...

RGB-led драйвер на тиньке 13
накидал тут прошивку для Тиньки13 под Асмом, для руления ргб-светодиодом.256 градаций на каждый цвет + смешивание . Програмный ШИМ, три...

RGB LED matrix 100x25
Привет, нужны советы, собираю матрицу RGB светодиодов, 90-130 x 25-30. Допустим 100x25, 2500, 100 столбцов, 25 строк. С точным количеством...

64 RGB led - как этим управлять?
Подскажите путь, а то что-то у меня затуп какой-то. Нужно управлять RGB светодиодами собранными в матрицу 8х8. Отображать картинку нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru