Форум РадиоКот 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 светодиоде загорается Янтарный цвет, который соответствует этому коду. Я не могу понять сам принцип работы этого преобразователя, во что этот код преобразуется, ток, напряжение или что?! Кто просвящен, расскажите пожалуйста, необразованному?! ![]() Интересуюсь я не просто, для расширения кругозора, а есть конкретная цель: есть компьютер, с небольшим сенсорным дисплеем (как устройство ввода/вывода информации) и к нему должен быть подключен rgb светодиод, вернее много светодиодов, и на компьютере, есть программа, примерно такого вида http://images.yandex.ru/yandsearch?p=2& ... mage&lr=56 светодиоды используются как подсветка, ну и в общем, выбрал понравившийся цвет, и таким же цвето загорелась подсветка... ![]() |
Автор: | 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 писал(а): контроллер принимает код и выдает на выходе прямоугольный сигнал соответствующей скважности, которая на светодиоде благодаря инертности зрения превращается в яркость. получается мне нужна меняющаяся скважность, которая "зависит" от входного кода? а как понять зависимость? и потом, если следовать из википедии, этот сигнал подавать на один вход компаратора, а на второй подавать опорный сигнал и получится то,что я задумал, ведь так? ![]() |
Автор: | Engineer_Keen [ Вс дек 09, 2012 00:00:38 ] |
Заголовок сообщения: | Re: Преобразование шестнадцатеричного кода в RGB |
Наводчик ПКП писал(а): получается мне нужна меняющаяся скважность, которая "зависит" от входного кода? Да Наводчик ПКП писал(а): а как понять зависимость? В каком смысл? Чем больше код, тем меньше скважность.Наводчик ПКП писал(а): и потом, если следовать из википедии, этот сигнал подавать на один вход компаратора, а на второй подавать опорный сигнал и получится то,что я задумал, ведь так? ![]() Компаратор в аналоговом виде, в каком он описан в статье в вики вам не нужен. Данные (код) у вас передаются с компьютера, значит они в цифровой форме, т.е. нужен контроллер, который эти данные воспринимает, он же и будет сам формировать ШИМ сигнал. В контроллере есть таймер, это аналог линейно изменяющегося напряжения, компаратор там тоже есть и сравнивает он значение таймера с входным кодом. При управлении с компьютера можно обойтись без контроллера, но нужен COM-порт. На него можно программно выводить некоторый аналог ШИМ, но довольно низкого разрешения и очень затратно по времени (передавать нужно постоянно). |
Автор: | Наводчик ПКП [ Вс дек 09, 2012 04:42:24 ] |
Заголовок сообщения: | Re: Преобразование шестнадцатеричного кода в RGB |
Engineer_Keen писал(а): Чем больше код, тем меньше скважность. Чем больше код? вы имеете ввиду, например, что #000000 меньше чем #000001? Engineer_Keen писал(а): В контроллере есть таймер, это аналог линейно изменяющегося напряжения, компаратор там тоже есть и сравнивает он значение таймера с входным кодом. Если я правильно понял, то внутренний таймер нужно поставить на определенную частоту и подавать ее на один из входов компаратора? А какая это должна быть частота? Форма сигнала - пила? И хватит ли одного внутреннего компаратора, ведь цветов - 3? значит нужно 3 компаратора? Engineer_Keen писал(а): При управлении с компьютера можно обойтись без контроллера, но нужен COM-порт. ком порт есть, но вариант с контролером мне больше по душе, на нем все будет проще реализовать, да и по usb подключить... Извините за такое количество глупых вопросов, я реально не могу понять как это должно работать ![]() |
Автор: | Наводчик ПКП [ Вс дек 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 с точки зрения и программы для ПК и для контроллера. Наводчик ПКП писал(а): Извините за такое количество глупых вопросов, я реально не могу понять как это должно работать ![]() Для того и форум ![]() Наводчик ПКП писал(а): Чтобы лучше понять работу ШИМ, собрал схему регулятора, вот такую http://www.youtube.com/watch?v=evmkTWep07M Ну тут в качестве входного сигнала используется напряжение разной величины, а у вас планируется задание яркости цифровым кодом, так что это не много не то. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |