Например TDA7294

Форум РадиоКот :: Просмотр темы - Преобразование шестнадцатеричного кода в RGB
Форум РадиоКот
https://radiokot.ru/forum/

Преобразование шестнадцатеричного кода в RGB
https://radiokot.ru/forum/viewtopic.php?f=21&t=81753
Страница 1 из 1

Автор:  Наводчик ПКП [ Пт дек 07, 2012 02:00:47 ]
Заголовок сообщения:  Преобразование шестнадцатеричного кода в RGB

Здравствуйте, товарищи!
Вот смотрите, у каждого цвета, есть шестнадцатеричный код, так? например, FFFFFF - это белый, я так понимаю он делится на три части FF_FF_FF, где каждая пара символов, есть значения основных цветов, синего, красного и зеленого, правильно? И вот в чем вопрос, как можно преобразовать hex код в rgb? ну например, с компьютера посылаю код #FFBF00 в "преобразователь" и на обычном rgb светодиоде загорается Янтарный цвет, который соответствует этому коду. Я не могу понять сам принцип работы этого преобразователя, во что этот код преобразуется, ток, напряжение или что?! Кто просвящен, расскажите пожалуйста, необразованному?! :dont_know:

Интересуюсь я не просто, для расширения кругозора, а есть конкретная цель: есть компьютер, с небольшим сенсорным дисплеем (как устройство ввода/вывода информации) и к нему должен быть подключен rgb светодиод, вернее много светодиодов, и на компьютере, есть программа, примерно такого вида http://images.yandex.ru/yandsearch?p=2& ... mage&lr=56
светодиоды используются как подсветка, ну и в общем, выбрал понравившийся цвет, и таким же цвето загорелась подсветка... :tea:

Автор:  Gudd-Head [ Пт дек 07, 2012 10:24:11 ]
Заголовок сообщения:  Re: Преобразование шестнадцатеричного кода в RGB

Наводчик ПКП писал(а):
есть значения основных цветов, синего, красного и зеленого, правильно?

Не совсем. Правильно красного, зелёного и синего.
Наводчик ПКП писал(а):
И вот в чем вопрос, как можно преобразовать hex код в rgb?

Зачем его преобразовывать, он и так в RGB формате. Каждое число — количество 255-х частей яркости конкретного цвета.

Автор:  Engineer_Keen [ Пт дек 07, 2012 14:16:09 ]
Заголовок сообщения:  Re: Преобразование шестнадцатеричного кода в RGB

Наводчик ПКП писал(а):
во что этот код преобразуется, ток, напряжение или что?!

Возможно в ток (светодиоды управляются током), но скорее всего в ШИМ, т.е. контроллер принимает код и выдает на выходе прямоугольный сигнал соответствующей скважности, которая на светодиоде благодаря инертности зрения превращается в яркость.

Автор:  Наводчик ПКП [ Сб дек 08, 2012 11:49:32 ]
Заголовок сообщения:  Re: Преобразование шестнадцатеричного кода в RGB

Engineer_Keen писал(а):
контроллер принимает код и выдает на выходе прямоугольный сигнал соответствующей скважности, которая на светодиоде благодаря инертности зрения превращается в яркость.

получается мне нужна меняющаяся скважность, которая "зависит" от входного кода? а как понять зависимость?
и потом, если следовать из википедии, этот сигнал подавать на один вход компаратора, а на второй подавать опорный сигнал и получится то,что я задумал, ведь так? :dont_know:

Автор:  Engineer_Keen [ Вс дек 09, 2012 00:00:38 ]
Заголовок сообщения:  Re: Преобразование шестнадцатеричного кода в RGB

Наводчик ПКП писал(а):
получается мне нужна меняющаяся скважность, которая "зависит" от входного кода?

Да
Наводчик ПКП писал(а):
а как понять зависимость?
В каком смысл? Чем больше код, тем меньше скважность.
Наводчик ПКП писал(а):
и потом, если следовать из википедии, этот сигнал подавать на один вход компаратора, а на второй подавать опорный сигнал и получится то,что я задумал, ведь так? :dont_know:

Компаратор в аналоговом виде, в каком он описан в статье в вики вам не нужен. Данные (код) у вас передаются с компьютера, значит они в цифровой форме, т.е. нужен контроллер, который эти данные воспринимает, он же и будет сам формировать ШИМ сигнал. В контроллере есть таймер, это аналог линейно изменяющегося напряжения, компаратор там тоже есть и сравнивает он значение таймера с входным кодом. При управлении с компьютера можно обойтись без контроллера, но нужен COM-порт. На него можно программно выводить некоторый аналог ШИМ, но довольно низкого разрешения и очень затратно по времени (передавать нужно постоянно).

Автор:  Наводчик ПКП [ Вс дек 09, 2012 04:42:24 ]
Заголовок сообщения:  Re: Преобразование шестнадцатеричного кода в RGB

Engineer_Keen писал(а):
Чем больше код, тем меньше скважность.

Чем больше код? вы имеете ввиду, например, что #000000 меньше чем #000001?
Engineer_Keen писал(а):
В контроллере есть таймер, это аналог линейно изменяющегося напряжения, компаратор там тоже есть и сравнивает он значение таймера с входным кодом.

Если я правильно понял, то внутренний таймер нужно поставить на определенную частоту и подавать ее на один из входов компаратора? А какая это должна быть частота? Форма сигнала - пила? И хватит ли одного внутреннего компаратора, ведь цветов - 3? значит нужно 3 компаратора?
Engineer_Keen писал(а):
При управлении с компьютера можно обойтись без контроллера, но нужен COM-порт.

ком порт есть, но вариант с контролером мне больше по душе, на нем все будет проще реализовать, да и по usb подключить...


Извините за такое количество глупых вопросов, я реально не могу понять как это должно работать :dont_know:

Автор:  Наводчик ПКП [ Вс дек 09, 2012 07:24:51 ]
Заголовок сообщения:  Re: Преобразование шестнадцатеричного кода в RGB

Чтобы лучше понять работу ШИМ, собрал схему регулятора, вот такую http://www.youtube.com/watch?v=evmkTWep07M
только микросхему взял в эту http://www.allcomponents.ru/fairchild/mm74c14n.htm была "под рукой", впринципе работает как и нужно, меняется яркость каждого отдельного светодиода в сборке rgb светодиода, получил намного больше оттенков(даже получилось выделить оранжевый,золотой, нежно голубой(розовый), вообщем много разных), чем при простом подключении "комбинаций" светодиодов(9 цветов), но что то мне подсказывает, что я не то делаю.....

Автор:  Engineer_Keen [ Вс дек 09, 2012 11:52:03 ]
Заголовок сообщения:  Re: Преобразование шестнадцатеричного кода в RGB

Наводчик ПКП писал(а):
Чем больше код? вы имеете ввиду, например, что #000000 меньше чем #000001?

Нет, есть два понятия: скважность и обратная величина - коэффициент заполнения, так вот вторая как раз при большем коде будет больше, и яркость тоже больше.
Наводчик ПКП писал(а):
Если я правильно понял, то внутренний таймер нужно поставить на определенную частоту и подавать ее на один из входов компаратора? А какая это должна быть частота?

Частота зависит от разрядности, например если цвет задавать байтом, то разрядность 8 бит, а число отсчетов 256, таким образом, если например частота контроллера 8МГц, а делитель таймера 1, то частота ШИМ будет 8000000/256=31 250кГц. Но для оптики достаточно >50-100 Гц.
Наводчик ПКП писал(а):
Форма сигнала - пила?
В контроллере все цифровое, так что такого понятия там нет, но если построить график выходного кода таймера от времени, то да, это будет пила
Наводчик ПКП писал(а):
И хватит ли одного внутреннего компаратора, ведь цветов - 3? значит нужно 3 компаратора?

Зависит от периферии контроллера, у разных контроллеров есть разное количество ШИМ каналов, но всегда можно сделать это программно. Для этого нужна одна переменная для счетчика, и несколько для сравнения (сколько каналов). Через одинаковые промежутки времени, счетчик увеличивается на 1 и если значение =0 (переполнение), все выходы включаются, а если счетчик равен одной из переменных для сравнения, то этот выход отключается.
Наводчик ПКП писал(а):
ком порт есть, но вариант с контролером мне больше по душе, на нем все будет проще реализовать, да и по usb подключить...

С контроллером тоже можно подключить через ком-порт, и это сделать гораздо проще чем через USB с точки зрения и программы для ПК и для контроллера.
Наводчик ПКП писал(а):
Извините за такое количество глупых вопросов, я реально не могу понять как это должно работать :dont_know:

Для того и форум :wink:
Наводчик ПКП писал(а):
Чтобы лучше понять работу ШИМ, собрал схему регулятора, вот такую http://www.youtube.com/watch?v=evmkTWep07M

Ну тут в качестве входного сигнала используется напряжение разной величины, а у вас планируется задание яркости цифровым кодом, так что это не много не то.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/