|
|
|
|
39070 83 0 0 |
|
Опции темы | Поиск в этой теме |
06.11.2010, 08:15 | 1 |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1362
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
RGB индикатор заряда батареи на ATtiny45
Давно уже хочу собрать себе красивый 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. Наверняка буду ещё допиливать его, так что не советую брать информацию с этого поста, если ниже нет по-новее... |
06.11.2010, 08:35 | 2 |
Ветеран Фонарёвки
|
|
06.11.2010, 13:07 | 3 |
Ветеран Фонарёвки
Регистрация: 25.02.2010 Последняя активность: 11.09.2013 18:36
Сообщений: 1408
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Для полноты восприятия видео явно не хватает.
|
06.11.2010, 13:17 | 4 |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 20.06.2019 01:21
Сообщений: 1411
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Обалденно! Просто обалденно! Я бы выразился более конкретно, но боюсь меня зацензурят! Давно я мечтал о такой штуке, она просто безупречна... Но вот как и чем её шить с ноута, тоже для меня вопрос... Может кто сможет прошить и выслать отдельно несколько контроллеров? за монету разумеется...
|
06.11.2010, 13:18 | 5 |
Ветеран Фонарёвки
|
+1 к выслать.
Штучка вышла на славу. Интересно посмотреть на доработанный вариант |
06.11.2010, 13:37 | 6 |
Ветеран Фонарёвки
|
Я бы тоже целую такую штучку купил бы
|
06.11.2010, 14:09 | 7 |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1362
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Я шью вот этим программатором: http://www.lasers.org.ru/fo.... USB'шный, так что и с ноутом без проблем работает. И простой очень. К нему и батники я выложил. Двойной клик и прошивка уже заливается... Не советую связываться с этим индикатором без программатора. Наверняка каждому захочется что-то поменять на свой вкус...
Да, забыл сказать. Программа не умеет компенсировать дрейф яркости светиков от напряжения питания в анимации. Основной цвет берёт из базы, там всё предусмотрено (кроме температурного дрейфа напряжения батареи), а вот второй цвет, в который анимация плавно переходит, фиксированный. Так что например белый цвет при максимальном заряде имеет синий оттенок, а при минимальном красный. Я пока незнаю как это устранить. Возможно ещё одну базу придётся лепить, причём сжатую. И отдельно в ней хранить компенсацию... Вообще компенсация это один сплошной костыль. Может в схему вместо полевика влеплю ULDO стабилизатор на 3V. Но тогда могут возникнуть проблемы с синим светиком, которому требуется напряжение выше 3V... |
06.11.2010, 18:02 | 8 |
Лазеростроитель
|
+1))
|
06.11.2010, 19:06 | 9 |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1362
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Добавил в первый пост ссылку на скачивание генератора БД.
UPD: Обновление программы, версия 1,1: Вложение 2124. В архиве батники и дудка. Всё готово для быстрой прошивки этим программатором: программатор на FT232RL. Сначала прошиваются фьюзы, затем программа... Потребление в дежурке снижено до 30мкА (Почти всё потребление приходится на внешний делитель напряжения в схеме). На днях перепишу программу под 45-ю тиньку. Разделю БД на две части. Компенсация яркости будет отдельная, чтоб ею мог пользоваться не только АЦП, но и анимация... Индикатором сегодня всю ночь играется и Fonarik. Пока вроде очень доволен ... |
08.11.2010, 20:30 | 10 |
Увлеченный
|
|
08.11.2010, 23:58 | 11 |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1362
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Да элементарщина там. Достаточно понять как графики устроены. А они устроены как... обычные графики .
Свимик же сразу въехал как у меня база устроена, и по рисунку программу написал. Причём универсальную... |
09.11.2010, 00:35 | 12 |
Увлеченный
|
|
09.11.2010, 09:17 | 13 |
Ветеран Фонарёвки
|
RGB смотри сверху вниз и поймешь какие цветта в каких пропорциях мешаются.
|
09.11.2010, 11:25 | 14 |
Завсегдатай Фонарёвки
|
Тоже чтоли собрать...тинька45 где-то была вроде... к несчастью только - тонер в принтере кончился
|
06.01.2011, 01:15 | 15 |
Ветеран Фонарёвки
|
Собрал и программатор и индикатор классно, проверял правда на 3х светодиодах простых, СМД в городе есть но нет зеленого
анимация классная, единственное что бы я подправил это длительность гашения индикатора, секунды 3-4 сделал бы но это моё имхо. Прошился и заработал индикатор сразу, я ненашел только резистор на 30 килоом, вместо него сейчас 33К , перенастроить надо будет. Резисторов у меня нету с плат разных ковыряю. Да и вместо полевика перемычка, их у меня тоже нет |
06.01.2011, 07:35 | 16 |
Завсегдатай Фонарёвки
|
а печатку еже сотворил отсталось споять и прошить
|
13.01.2011, 11:12 | 17 |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1362
Сказал(а) спасибо: 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-е тиньки . Полевики можно оставить и старые, но они не так хорошо давят помехи по питанию... *Текущий код уже давно устарел, дальше по теме версии по-свежее... |
13.01.2011, 14:49 | 18 |
Ветеран Фонарёвки
|
|
13.01.2011, 16:58 | 19 |
Ветеран Фонарёвки
|
Видео не помешало бы а то может 25 тиньки что я купил на простой RGB регулятор перепрошью просили для автомобиля сделать для подсветки днища
|
14.01.2011, 00:38 | 20 |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1362
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Не получается видео снять . Говнокамеры (вебки, мобилки и т.п.) не передают цвет, а нормальные колбасит от ШИМ светика. На глаз он не мерцает абсолютно (122Гц), а камеры колбасит капитально...
|