Формат данных цветовой последовательности
Данные об RGB последовательности, хранятся в файле «sequenceData.inc». Вы можете редактировать этот файл, чтобы добавлять, удалять или изменять имеющиеся там данные. Вы должны убедиться, что он соответствует описанному формату
В частности, обратите внимание на маркеры «конец последовательности» и «конец всех данных», а также убедитесь, что каждая строка данных последовательности содержит пять записей, разделенных запятыми. (см
скриншот ниже)
Здесь находиться полезная онлайн-утилиту для имитации последовательностей: RGB LED Simulator
В приведенном выше скриншоте обратите внимание на маркеры end_of_sequence, обведенные красным, и маркер «end_of_all_data», обведенные фиолетовым. У вас должна быть, по крайней мере, одна последовательность, максимум до 256 отдельных последовательностей
У вас должна быть, по крайней мере, одна последовательность, максимум до 256 отдельных последовательностей.
- Каждая строка данных начинается с директивы ассемблера dt (таблица данных).
- Все данные указываются с использованием десятичных значений.
- Каждое значение данных должно быть разделено запятой.
- Данные последовательности в каждой строке имеют пять полей:
- Fade Rate: скорость перехода цветов от текущих значений к новым. Каждый шаг происходит с интервалом 5 мс x Fade Rate.
- Значение скорости затухания 0 указывает, что значения RGB будут обновлены немедленно без затухания.
- Значение Fade Rate не должно быть установлено на 255, кроме как для обозначения конца последовательности. (см. ниже)
- Время удержания: после завершения затухания задержка перед переходом к следующей строке данных. Интервал 50 мс x время удержания
- Красное значение ШИМ. От 0 = 0% (светодиод не горит) до 255 = 100% (светодиод полностью включен)
- Зеленое значение ШИМ. 0 = 0% (светодиод не горит) до 255 = 100% (светодиод полностью включен)
- Значение синего ШИМ. От 0 = 0% (светодиод не горит) до 255 = 100% (светодиод полностью включен)
- Конец данных текущей последовательности обозначается значением поля Fade Rate «255». Когда приложение обнаруживает это, оно перезапускает последовательность с начала.
- В конце всех доступных данных последовательности оба поля Fade Rate и Hold Time должны быть установлены на «255».
- Fade Rate: скорость перехода цветов от текущих значений к новым. Каждый шаг происходит с интервалом 5 мс x Fade Rate.
После редактирования sequenceData.inc файл необходимо сохранить, а rgb101g3_main.asm скомпилировать заново. Далее полученный файл rgb101g3_main.hex может быть запрограммирован программатором для PIC микроконтроллеров.
Скачать файлы проекта (67,6 KiB, скачано: 226)
Включенное состояние (свет включен или приглушен)
Если нажать на настенный выключатель или отправить соответствующий ИК-сигнал с пульта дистанционного управления, лампочка загорится. Включение электрической лампочки осуществляется путем включения симистора, когда напряжение сети пересекает нулевую точку. Это обнаруживается с помощью детектора пересечения нуля, сформированного с помощью R3 и C6.
Если мы включим симистор сразу после обнаружения» нуля», он включит свет на полную мощность. Если мы задержим срабатывание симистора на некоторое время, то сможем эффективно выполнить диммирование (затемнение), так как напряжение, появляющееся на выходе, меньше напряжения питания.
Электрический паяльник с регулировкой температуры
Мощность: 60/80 Вт, температура: 200’C-450’C, высококачествен…
Подробнее
Если мы посмотрим на принципиальную (часть источника питания) мы можем увидеть, что когда симистор включается, то он замыкает наш бестрансформаторный источник питания. В этот момент вся цепь питается от конденсатора С3. Он должен быть достаточно большим, чтобы поддерживать достаточную мощность для TSOP (~5 мА), микроконтроллера (< 1 мА) и MOC3023 (~ 5 мА, но только в течение нескольких микросекунд). Поэтому здесь желательно поставить конденсатор С3 большой емкости: 220 мкФ / 330 мкФ / 470 мкФ.
Если мы будем держать свет включенным на полную яркость, он в конечном итоге полностью разрядит C3 и перезапустит микроконтроллер PIC. Вот программа микроконтроллера не включает свет на полную яркость — мы на самом деле немного задерживаем срабатывание симистора, чтобы «украсть» достаточно энергии, чтобы держать наш конденсатор C3 заряженным. Так что 100 % на самом деле больше похоже на 99 %.
Немного теории
Некоторые кристаллические диэлектрики обладают свойством генерировать электрический заряд при воздействии на них теплового инфракрасного излучения. Это явление известно как пироэлектричество. Пассивный инфракрасный (PIR) сенсорный модуль работает по тому же принципу.
Тело человека излучает тепло в виде инфракрасного излучения с длинной волны около 9,4 мкм. Присутствие человеческого тела в зоне действия пироэлектрического датчика создает внезапное изменения в его работе.
Модуль PIR датчика имеет в своем составе усилитель слабого сигнала, который усиливает этот сигнал до приемлемого уровня, чтобы его можно было дальше обработать аппаратными средствами. Большинство PIR датчиков требуют некоторого времени для стабилизации, обычно от 10 до 60 секунд. В течение этого времени, его схема адаптируется к окружающей обстановке, поэтому любое движение в его поле зрения нежелательно.
PIR датчик, как правило, имеет дальность действия до 12 метров. Особенностью его является приспособление к медленно изменяющемуся температурному режиму, например, постепенное тепловое изменение, связанное с наступлением дня. Тем не менее, любое резкое изменение обстановки (например, движение человека) вызывает реакцию датчика. Вот почему PIR модуль не следует размещать рядом с обогревательными приборами, которые могут резко изменить температурный фон.
Сенсорные модули PIR обычно имеют три вывода для подключения (плюс, минус, выход). Так же большинство датчиков снабжены 3-х контактным переключателем с положением H и L. В положении H: при срабатывании PIR датчика, на выходе появляется высокий уровень и остается таким, пока есть движения. В положении L: высокий уровень появляется при движении и при его исчезновении на выходе появляется низкий уровень.
Передняя часть модуля датчика снабжена линзой Френеля, которая фокусирует ИК излучение на чувствительный PIR элемент.
Профессиональный цифровой осциллограф
Количество каналов: 1, размер экрана: 2,4 дюйма, разрешен…
Подробнее
Описание схемы
Красные, зеленые и синие светодиоды расположены в три ряда по три светодиода. Светодиоды расположены на печатной плате в хаотичном порядке для улучшения эффекта смешивания цветов при размещении внутри диффузора, например шар из матового стекла.
Hantek 2000 — осциллограф 3 в 1
Портативный USB осциллограф, 2 канала, 40 МГц….
Подробнее
Резисторы R1, R 2 и R 3 ограничивают ток через светодиоды до безопасного значения (при использовании источника питания 12 В).
Катоды каждой цепочки светодиодов подключены к NPN транзисторам (BC547), которые используется для включения и выключения светодиодов. Эти транзисторы, в свою очередь, управляются PIC микроконтроллером. Управление транзисторами осуществляется посредством ШИМ. Кнопка S1 используется для выбора различных цветовых эффектов.
Каждый канал (цвет) управляется отдельно. Это позволяет эффективно генерировать любой цвет. Данные, используемые для установки и изменения цветов, хранятся в легко редактируемом файле. Если вам не нравятся последовательности, предоставленные в нем, вы можете самостоятельно изменить файл с помощью своих собственных настроек.
Простой термометр на микроконтроллере PIC12F629 с батарейным питанием.
- Подробности
- Опубликовано 20.07.2013 09:50
Общее количество конструкций термометров на микроконтроллерах посчитать сложно. Каждый автор стремиться привнести что-то свое в этот простой прибор. В итоге увеличивается функциональность, точность и область практического применения электронных температурных измерителей. Ниже описан еще один вариант термометра, главными особенностями которого стали предельная простота конструкции и автономное питание.
В состав любого электронного измерителя температуры обычно входят четыре элемента: датчик температуры, микроконтроллер, индикатор и источник питания. Благодаря высокой степени интеграции современных радиоэлектронных компонентов, появилась возможность минимизировать количество соединительных линий между отдельными устройствами, создавать предельно простые и компактные конструкции. Низкий уровень потребляемой мощности каждым элементом позволил в качестве источников питания использовать литиевые батареи. Все вместе стало основой конструкции простого измерителя температуры, могущего стать отличной заменой бытовым термометрам.
ШИМ управление LED подсветкой ЖК монитора на PIC12F675
В один прекрасный день перестал радовать своей яркой картинкой монитор LG 1510. Озадачившись ремонтом, полез в инет в поисках причины угасшего монитора. В итоге перепайка указанных, сгоревших элементов не оживила CCFL подсветку. Но попутно наткнувшись на тему переделки CCFL подсветки на LED, решил реализовать свою идею. В итоге вырисовалась простая схема включения и ШИМ регулирования яркости подсветки монитора посредством сигналов от штатной схемы управления монитора.
Для начала был разобран монитор, для замера необходимой ширины LED ленты. На али заказал ленту шириной 5 мм White SMD2835 120 светодиодов/м.
Для разработки схемы был выбран пик контроллер PIC12F675. В котором задействовал основные аппаратные функции: АЦП (пин 5) для измерения заданной яркости, выходной сигнал в LG 1510 от 0 до 5В (опорное напряжение АЦП – питание ПИКа); прерывание по уровню сигнала на входе (пин 6), для включения и отключения подсветки (on/off в схеме монитора с уровнем 5В); и прерывание по таймеру для реализации программного ШИМ управления яркостью светодиодов, выход (пин 7).
В данном мониторе есть выходное питание 12В и 5В. Но питания ПИКа было реализовано от 12В через кренку, для обеспечения высокой стабильности уровня яркости. В исходной прошивке включен WDT который выводит ПИК из sleep режима раз в 2,3 сек. когда уровень сигнала на входе включения равен нулю
По прерыванию на входе включения высоким уровнем сигнала, запускается ШИМ, со скважностью импульсов пропорционально задающему сигналу яркости. Частота импульсов составляет порядка 1 кГц, при работе ПИКа от внутреннего тактового генератора
Также можно увеличить частоту подключив внешний кварц и поменяв биты конфигурации. С кварцем 20МГц частота ШИМа увеличится пропорционально до 5кГц. Для управления нагрузкой на светодиодах выбрал полевой транзистор N-типа AO3400 c довольно приличным нагрузочным током для своих габаритов. В схеме самого монитора были выпаяны почти все элементы CCFL подсветки, и добавлен в цепь питания (12В) новой схемы LC фильтр.
После сборки и включения, монитор порадовал своей равномерной и высокой яркостью картинки, потраченные усилия привели к хорошему результату. И в свою очередь позволили вдохнуть достижение в ЖК промышленности в старый монитор.
Максимальная и минимальная яркость LG 1510, в сравнении с моим IPS.
Также данную схему можно применить в иных целях, где требуется управление посредством ШИМ. Данные, Data: адрес 0х2104 — порог максимальной яркости (1…255). адрес 0х2105 — порог минимальной яркости (0…254), минимальный порог должен быть ниже максимально, в противном яркость не будет регулироваться. адрес 0х2106 — коррекция частоты внутреннего генератора ПИК контроллера, для изменения частоты ШИМа (х*4 до 252). адрес 0х2107 — подключение подтягивающего резистора, высокий уровень на входе для включения ШИМа.( =1 подключен, =0 нет)
Данная схема не критична к номиналам элементов.
Микроконтроллеры серии PIC12
Микроконтроллеры PIC12 наряду с серией PIC10 занимают нишу маломощных устройств в линейке процессорной продукции Microchip. Минимум периферии и корпус с 8-ю выводами предполагают их применение только в относительно простых приложениях. Эти же факторы и вытекающая из них низкая стоимость, обусловили популярность данных микроконтроллеров среди большого числа радиолюбителей.
Главной особенностью серии PIC12, как уже было сказано выше, является 8-ми выводной корпус. В таком корпусе выпускаются абсолютно все варианты за исключением нового процессора PIC12LF1840T48A со встроенным радиопередатчиком. Пользователю доступно 6 линий ввода вывода, при условии, что одна из них работает только на вход. Так же как и у других процессоров вывода могут выполнять разные функции. Из стандартной периферии доступны таймеры на 8 и 16 бит, компараторы и АЦП.
Ограниченность по выводам привела к тому, что в серии PIC12 сравнительно мало моделей и все они относительно схожи по своим характеристикам. В некоторых случаях, для выбора достаточно определиться только с наличием или отсутствием АЦП и требуемым объемом памяти. Но можно подобрать микросхему и для конкретного, специфического проекта. В частности серия PIC12 может оснащаться встроенным модулем радиопередатчика или модулем шифрования KeeLoq.
В микросхемах семейства PIC12 используются три базовых архитектуры ядер. Наиболее дешевые микросхемы построены на базовой архитектуре (Baseline). 12-ти разрядная шина команд и всего 33 инструкции упрощают освоение этих микроконтроллеров. Микросхемы с базовым ядром оснащаются только одним 8-ми разрядным таймером и не имеют энергонезависимой памяти (исключение PIC12F519). Более совершенные устройства оснащаются ядром средней серии с 14-ти разрядной шиной команд. Эти микроконтроллеры содержат два таймера, один из которых 16-ти разрядный.
Тип |
Flashпамять Кслов |
EEPROM байт |
RAM, байт |
АЦП |
Комп |
Таймер |
Макс. частота МГц |
Встр. генератор МГц |
BOR/ PBOR/ PLVD |
Доп. |
Базовая серия, шина программ 12 бит, 33 инструкции |
||||||||||
PIC12F508 |
0.5 |
— |
25 |
— |
— |
1-8бит, WDT |
4 |
4 МГц |
— |
|
PIC12F509 |
1 |
— |
41 |
— |
— |
1-8бит, WDT |
4 |
4 МГц |
— |
|
PIC12F510 |
1 |
— |
38 |
3×8 бит |
1 |
1-8бит, WDT |
8 |
8 МГц |
— |
ICD |
PIC12F519 |
1 |
64 |
41 |
— |
— |
1-8бит, WDT |
8 |
8 МГц |
— |
ICD |
Средняя серия, шина программ 14 бит, 35 инструкции |
||||||||||
PIC12F609 |
1 |
64 |
— |
1 |
1-8бит, 1-16бит, WDT |
20 |
4 МГц, 8 МГц |
BOR |
||
PIC12F615 |
1 |
64 |
4×10 бит |
1 |
2-8бит, 1-16бит, WDT |
20 |
4 МГц, 8 МГц |
BOR |
ECCP |
|
PIC12F617 |
2 |
128 |
4×10 бит |
1 |
2-8бит, 1-16бит, WDT |
20 |
4 МГц |
BOR |
Selfwrite, ECCP |
|
PIC12F629 |
1 |
128 |
64 |
— |
1 |
1-8бит, 1-16бит, WDT |
20 |
4 МГц |
BOR |
|
PIC12F635 |
1 |
128 |
64 |
— |
1 |
1-8бит, 1-16бит, WDT |
20 |
32кГц, 8МГц |
BOR/ PLVD/ ULPV |
KeeLOQ, nW |
PIC12F675 |
1 |
128 |
64 |
4×10 бит |
1 |
1-8бит, 1-16бит, WDT |
20 |
4 МГц |
BOR |
|
PIC12F683 |
2 |
256 |
128 |
4×10 бит |
1 |
2-8бит, 1-16бит, WDT |
20 |
32кГц, 8МГц |
BOR/ ULPV |
CCP,nW, , Cap Touch |
PIC12F752 |
1 |
64 |
— |
2 |
2-8бит, 1-16бит, WDT |
20 |
8 МГц |
BOR |
Self-write, CCP, DAC, COG |
|
PIC12LF1552 |
2 |
256 |
4×10 бит |
— |
1-8бит, WDT |
20 |
32кГц, 16МГц |
LPBOR |
Selfwrite, SPI, I2C, MSSP, Cap Touch |
|
Улучшенная средняя серия, шина программ 14 бит, 49 инструкции |
||||||||||
PIC12F1501 |
1 |
64 |
4×10 бит |
1 |
2-8бит, 1-16бит, EWDT |
20 |
32кГц, 16МГц |
LPBOR |
Selfwrite, CWG, NCO, CLC, Cap Touch, DAC, PWM |
|
PIC12F1822 |
2 |
256 |
128 |
4×10 бит |
1 |
2-8бит, 1-16бит, EWDT |
32 |
32кГц, 32МГц |
BOR |
Selfwrite, XLP, SPI, I2C, MSSP, Cap Touch |
PIC12F1840 |
4 |
256 |
256 |
4×10 бит |
1 |
2-8бит, 1-16бит, EWDT |
32 |
32кГц, 32МГц |
BOR |
Selfwrite, XLP, SPI, I2C, MSSP, ECCP, ECCP, Cap Touch |
PIC12LF1840T (14 TSSOP with RF Transmitter) |
4 |
256 |
256 |
4×10 бит |
1 |
2-8бит, 1-16бит, EWDT |
32 |
32кГц, 32МГц |
BOR |
Selfwrite, XLP, SPI, I2C, MSSP, ECCP, Cap Touch |
Последние модели микроконтроллеров используют расширенное ядро средней серии, благодаря чему их характеристики и возможности увеличились. В частности повысилась частота внутреннего тактового генератора до 32МГц, возрос объем памяти программ, добавились таймеры, модули ШИМ, а в некоторых моделях появились интерфейсы A/E/USART и MSSP(SPI/I2C) и сенсорный интерфейс mTouch. Увеличенное количество инструкций позволяет создавать более компактный программный код. В некоторых микроконтроллерах может отсутствовать отдельный модуль энергонезависимой памяти, а для сохранения необходимых данных используется Flash-память программ.
Основное направление применения PIC12 – интеллектуальные датчики и простые исполнительные устройства. Также эти процессоры широко используются в системах сигнализации и дистанционного управления. Низкий уровень энергопотребления и широкий диапазон напряжений питания делает процессоры привлекательными для использования в системах с батарейным питанием. Несколько конструкций с использованием PIC12 можно найти в рвзделе Проекты.
You have no rights to post comments