Иногда смена эффектов довольно долго (до 10 секунд примерно) длится, гирлянда в этот момент не горит, можно это как то подкорректировать?
Гирлянда на RGB светодиодах
- Сообщения: 190
- Зарегистрирован: Пн сен 25, 2006 17:47:10
Спасибо за прошивку - сегодня запустил.
Иногда смена эффектов довольно долго (до 10 секунд примерно) длится, гирлянда в этот момент не горит, можно это как то подкорректировать?
Иногда смена эффектов довольно долго (до 10 секунд примерно) длится, гирлянда в этот момент не горит, можно это как то подкорректировать?
- Реклама
Это значит глюк в какой то из программ. Я ее еще не прогонял, в ближайшее время буду заниматься.
- Сообщения: 190
- Зарегистрирован: Пн сен 25, 2006 17:47:10
Через 8-12 минут работы выключается и перезапускается только выключением - включением питания.
Где то вылетает в бесконечный цикл
Так что ждите, планирую собрать гирлянду на 60 элементов. Осталось найти провод, вроде есть КСПВ Rexant 6х0,5 (многожильный люминий покрытый медью)
Есть мнение, что зима не за горами....
Собрался с духом
, запаял пока 30 сегментов (еще на 30 пока не решился), отдельное спасибо Kef за высланный конструктор.
Решил делать плату контроллера, но припомнил что были идеи по поводу кнопки для выбора режимов.
Кто-то может прояснить ситуацию, планируется ли кнопка, одна ли, и на каком порту будет висеть, чтобы сразу ее развести.
Планирую ставить геркон вместо кнопки, чтобы конструкцию легче герметизировать, но это наверно непринципиально.
Собрался с духом
Решил делать плату контроллера, но припомнил что были идеи по поводу кнопки для выбора режимов.
Кто-то может прояснить ситуацию, планируется ли кнопка, одна ли, и на каком порту будет висеть, чтобы сразу ее развести.
Планирую ставить геркон вместо кнопки, чтобы конструкцию легче герметизировать, но это наверно непринципиально.
- Реклама
По поводу кнопки, сделать планирую. На какой порт - нужно посмотреть где у пика висит внешнее прерывание. Попробую вечером поиграться с ним, найду, проверю - скажу
Спасибо, подожду.
Прерывание вроде как на RB0, а этот порт занят.
Больше никаких изменений в схеме контроллера не планируется?
Прерывание вроде как на RB0, а этот порт занят.
Больше никаких изменений в схеме контроллера не планируется?
Вод ведь, действительно занято. Но у него есть еще прерывания по изменения уровню RB4-RB7. Кстати кожно использовать пины внутрисхемного програмирования для подключения кнопки. Например RB7 и земля находяться рядом и на них можно одеть вот такой провод с разьемомvlad465 писал(а):Прерывание вроде как на RB0, а этот порт занят.![]()

Мне собственно все равно какой порт будет задействован, т.к. планирую использовать геркон.
А если пользоваться кнопкой - наверно так будет удобней.
Напишите, когда окончательно решите какой порт будет использоваться.
А если пользоваться кнопкой - наверно так будет удобней.
Напишите, когда окончательно решите какой порт будет использоваться.
Сижу пробую. Нормально улетает в прерывание при замыкания например PORTB, 7 (нога 28, выведеная на пины внутрисхемного програмирования) с землей. Так что ничего специально переразводить не нужно, пины уже есть 
Последний раз редактировалось Fallk Ср авг 21, 2013 09:12:54, всего редактировалось 1 раз.
Товарищи, надоело голову ломать в чтениях даташита. Есть у кого кусок программы для записи в EEPROM числа на асемблере. Я же правильно понимаю, что это энергонезависимая память.
Регулировку сделал, но никак не могу записать число в энергонезависимую память.
Регулировку сделал, но никак не могу записать число в энергонезависимую память.
В Basicе это очень просто :
EWrite 1, [$55]
Записать по адресу 01 число $55 (hex) или 85(десятичное).
В асме компилятор конечно побольше строк нарисовал...
Прикрепил целиком файл, только там много лишнего для BootLoaderа.
Вроде сильно специального ничего нет.
EWrite 1, [$55]
Записать по адресу 01 число $55 (hex) или 85(десятичное).
В асме компилятор конечно побольше строк нарисовал...
Спойлер
Код: Выделить всё
EE@WR
EE@WR@W
bsf 3,6 'STATUS
movwf 268 ' EEDATA
bsf 3,5 'STATUS
clrf 396 'EECON1
bsf 396,PP_WREN 'EECON1
movlw 85
movwf 397 'EECON2
movlw 170
movwf 397 'EECON2
bsf 396,PP_WR 'EECON1
btfsc 396,PP_WR 'EECON1
goto $ - 1
bcf 396,PP_WREN 'EECON1
bcf 3,5 'STATUS
incf 269,F 'EEADR
goto I@NT
I@NT
bcf 3,7 'STATUS
I@NT2
bcf 3,5 'STATUS
bcf 3,6 'STATUS
return
'---------------------------
Loop
F1_000023 equ $ ; IN [EEPROM.BAS] EWRITE 1,[$55]
movlw 1 'адрес в [EEPROM
bsf STATUS,6
ram_bank = 2
movwf EEADR
movlw 85 'число $55
bcf STATUS,6
ram_bank = 0
f@call EE@WR
F1_000024 equ $ ; IN [EEPROM.BAS] GOTO LOOP
F@JUMP Loop
F1_000025 equ $ ; IN [EEPROM.BAS] END
Вроде сильно специального ничего нет.
- Вложения
-
- eeprom.zip
- (3.57 КБ) 244 скачивания
Последний раз редактировалось Kef Сб авг 24, 2013 11:48:05, всего редактировалось 2 раза.
Попробую этот кусок применить, а то стандартная программа из даташита в пол первого не заработала. Может спать сильно хотел
А там случайно никаких инициализацию или конфигураций специальных не нужно делать для включения возможности записис в EEPROM?
Спустя пол дня....
Кусок не применился, твой асемблер круче моего - не компилит его MPLAB.
Читать предварительно записанное в EEPROM программатором научился. Записать бы теперь средствами контроллера ))
Спустя некоторое время....
Гребанные банки и проверка окончании записи. Не могли намекнуть в даташите. Итак - имеем две прошивки для одно ламповой и для двух ламповой гирлянды. Условно гирлянда V2.1 и V2.2
Кнопка висит на PORT7 (28 пин) и земле. Это 3 и 4 пин внутрисхемного програмирования. Обозначенны как - и D. Для тестовой программы сделанно так:
При нажатии попадаем в режим индикации белого цвета, каждое нажатие уменьшает яркость с шагом 10 из 255 возможных. Изменение для глаза не линейное так, как отнимаю по 10 всегда. Сначало мало изменяется, потом быстро. Для линейного изменения нужно каждый следующий щаг делать в два раз интенсивнее, т.е. отнимать 128,64,32,16,8,4,2,1 - но мне лень делать математику, для теста и так сойдет. Яркость меняется по кругу - меньше, меньше, совсем мало и хрякс опять полная яркость. Если кнопку не трогать пару секунд происходит запись в память значения яркости и возвращаемся с выбранной яркостью моргать цветами.
Но помните - у вас есть всего 100 000 попыток изменить цвет, после чего ячейка 0 в EEPROM превратится в тыкву
Спустя пол дня....
Кусок не применился, твой асемблер круче моего - не компилит его MPLAB.
Читать предварительно записанное в EEPROM программатором научился. Записать бы теперь средствами контроллера ))
Спустя некоторое время....
Гребанные банки и проверка окончании записи. Не могли намекнуть в даташите. Итак - имеем две прошивки для одно ламповой и для двух ламповой гирлянды. Условно гирлянда V2.1 и V2.2
Кнопка висит на PORT7 (28 пин) и земле. Это 3 и 4 пин внутрисхемного програмирования. Обозначенны как - и D. Для тестовой программы сделанно так:
При нажатии попадаем в режим индикации белого цвета, каждое нажатие уменьшает яркость с шагом 10 из 255 возможных. Изменение для глаза не линейное так, как отнимаю по 10 всегда. Сначало мало изменяется, потом быстро. Для линейного изменения нужно каждый следующий щаг делать в два раз интенсивнее, т.е. отнимать 128,64,32,16,8,4,2,1 - но мне лень делать математику, для теста и так сойдет. Яркость меняется по кругу - меньше, меньше, совсем мало и хрякс опять полная яркость. Если кнопку не трогать пару секунд происходит запись в память значения яркости и возвращаемся с выбранной яркостью моргать цветами.
Но помните - у вас есть всего 100 000 попыток изменить цвет, после чего ячейка 0 в EEPROM превратится в тыкву
- Вложения
-
- P00_MAIN_(2LED).HEX
- (1.36 КБ) 331 скачивание
-
- P00_MAIN_(1LED).HEX
- (1.36 КБ) 453 скачивания
100 000 записей это гарантировано дает завод изготовитель, а на самом деле намного больше!!!!Fallk писал(а):Но помните - у вас есть всего 100 000 попыток изменить цвет, после чего ячейка 0 в EEPROM превратится в тыкву
http://chipenable.ru/index.php/programm ... iment.html
Развел маленькую платку контроллера, покритикуйте. PIC в SO по габаритам не влезает, пришлось ставить SSOP.
Первоначально была мысль разместить контроллер в корпусе совместно с БП, но возможно гирлянда будет эксплуатироваться на улице, провода от БП с контроллером будут длинные, лишние потери.
А так поставлю контроллер нулевым звеном гирлянды, длинные провода только от источника питания, с потерями будет проще, и провода можно пустить потолще.
Думал совместить контроллер с первым звеном, но поскольку платы гирлянды уже есть, сейчас в раздумьи - оставить контроллер так или удлинить плату и на ней сделать еще и первое звено гирлянды. Что посоветуете?
Первоначально была мысль разместить контроллер в корпусе совместно с БП, но возможно гирлянда будет эксплуатироваться на улице, провода от БП с контроллером будут длинные, лишние потери.
А так поставлю контроллер нулевым звеном гирлянды, длинные провода только от источника питания, с потерями будет проще, и провода можно пустить потолще.
Думал совместить контроллер с первым звеном, но поскольку платы гирлянды уже есть, сейчас в раздумьи - оставить контроллер так или удлинить плату и на ней сделать еще и первое звено гирлянды. Что посоветуете?
- Вложения
-
- RGB (2).lay
- (18.63 КБ) 483 скачивания
Резистор на 28-ю ногу лишний, в пике есть подтягивающие резисторы на PORTB. Антенны не короткие? Потом придется сверху провод паять.vlad465 писал(а):покритикуйте.
С магнитом на улицу бегать? Спорт наш друг!
Я бы сделал отдельно, нулевым звеном. Ничто не вечно на этом свете, потом ремонтить легче будет или заменить.vlad465 писал(а):сейчас в раздумьи - оставить контроллер так или удлинить плату и на ней сделать еще и первое звено гирлянды. Что посоветуете?
На PORTB я подключил подтягивающие резисторы, поэтому нужно просто повесить кнопку на землю без всего.
По поводу висящих в воздухе дорожек - я думаю АЦП и так шумит, что бы специально делать аля "антена рации"
У геркона не будет слишком большого дребезга контактов?
По поводу висящих в воздухе дорожек - я думаю АЦП и так шумит, что бы специально делать аля "антена рации"
У геркона не будет слишком большого дребезга контактов?
ОК, уберу раз лишний.Kef писал(а):Резистор на 28-ю ногу лишний, в пике есть подтягивающие резисторы на PORTB.
Kef писал(а):Антенны не короткие? Потом придется сверху провод паять.
Сделал еще чуть подлиннее, дальше уже некуда, места нет, в крайнем случае можно подпаять проводок. Да и мнения противоречивые.Fallk писал(а):По поводу висящих в воздухе дорожек - я думаю АЦП и так шумит, что бы специально делать аля "антена рации"
Это точно, все-равно бегать.Kef писал(а):Хотя до кнопки тоже бежать нужно.![]()
С герконом же при желании можно сделать дистанционное управление
Думаю что геркон не должен дребезжать сильнее фиговенькой кнопочки.Fallk писал(а):У геркона не будет слишком большого дребезга контактов?
Да и дребезг обычно легко устраняется программно.
В параллель геркону либо кнопке поставь кондер на 0,1 мкФ и будет все тип-топvlad465 писал(а):Думаю что геркон не должен дребезжать сильнее фиговенькой кнопочки.Fallk писал(а):У геркона не будет слишком большого дребезга контактов?
Да и дребезг обычно легко устраняется программно.


