|
|
![]() ![]() |
|
|
![]() ![]() ![]() ![]() |
|
Опции темы | Поиск в этой теме |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Давно уже хочу собрать себе красивый RGB индикатор. И наконец-то собрал:
Вложение 2109Вложение 2110 Вот схема: Вложение 2111 Т.к. на МК вечно не хватает лап - пришлось поизвращаться с подключением светодиодов. Если захочется заюзать готовый RGB светодиод - можно отключить ресет, и шить HV программатором... Как он работает? Сложно... Программа 1,35кБ (ассемблер), из них 768 байт - база данных, сгенерированная специальным генератором с графического файла (цветовой схемы индикатора, нарисованной в пеинте, sPlan и т.п.), за что огромное спасибо SviMik'у. В индикатор заложена несвойственная им плавность. Все эффекты, анимация, включение, выключение, отображение заряда батареи и т.п. - плавные. Имеет два вывода для управления. Если на PON подать высокий логический - индикатор начинает работать. По-умолчанию есть медленная фоновая анимация голубого цвета. Если подтянуть CHRG к массе - анимация меняется на более быструю белую. Это режим заряда. Вывод предназначен для подключения к контроллеру заряда батареи. Если же сигнала нет ни на одном выводе - индикатор засыпает. При сильном разряде батареи включается быстрая "чёрная" анимация. Приоритет у неё выше фоновой, но ниже зарядной. На счёт цветовой схемы - тут всё ещё сложнее. Вот графический файл, о котором я упоминал выше: Вложение 2112 Это 6 картинок, разрешением ровно 256х256 пикселов, вплотную располагающиеся друг возле друга. Да, прям художество какое-то. Напоминает квадрат Малевича ![]() Как в них информация закодирована? По горизонтали напряжение батареи, а по вертикали яркость канала. АЦП меряет напряжение в пределах 3...4,2V с разрядностью в 8 бит (256 ступенек), и ШИМ тоже 8-ми разрядный. Поэтому и картинки 256х256. Что на них? Справа три картинки с кривыми компенсации яркости светодиодов от напряжения питания. По одной на канал. Стабилизатора напряжения то нет, вот и приходится извращаться. Да и баланс белого ими удобно выставлять. Светодиоды то далеко не с одной яркостью светят, а в этом индикаторе правильная цветопередача важна. Слева непосредственно сама цветовая схема. В данном случае по мере разряда батареи цвет плавно ползёт с фиолетового к красному. Фигуры такие кривые из-за кривого графика зависимости напряжения батареи от уровня заряда. Программа левую и правую части этого рисунка усредняет, поэтому без разницы с какой стороны что располагать. Кстати о программе, написал её SviMik, за что я его уже поблагодарил. Вот ссылка на её скачивание: http://svimik.com/dbgen_win... К сожалению видео пока заснять не могу, нет нормальных светодиодов, жду пока привезут 0603. Возможно Fonarik меня обгонит. Он тоже успел собрать этот индикатор, но теперь чухает репу как его прошить ![]() Вот архив со всякой требухой: Вложение 2113 Схема, печатка и цветовая схема в редактируемых форматах. Ну и конечно же исходник, hex, и даже батники для дудки... Схему можно здорово упростить, но есть она не просит и меньше места от этого занимать не станет... P.S. Наверняка буду ещё допиливать его, так что не советую брать информацию с этого поста, если ниже нет по-новее... |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]() |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 25.02.2010 Последняя активность: 11.09.2013 18:36
Сообщений: 1302
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Для полноты восприятия видео явно не хватает.
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 20.06.2019 01:21
Сообщений: 1341
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Обалденно! Просто обалденно! Я бы выразился более конкретно, но боюсь меня зацензурят! Давно я мечтал о такой штуке, она просто безупречна... Но вот как и чем её шить с ноута, тоже для меня вопрос... Может кто сможет прошить и выслать отдельно несколько контроллеров? за монету разумеется...
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
+1 к выслать.
Штучка вышла на славу. Интересно посмотреть на доработанный вариант |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
Я бы тоже целую такую штучку купил бы
![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Я шью вот этим программатором: http://www.lasers.org.ru/fo.... USB'шный, так что и с ноутом без проблем работает. И простой очень. К нему и батники я выложил. Двойной клик и прошивка уже заливается... Не советую связываться с этим индикатором без программатора. Наверняка каждому захочется что-то поменять на свой вкус...
Да, забыл сказать. Программа не умеет компенсировать дрейф яркости светиков от напряжения питания в анимации. Основной цвет берёт из базы, там всё предусмотрено (кроме температурного дрейфа напряжения батареи), а вот второй цвет, в который анимация плавно переходит, фиксированный. Так что например белый цвет при максимальном заряде имеет синий оттенок, а при минимальном красный. Я пока незнаю как это устранить. Возможно ещё одну базу придётся лепить, причём сжатую. И отдельно в ней хранить компенсацию... Вообще компенсация это один сплошной костыль. Может в схему вместо полевика влеплю ULDO стабилизатор на 3V. Но тогда могут возникнуть проблемы с синим светиком, которому требуется напряжение выше 3V... |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Лазеростроитель
|
![]()
+1))
|
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Добавил в первый пост ссылку на скачивание генератора БД.
UPD: Обновление программы, версия 1,1: Вложение 2124. В архиве батники и дудка. Всё готово для быстрой прошивки этим программатором: программатор на FT232RL. Сначала прошиваются фьюзы, затем программа... Потребление в дежурке снижено до 30мкА (Почти всё потребление приходится на внешний делитель напряжения в схеме). На днях перепишу программу под 45-ю тиньку. Разделю БД на две части. Компенсация яркости будет отдельная, чтоб ею мог пользоваться не только АЦП, но и анимация... Индикатором сегодня всю ночь играется и Fonarik. Пока вроде очень доволен ![]() |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Увлеченный
|
![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Да элементарщина там. Достаточно понять как графики устроены. А они устроены как... обычные графики
![]() Свимик же сразу въехал как у меня база устроена, и по рисунку программу написал. Причём универсальную... |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Увлеченный
|
![]() |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
RGB смотри сверху вниз и поймешь какие цветта в каких пропорциях мешаются.
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Завсегдатай Фонарёвки
|
![]()
Тоже чтоли собрать...тинька45 где-то была вроде... к несчастью только - тонер в принтере кончился
![]() |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
Собрал и программатор и индикатор
![]() ![]() анимация классная, единственное что бы я подправил это длительность гашения индикатора, секунды 3-4 сделал бы ![]() Прошился и заработал индикатор сразу, я ненашел только резистор на 30 килоом, вместо него сейчас 33К , перенастроить надо будет. Резисторов у меня нету ![]() ![]() |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Завсегдатай Фонарёвки
|
![]()
а печатку еже сотворил отсталось споять и прошить
|
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Собрал версию по-лучше, которую уже можно и в массы пускать (некоторые моменты в предыдущей меня не устраивают). Вот новая схема:
Вложение 3181 - Печатка чуть компактнее (8х9мм). - ШИМ реализован нормально. Частота кадров немного меньше (к ней привязаны и скорости гашения, включения, анимации и т.п.), но работает куда мягче и эффективнее. Можно теперь юзать и обычные RGB светики с общим анодом или катодом. - Отдельная база для компенсации яркости светиков от напряжения питания. Теперь и анимация не меняет свой цвет и яркость от напряжения питания. - Пришлось пожертвовать RESET'ом, поэтому перепрошить без восстановителя фьюзов (или HV программатора) не получится. Но схему восстановителя я выкладывал, и программа для этой задачи уже есть... - Полевик заменил на более высокоомный, и убрал резистор на 4,7Ом. Вместо него теперь сопротивление канала полевика... Вот текущий код для любопытных*: Код:
;Программа для RGB индикатора заряда Li-ion батареи на ATtiny45 (8MHz) .INCLUDE "tn45def.inc" ;Векторы прерываний rjmp RESET reti reti reti reti rjmp Over0 reti reti reti reti rjmp CompA0 reti reti reti reti ;Конфигурация RESET: Ldi R16, HIGH(RAMEND) ;инициализация стека out SPH, R16 Ldi R16, LOW(RAMEND) out SPL, R16 ldi R16, 0b10000000 ;Отключить аналоговый компаратор out ACSR, R16 ldi R16, 0b00010000 ;Выключить цифровой входной буфер на PB4 out DIDR0, R16 ldi R16, 0b10000010 ;ИОН 1,1V, измерение на PB4 out ADMUX, R16 ldi R16, 0b00000100 ;Запуск таймера0, clk/256 out TCCR0B, R16 ldi R16, 0b00010010 ;Включение CompA0 и Over0 out TIMSK, R16 ldi R16, 0b00100000 ;PB5 - подтягивание out PORTB, R16 ldi R16, 0b00000111 ;PB0, PB1 и PB2 - выходы out DDRB, R16 ldi R16, 0b00101000 ;PCI_0 на PB3 и PB5 out PCMSK, R16 ldi R16, 0b00100000 ;включить PCI_0 out GIMSK, R16 ;Спящий режим loop: cli sbis PINB, 5 rjmp pon sbic PINB, 3 rjmp pon sbic GPIOR1, 2 rjmp pon tst R7 brne pon tst R8 brne pon tst R9 brne pon clr R16 ;Выключить АЦП out ADCSRA, R16 ldi R17, 0b10110000 ldi R16, 0b10110100 ;BOD Sleep, Sleep, режим Power-down, BOD Sleep Enable out MCUCR, R16 out MCUCR, R17 ;BOD Sleep, Sleep, режим Power-down sei Sleep pon: cli ldi R16, 0b00100000 ;Sleep, режим Idle out MCUCR, R16 ldi R16, 0b10000110 ;Включить АЦП, тактовая clk/64 out ADCSRA, R16 sei Sleep rjmp loop ;Праграммный ШИМ RGB каналов Over0: ldi R16, 0b10000001 ;Сбросить и остановить предделитель out GTCCR, R16 clr R16 ;Сбросить таймер out TCNT0, R16 in R16, TIFR ;Убрать флаг CompA0 andi R16, 0b00010000 out TIFR, R16 sbis PINB, 5 ;Корректное выключение rjmp oka sbic PINB, 3 rjmp oka clr R1 clr R2 clr R3 cbi GPIOR0, 0 rjmp pwm oka: in R30, ADCL ;Подготовка данных с АЦП in R31, ADCH subi R30, 0x84 sbci R31, 0x02 brcc okv clr R30 clr R31 rjmp okv1 okv: tst R31 breq okv1 ser R30 clr R31 okv1: cpi R30, 108 ;Вкл/выкл анимации севшей батареи brcc hibat sbi GPIOR0, 0 rjmp lobat hibat: cpi R30, 118 brcs lobat cbi GPIOR0, 0 lobat: mov R16, R30 ;Загрузка данных RGB индикатора clr R17 lsl R30 ;x6 rol R31 lsl R30 rol R31 add R30, R16 adc R31, R17 add R30, R16 adc R31, R17 subi R31, -0xA ;+2560 lpm mov R1, R0 ;Загрузить Red ldi R16, 1 add R30, R16 adc R31, R17 lpm mov R2, R0 ;Загрузить Green add R30, R16 adc R31, R17 lpm mov R3, R0 ;Загрузить Blue add R30, R16 adc R31, R17 lpm mov R4, R0 ;Загрузить Red_comp add R30, R16 adc R31, R17 lpm mov R5, R0 ;Загрузить Green_comp add R30, R16 adc R31, R17 lpm mov R6, R0 ;Загрузить Blue_comp ;Функция управления анимацией pwm: sbic PINB, 5 ;Загрузить 3-й канал, если бит сброшен rjmp clrm3 sbic GPIOR1, 5 ;Загрузить, если не загружен rjmp setm1 clr R28 out GPIOR1, R28 ldi R25, 255 ;Цвет анимации 3-го канала (заряд батареи) ldi R26, 255 ldi R27, 255 ldi R29, 2 ;Скорость анимации sbi GPIOR1, 5 ;Включить анимацию rjmp setm clrm3: sbis GPIOR0, 0 ;Загрузить 2-й канал, если бит установлен rjmp clrm2 sbic GPIOR1, 4 ;Загрузить, если не загружен rjmp setm1 clr R28 out GPIOR1, R28 ldi R25, 0 ;Цвет анимации 2-го канала (низкий заряд батареи) ldi R26, 0 ldi R27, 0 ldi R29, 3 ;Скорость анимации sbi GPIOR1, 4 ;Включить анимацию rjmp setm clrm2: sbis PINB, 3 ;Загрузить 1-й канал, если бит установлен rjmp clrm1 sbic GPIOR1, 3 ;Загрузить, если не загружен rjmp setm1 clr R28 out GPIOR1, R28 ldi R25, 0 ;Цвет анимации 1-го канала (фон) ldi R26, 255 ldi R27, 255 ldi R29, 1 ;Скорость анимации sbi GPIOR1, 3 ;Включить анимацию rjmp setm clrm1: clr R28 ;Корректное выключение анимации out GPIOR1, R28 mov R24, R28 rjmp red setm: sbi GPIOR1, 2 setm1: sbic GPIOR1, 1 ;Увеличивать множитель, если 1-й бит сброшен rjmp lessm ;Иначе уменьшать add R28, R29 brcc okm ser R28 mov R24, R28 ldi R28, 127 in R16, GPIOR1 ;Инвертировать 0-й бит ldi R17, 0b00000001 eor R16, R17 out GPIOR1, R16 sbic GPIOR1, 0 rjmp red sbi GPIOR1, 1 ser R28 rjmp red lessm: sub R28, R29 brcc okm clr R28 mov R24, R28 ldi R28, 127 in R16, GPIOR1 ;Инвертировать 0-й бит ldi R17, 0b00000001 eor R16, R17 out GPIOR1, R16 sbic GPIOR1, 0 rjmp red clr R28 out GPIOR1, R28 rjmp red okm: sbis GPIOR1, 0 mov R24, R28 ;R1 - Red_main ;R2 - Green_main ;R3 - Blue_main ;R4 - Red_comp ;R5 - Green_comp ;R6 - Blue_comp ;R7 - Red_damped ;R8 - Green_damped ;R9 - Blue_damped ;R25 - Red_mixing ;R26 - Green_mixing ;R27 - Blue_mixing ;R24 - color_ratio ;R28 - Loop_ratio ;R29 - speed_ratio ;Функция расчёта длительности импульсов каналов red: mov R10, R1 mov R17, R4 mov R11, R7 mov R12, R25 rcall anima mov R7, R11 mov R10, R2 ;green mov R17, R5 mov R11, R8 mov R12, R26 rcall anima mov R8, R11 mov R10, R3 ;blue mov R17, R6 mov R11, R9 mov R12, R27 rcall anima mov R9, R11 mov R16, R8 ;Вычисление канала с наименьшей длительностью dec R16 dec R7 dec R9 cp R9, R16 brcc more1 mov R16, R9 more1: cp R7, R16 brcc more2 mov R16, R7 more2: inc R16 inc R7 inc R9 out OCR0A, R16 ;Загрузка канала с наименьшей длительностью tst R7 ;Включение каналов breq zeror sbi PORTB, 0 ;red zeror: tst R8 breq zerog sbi PORTB, 1 ;green zerog: tst R9 breq zerob sbi PORTB, 2 ;blue zerob: clr R16 out GTCCR, R16 ;Запустить предделитель sbi ADCSRA, 6 ;Start Conversion reti anima: sbis GPIOR1, 2 ;Пропустить анимирование, если ноль rjmp damper cp R10, R12 ;Анимирование breq damper ;Перейти к компенсации, если равно brcs lessa ;Перейти если main < mixing mov R14, R10 ;main - mixing = X sub R14, R12 mov R13, R24 rcall mpy8u1 ;( X x color_ratio ) / 255 = Y sub R10, R15 ;main - Y = main rjmp damper lessa: mov R14, R12 ;mixing - main = X sub R14, R10 mov R13, R24 rcall mpy8u1 ;( X x color_ratio ) / 255 = Y add R10, R15 ;main + Y = main damper: mov R13, R17 ;Компенсация зависимости яркости от напряжения питания mov R14, R10 rcall mpy8u1 ;R15 <- R10 x R17 / 255 cp R15, R11 ;Сглаживание цветопередачи breq loadd ;Перейти к загрузке, если равно brcs lessd ;Перейти если main < damped mov R16, R15 ;Увеличить damped на 1/16 разницы между main и damped sub R16, R11 lsr R16 lsr R16 lsr R16 lsr R16 tst R16 brne okd inc R16 okd: add R11, R16 ret lessd: mov R16, R11 ;Уменьшить damped на 1/16 разницы между main и damped sub R16, R15 lsr R16 lsr R16 lsr R16 lsr R16 tst R16 brne okd1 inc R16 okd1: sub R11, R16 loadd: ret mpy8u1: clr R15 ;R15 <- R14 x R13 / 255 ldi R16, 8 lsr R14 m8u_0: brcc m8u_1 add R15, R13 m8u_1: ror R15 ror R14 dec R16 brne m8u_0 tst R14 breq m8u_2 inc R15 m8u_2: ret ;Выключение каналов compA0: in R16, TCNT0 cp R16, R7 brcs ron cbi PORTB, 0 ;red ron: cp R16, R8 brcs gon cbi PORTB, 1 ;green gon: cp R16, R9 brcs bon cbi PORTB, 2 ;blue bon: in R16, PORTB ;Загрузка в компаратор следующего значения andi R16, 0b111 cpi R16, 0b001 brne mach1 out OCR0A, R7 reti mach1: cpi R16, 0b010 brne mach2 out OCR0A, R8 reti mach2: cpi R16, 0b011 brne mach3 cp R7, R8 brcc machg out OCR0A, R7 reti mach3: cpi R16, 0b100 brne mach4 out OCR0A, R9 reti mach4: cpi R16, 0b101 brne mach5 cp R7, R9 brcc machb out OCR0A, R7 reti mach5: cp R8, R9 ;0b110 brcc machb machg: out OCR0A, R8 reti machb: out OCR0A, R9 reti .ORG 0x500 ;Начало массива RGB индикатора (последние 1536 байт памяти) ;R G B RC GC BC R G B RC GC BC .db 255, 0, 0, 246, 255, 255, 255, 1, 0, 246, 255, 255 ;0 .db 254, 1, 0, 245, 251, 252, 254, 2, 0, 245, 246, 247 ;2 .db 253, 2, 0, 244, 243, 243, 253, 3, 0, 244, 240, 240 ;4 .db 252, 3, 0, 243, 238, 236, 251, 4, 0, 243, 235, 234 ;6 .db 251, 5, 0, 242, 233, 231, 250, 5, 0, 242, 231, 229 ;8 .db 250, 6, 0, 241, 229, 227, 249, 6, 0, 241, 227, 225 ;10 .db 248, 7, 0, 240, 226, 223, 248, 7, 0, 240, 224, 221 ;12 .db 247, 8, 0, 239, 223, 219, 246, 9, 0, 239, 221, 218 ;14 .db 246, 9, 0, 238, 220, 216, 245, 10, 0, 238, 218, 214 ;16 .db 244, 11, 0, 237, 217, 213, 244, 12, 0, 237, 215, 211 ;18 .db 243, 12, 0, 236, 214, 210, 242, 13, 0, 236, 213, 208 ;20 .db 241, 14, 0, 235, 211, 207, 241, 15, 0, 235, 210, 205 ;22 .db 240, 15, 0, 234, 209, 204, 239, 16, 0, 234, 207, 203 ;24 .db 238, 17, 0, 233, 206, 202, 237, 18, 0, 233, 205, 200 ;26 .db 236, 19, 0, 232, 204, 199, 235, 20, 0, 232, 202, 198 ;28 .db 235, 21, 0, 231, 201, 197, 234, 21, 0, 231, 200, 195 ;30 .db 233, 22, 0, 230, 199, 194, 232, 23, 0, 230, 198, 193 ;32 .db 231, 24, 0, 229, 197, 192, 230, 25, 0, 229, 196, 191 ;34 .db 229, 26, 0, 228, 195, 190, 228, 27, 0, 228, 194, 189 ;36 .db 227, 28, 0, 228, 193, 188, 226, 29, 0, 227, 192, 187 ;38 .db 225, 30, 0, 227, 191, 185, 224, 31, 0, 226, 190, 184 ;40 .db 223, 32, 0, 226, 189, 183, 222, 33, 0, 225, 188, 182 ;42 .db 221, 34, 0, 225, 187, 181, 220, 36, 0, 224, 187, 180 ;44 .db 219, 37, 0, 224, 186, 179, 217, 38, 0, 223, 185, 178 ;46 .db 216, 39, 0, 223, 184, 177, 215, 40, 0, 222, 183, 177 ;48 .db 214, 42, 0, 222, 182, 176, 213, 43, 0, 221, 181, 175 ;50 .db 211, 44, 0, 221, 180, 174, 210, 45, 0, 220, 179, 173 ;52 .db 209, 46, 0, 220, 178, 172, 208, 48, 0, 219, 178, 171 ;54 .db 206, 49, 0, 219, 177, 170, 205, 51, 0, 218, 176, 170 ;56 .db 204, 52, 0, 218, 175, 169, 202, 53, 0, 217, 174, 168 ;58 .db 201, 55, 0, 217, 173, 167, 199, 56, 0, 216, 173, 166 ;60 .db 198, 58, 0, 216, 172, 165, 197, 59, 0, 215, 171, 164 ;62 .db 195, 60, 0, 215, 170, 164, 194, 62, 0, 214, 170, 163 ;64 .db 192, 63, 0, 214, 169, 162, 191, 65, 0, 213, 168, 161 ;66 .db 189, 67, 0, 213, 168, 161, 187, 68, 0, 212, 167, 160 ;68 .db 186, 70, 0, 212, 166, 159, 184, 72, 0, 211, 165, 158 ;70 .db 183, 73, 0, 211, 165, 157, 181, 75, 0, 211, 164, 157 ;72 .db 179, 77, 0, 210, 163, 156, 178, 78, 0, 210, 163, 155 ;74 .db 176, 80, 0, 209, 162, 155, 174, 82, 0, 209, 161, 154 ;76 .db 172, 84, 0, 208, 161, 153, 170, 86, 0, 208, 160, 152 ;78 .db 168, 88, 0, 207, 159, 152, 166, 90, 0, 207, 158, 151 ;80 .db 164, 92, 0, 206, 158, 150, 162, 94, 0, 206, 157, 150 ;82 .db 160, 96, 0, 205, 156, 149, 158, 99, 0, 205, 156, 148 ;84 .db 156, 101, 0, 204, 155, 148, 154, 103, 0, 204, 155, 147 ;86 .db 152, 105, 0, 203, 154, 146, 150, 107, 0, 203, 153, 146 ;88 .db 147, 110, 0, 202, 153, 145, 145, 112, 0, 202, 152, 144 ;90 .db 142, 114, 0, 201, 152, 144, 140, 117, 0, 201, 151, 143 ;92 .db 138, 119, 0, 200, 150, 142, 135, 122, 0, 200, 150, 142 ;94 .db 133, 124, 0, 199, 149, 141, 130, 127, 0, 199, 149, 141 ;96 .db 127, 130, 0, 198, 148, 140, 124, 133, 0, 198, 148, 139 ;98 .db 121, 136, 0, 197, 147, 139, 119, 139, 0, 197, 146, 138 ;100 .db 116, 142, 0, 196, 146, 138, 114, 145, 0, 196, 145, 137 ;102 .db 111, 148, 0, 195, 145, 136, 107, 151, 0, 195, 144, 136 ;104 .db 103, 155, 0, 194, 143, 135, 100, 159, 0, 194, 143, 135 ;106 .db 96, 163, 0, 193, 142, 134, 92, 166, 0, 193, 142, 133 ;108 .db 88, 170, 0, 193, 141, 133, 84, 174, 0, 192, 141, 132 ;110 .db 80, 178, 0, 192, 140, 132, 77, 182, 0, 191, 140, 131 ;112 .db 73, 187, 0, 191, 139, 131, 68, 192, 0, 190, 139, 130 ;114 .db 64, 198, 0, 190, 138, 130, 58, 203, 0, 189, 138, 129 ;116 .db 53, 208, 0, 189, 137, 128, 47, 214, 0, 188, 137, 128 ;118 .db 42, 220, 0, 188, 136, 127, 36, 227, 0, 187, 136, 127 ;120 .db 29, 234, 0, 187, 135, 126, 21, 243, 0, 186, 135, 126 ;122 .db 13, 251, 0, 186, 134, 125, 4, 255, 3, 185, 134, 125 ;124 .db 0, 253, 9, 185, 133, 124, 0, 247, 15, 184, 133, 124 ;126 .db 0, 241, 21, 184, 132, 123, 0, 235, 27, 183, 132, 123 ;128 .db 0, 230, 33, 183, 131, 122, 0, 224, 39, 182, 131, 122 ;130 .db 0, 218, 44, 182, 130, 121, 0, 212, 49, 181, 130, 121 ;132 .db 0, 207, 55, 181, 129, 120, 0, 201, 60, 180, 129, 119 ;134 .db 0, 196, 65, 180, 128, 119, 0, 190, 70, 179, 128, 118 ;136 .db 0, 185, 75, 179, 127, 118, 0, 180, 80, 178, 127, 118 ;138 .db 0, 175, 85, 178, 126, 117, 0, 170, 89, 177, 126, 117 ;140 .db 0, 166, 94, 177, 125, 116, 0, 161, 99, 176, 125, 116 ;142 .db 0, 156, 104, 176, 124, 115, 0, 152, 108, 175, 124, 115 ;144 .db 0, 147, 113, 175, 123, 114, 0, 143, 117, 175, 123, 114 ;146 .db 0, 138, 122, 174, 123, 113, 0, 133, 126, 174, 122, 113 ;148 .db 0, 129, 130, 173, 122, 112, 0, 125, 134, 173, 121, 112 ;150 .db 0, 121, 138, 172, 121, 111, 0, 117, 142, 172, 120, 111 ;152 .db 0, 113, 146, 171, 120, 111, 0, 109, 150, 171, 119, 110 ;154 .db 0, 105, 154, 170, 119, 110, 0, 101, 158, 170, 118, 109 ;156 .db 0, 97, 162, 169, 118, 109, 0, 93, 167, 169, 118, 108 ;158 .db 0, 88, 171, 168, 117, 108, 0, 84, 174, 168, 117, 108 ;160 .db 0, 81, 178, 167, 116, 107, 0, 77, 181, 167, 116, 107 ;162 .db 0, 74, 185, 166, 116, 106, 0, 70, 189, 166, 115, 106 ;164 .db 0, 67, 192, 165, 115, 105, 0, 63, 195, 165, 114, 105 ;166 .db 0, 60, 199, 164, 114, 104, 0, 56, 202, 164, 113, 104 ;168 .db 0, 53, 206, 163, 113, 104, 0, 49, 209, 163, 113, 103 ;170 .db 0, 46, 213, 162, 112, 103, 0, 43, 216, 162, 112, 102 ;172 .db 0, 39, 219, 161, 111, 102, 0, 36, 222, 161, 111, 102 ;174 .db 0, 33, 225, 160, 111, 101, 0, 30, 228, 160, 110, 101 ;176 .db 0, 27, 231, 159, 110, 100, 0, 24, 234, 159, 109, 100 ;178 .db 0, 21, 237, 158, 109, 100, 0, 18, 240, 158, 109, 99 ;180 .db 0, 16, 243, 157, 108, 99, 0, 13, 246, 157, 108, 98 ;182 .db 0, 10, 249, 157, 108, 98, 0, 7, 251, 156, 107, 98 ;184 .db 0, 4, 254, 156, 107, 97, 1, 1, 255, 155, 106, 97 ;186 .db 3, 0, 254, 155, 106, 96, 5, 0, 252, 154, 106, 96 ;188 .db 8, 0, 250, 154, 105, 96, 10, 0, 248, 153, 105, 95 ;190 .db 12, 0, 246, 153, 105, 95, 14, 0, 243, 152, 104, 94 ;192 .db 17, 0, 241, 152, 104, 94, 19, 0, 239, 151, 103, 94 ;194 .db 21, 0, 237, 151, 103, 93, 23, 0, 235, 150, 103, 93 ;196 .db 26, 0, 232, 150, 102, 93, 28, 0, 230, 149, 102, 92 ;198 .db 30, 0, 228, 149, 102, 92, 32, 0, 226, 148, 101, 91 ;200 .db 34, 0, 224, 148, 101, 91, 36, 0, 222, 147, 101, 91 ;202 .db 38, 0, 220, 147, 100, 90, 40, 0, 218, 146, 100, 90 ;204 .db 42, 0, 216, 146, 100, 90, 44, 0, 214, 145, 99, 89 ;206 .db 46, 0, 212, 145, 99, 89, 48, 0, 210, 144, 99, 89 ;208 .db 50, 0, 208, 144, 98, 88, 52, 0, 206, 143, 98, 88 ;210 .db 54, 0, 204, 143, 98, 88, 56, 0, 202, 142, 97, 87 ;212 .db 58, 0, 200, 142, 97, 87, 60, 0, 198, 141, 97, 87 ;214 .db 62, 0, 196, 141, 96, 86, 63, 0, 194, 140, 96, 86 ;216 .db 65, 0, 192, 140, 96, 86, 67, 0, 190, 140, 95, 85 ;218 .db 69, 0, 189, 139, 95, 85, 71, 0, 187, 139, 95, 85 ;220 .db 72, 0, 185, 138, 94, 84, 74, 0, 183, 138, 94, 84 ;222 .db 76, 0, 181, 137, 94, 84, 78, 0, 179, 137, 93, 84 ;224 .db 80, 0, 177, 136, 93, 83, 81, 0, 176, 136, 93, 83 ;226 .db 83, 0, 174, 135, 92, 83, 85, 0, 172, 135, 92, 82 ;228 .db 87, 0, 170, 134, 92, 82, 88, 0, 169, 134, 91, 82 ;230 .db 90, 0, 167, 133, 91, 81, 92, 0, 165, 133, 91, 81 ;232 .db 94, 0, 164, 132, 90, 81, 96, 0, 162, 132, 90, 80 ;234 .db 97, 0, 160, 131, 90, 80, 99, 0, 158, 131, 89, 80 ;236 .db 100, 0, 157, 130, 89, 79, 102, 0, 155, 130, 89, 79 ;238 .db 104, 0, 153, 129, 89, 79, 105, 0, 152, 129, 88, 78 ;240 .db 107, 0, 150, 128, 88, 78, 108, 0, 148, 128, 88, 78 ;242 .db 110, 0, 147, 127, 87, 77, 112, 0, 145, 127, 87, 77 ;244 .db 113, 0, 144, 126, 87, 77, 115, 0, 142, 126, 86, 77 ;246 .db 116, 0, 140, 125, 86, 76, 118, 0, 139, 125, 86, 76 ;248 .db 119, 0, 137, 124, 86, 76, 121, 0, 136, 124, 85, 75 ;250 .db 123, 0, 134, 123, 85, 75, 124, 0, 132, 123, 85, 75 ;252 .db 126, 0, 131, 122, 84, 74, 127, 0, 129, 122, 84, 74 ;254 Вложение 3097 Готовые RGB светики сбалансированы и компенсировать разницу яркостей в каналах почти не приходится. А чем меньше компенсация, тем мягче работа... Вот печатка: Вложение 3099. А вот архив с программой, исходником, "дудкой", и готовыми батниками для прошивки через программатор на FT232RL: Вложение 3131. Сначала прошиваем фьюзы нового МК без отключения ресета, файлом "Fuse.bat", затем заливаем программу файлом "indikator.bat". Если нужно заюзать вывод CHRG, придётся отключить RESET файлом "Fuse_reset.bat". После этого прошить контроллер уже не получится, сначала придётся восстановить фьюз HV реаниматором. Схему своего варианта такого восстановителя я где-то тут выкладывал, программа к нему вот: Вложение 3130. Сейчас схема в дежурке кушает 30мкА (внешний делитель напряжения, на двух резисторах, в спячку уходить не умеет), во время работы 6...10мА. Яркость приличная, по-моему даже в избытке. Подключаю к нему матовый RGB светик с общим катодом. Вечером попробую снять видео, теперь это вполне возможно... Слеплю несколько вариантов программ для разной логики управления. Есть просьбы, например, сделать включение индикации при единице на CHRG. И ещё нужно два варианта для светиков с общим анодом и с общим катодом... В общем покупайте 45-е тиньки ![]() *Текущий код уже давно устарел, дальше по теме версии по-свежее... |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]() |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
Видео не помешало бы
![]() ![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Не получается видео снять
![]() |
![]() |
![]() ![]() |