Страница 12 из 148
Добавлено: Пн янв 25, 2010 16:08:50
Danko
константин_KoSS_89 писал(а):Опять мучам Danko
Извиняюсь за упёртость, но что с регулеровкой яркости, просто если неполучаеться програмно можно в железе, просто гемора больше...
Вобшем жду ответа, стоит копаться в железе или нет?
У меня сейчас под рукой нет "железа", а в протеусе не получится.
Могу попробовать чисто теоретически (програмно), а тест в железе на Вас. Устроит вечером набросаю первый вариант и отпишусь.
Добавлено: Пн янв 25, 2010 17:27:05
константин_KoSS_89
Окей, жду... Впринципе, если невыйдет - В железе тож несложно, просто подать через диоды на базы транзисторов отрицательное смещение, схем на свой вкус и цвет

Добавлено: Пн янв 25, 2010 17:27:50
Barbudas
Уважаемый Danko достаточно ли внесения изменений в этом фрагменте прошивки для устранения инверсии на индикаторах?
PORTD=0x00; PORTC&=0b11111100; // потушить все (биты всех знакомест "0" - для Общ.анод.)
PORTB=digits[digit_out[cur_dig]]; // символ на экран
// засветить нужный бит (бит знакоместа в "1" - для Общ.анод.)
if ((ind_ON == 1) && (cur_dig < 4)) PORTD = 1 <<cur_dig>= 4) { // для знакомест с 4 по 9
if (cur_dig <

{
PORTD = 1 <<cur_dig>=10) cur_dig=0;
Нодо "0" поменять на "1" и насборот? Может есть готовый вариант?
Добавлено: Пн янв 25, 2010 17:30:16
Barbudas
Упс! Не получилось поместить фрагмент, вернее он скопировался в окно текста, но передался неверно...
Добавлено: Пн янв 25, 2010 17:35:25
Danko
foxit писал(а):Думаю, неплохо было бы добавить в схему дополнительный источник питания для всего девайса (например Крону или аккумулятор со схемой автоматической зарядки). В случае пропадания света девайс(функция будильника) остается работоспособным.
Возможны два варианта:
первый более простой - на одну ногу подать (АЦП) напряжение с делителя снятое с 12В (см.схему) и при пропадании напряжения програмно гасить индикаторы - потребление уменьшится.
второй более сложный - схема как в первом варианте только МК при пропадании усыплять, и периодически пробуждать "спящей собакой" для проверки появилась напруга или нет и проверять наступило ли условие будильника или нет. Потребление еще немного уменьшится.
Добавлено: Пн янв 25, 2010 17:40:53
Barbudas
Так-с, вставить кусок кода сюда не получаеся, а Code Vision отказался работать на Viste64. Придётся старый комп вытаскивать из-под дивана

Добавлено: Пн янв 25, 2010 17:46:28
Danko
Barbudas писал(а):Уважаемый Danko достаточно ли внесения изменений в этом фрагменте прошивки для устранения инверсии на индикаторах?
Первое: у Вас индикаторы с ОА.
Второе: в анодах индикаторов тр.ключи
Третье: в катодах тр.ключи в ULN
все верно? (Если нет подправьте меня)
Тогда для зажигания сегмента нужны две "1" в аноды и катоды семисегментника.
P.S.
я подправил прошивку для часов на мега16 и 10-ти семисегментниках. Сделал ее с календарем. В двух вариантах с ULN и без нее.
Добавлено: Пн янв 25, 2010 17:50:47
Barbudas
Вы всё поняли правильно, у меня всё именно так - транзисторные ключи и ULN.
Добавлено: Пн янв 25, 2010 17:59:19
Barbudas
Прошивка лежит на 2 странице ветки? Или как можно с ней ознакомиться?
Добавлено: Пн янв 25, 2010 18:00:05
Danko
Barbudas писал(а):Вы всё поняли правильно, у меня всё именно так - транзисторные ключи и ULN.
Clock-Term-Calendar-Alarm_LED_2009-12-31_auto.zip на первой странице там как раз Ваш вариант.
Добавлено: Пн янв 25, 2010 18:02:42
Barbudas
Больщое спасибо. Сейчас попробую.
Добавлено: Пн янв 25, 2010 18:07:54
Barbudas
Clock-Term-Calendar-Alarm_LED_2009-12-31_auto.zip Это точно для Меги16?
Добавлено: Пн янв 25, 2010 18:09:06
Danko
Barbudas писал(а):Прошивка лежит на 2 странице ветки? Или как можно с ней ознакомиться?
Я сейчас на работе. Исходники дома. Приду домой обновлю в ветке прошивку (примерно часа через три).
Добавлено: Пн янв 25, 2010 18:12:24
Barbudas
Спасибо, буду ждать.
PS. Рассматривал сегодня фото с вашего место обитания. Красиво, и на фотках совсем отсутствует транспорт.
Добавлено: Пн янв 25, 2010 22:28:48
Danko
Обновил исходник для часов на мега16 (стр.2).
+ версия тех же часов но с ULN
Добавлено: Пн янв 25, 2010 23:54:32
Danko
Для константин_KoSS_89
Регулировка яркости. Этап первый:
в схему со стр.1 (т.е с ULN) добавить делитель на переменном резисторе (10 - 20 кОм). Напряжение с движка подать на ADC1 (ножка 24).
При повороте движка резистора на индикаторе должно отображаться значение АЦП в десятичной системе (от 0 до 255) при этом должна регулироваться яркость (от min до max).
В протеусе на осциллографе видно изменение скважности.
Вопрос: работает ли все это в железе.
Добавлено: Вт янв 26, 2010 00:53:17
константин_KoSS_89
Danko ОТЛИЧНО

Всё работает, нормальная"минимальная" яркость начинаеться гдето с "10ти" а максимум конечно "255" Резистор 10кОм
Продолжил опыт, подкинул ADC1 через резюк 10кОм к минусу а фото резистор (в светле 270 Ом, в темне 170кОм) к плюсу (пяти вольт соответственно) работает бомба! Вместо десяти килоом надо гдето пятнадцать-двадцать, ато при полном освещении комнаты "230...235"
Теперь програмно добавить в часы, будет гуд. Опрашивать можно раз в несколько секунд, будет достаточно....
Да, вот видео происходящего
Добавлено: Вт янв 26, 2010 02:30:37
neon-f
Посмотрел в протеусе и на видео - здорово. Только, я думаю нужно сделать так 255-128(например) - полная яркость, 127-0 яркость от 100 до 40%(например). Яркости гораздо чаще не хватает, чем много.
Добавлено: Вт янв 26, 2010 05:01:15
Barbudas
Спасибо, Danko, приду домой попробую, вчера не дождался, на работу вставать в 5:30.
Добавлено: Вт янв 26, 2010 07:41:59
Danko
Этап второй (самый сложный):
определиться: сколько градаций яркости необходимо, шаг градации равный или..., частота опроса.
По моему мнению все 255 ступеней не нужны достаточно будет скажем 10 ступеней с равным шагом в 10% (но начинать не с АЦП=0, а скажем АЦП=10 или 20).
А может сделать еще проще 50%, 75%, 100% яркости и все. При этом к каждой градации привязать определенный диапазон значений АЦП т.е .график может быть нелинейным.
Опрос фоторезистора. В тестовом варианте был 5 раз в секунду. Проще будет (из за особенностей программы) оставить его таковым.