Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Сообщение Danko »

константин_KoSS_89 писал(а):Опять мучам Danko
Извиняюсь за упёртость, но что с регулеровкой яркости, просто если неполучаеться програмно можно в железе, просто гемора больше...
Вобшем жду ответа, стоит копаться в железе или нет?
У меня сейчас под рукой нет "железа", а в протеусе не получится.

Могу попробовать чисто теоретически (програмно), а тест в железе на Вас. Устроит вечером набросаю первый вариант и отпишусь.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Реклама
Аватара пользователя
константин_KoSS_89
Вымогатель припоя
Сообщения: 602
Зарегистрирован: Пн дек 29, 2008 01:40:28
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)

Сообщение константин_KoSS_89 »

Окей, жду... Впринципе, если невыйдет - В железе тож несложно, просто подать через диоды на базы транзисторов отрицательное смещение, схем на свой вкус и цвет :)
Реклама
Аватара пользователя
Barbudas
Встал на лапы
Сообщения: 100
Зарегистрирован: Ср дек 23, 2009 10:52:30
Откуда: Средний Урал

Сообщение 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 < 8) {
PORTD = 1 <<cur_dig>=10) cur_dig=0;


Нодо "0" поменять на "1" и насборот? Может есть готовый вариант?
Мне казалось, я бегу полем
На не чующих травы лапах…
Аватара пользователя
Barbudas
Встал на лапы
Сообщения: 100
Зарегистрирован: Ср дек 23, 2009 10:52:30
Откуда: Средний Урал

Сообщение Barbudas »

Упс! Не получилось поместить фрагмент, вернее он скопировался в окно текста, но передался неверно...
Мне казалось, я бегу полем
На не чующих травы лапах…
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Сообщение Danko »

foxit писал(а):Думаю, неплохо было бы добавить в схему дополнительный источник питания для всего девайса (например Крону или аккумулятор со схемой автоматической зарядки). В случае пропадания света девайс(функция будильника) остается работоспособным.
Возможны два варианта:

первый более простой - на одну ногу подать (АЦП) напряжение с делителя снятое с 12В (см.схему) и при пропадании напряжения програмно гасить индикаторы - потребление уменьшится.

второй более сложный - схема как в первом варианте только МК при пропадании усыплять, и периодически пробуждать "спящей собакой" для проверки появилась напруга или нет и проверять наступило ли условие будильника или нет. Потребление еще немного уменьшится.
Вложения
batt.GIF
(71.52 КБ) 1411 скачиваний
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Реклама
Аватара пользователя
Barbudas
Встал на лапы
Сообщения: 100
Зарегистрирован: Ср дек 23, 2009 10:52:30
Откуда: Средний Урал

Сообщение Barbudas »

Так-с, вставить кусок кода сюда не получаеся, а Code Vision отказался работать на Viste64. Придётся старый комп вытаскивать из-под дивана :))
Мне казалось, я бегу полем
На не чующих травы лапах…
Реклама
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Сообщение Danko »

Barbudas писал(а):Уважаемый Danko достаточно ли внесения изменений в этом фрагменте прошивки для устранения инверсии на индикаторах?
Первое: у Вас индикаторы с ОА.
Второе: в анодах индикаторов тр.ключи
Третье: в катодах тр.ключи в ULN
все верно? (Если нет подправьте меня)

Тогда для зажигания сегмента нужны две "1" в аноды и катоды семисегментника.

P.S.
я подправил прошивку для часов на мега16 и 10-ти семисегментниках. Сделал ее с календарем. В двух вариантах с ULN и без нее.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
Barbudas
Встал на лапы
Сообщения: 100
Зарегистрирован: Ср дек 23, 2009 10:52:30
Откуда: Средний Урал

Сообщение Barbudas »

Вы всё поняли правильно, у меня всё именно так - транзисторные ключи и ULN.
Мне казалось, я бегу полем
На не чующих травы лапах…
Аватара пользователя
Barbudas
Встал на лапы
Сообщения: 100
Зарегистрирован: Ср дек 23, 2009 10:52:30
Откуда: Средний Урал

Сообщение Barbudas »

Прошивка лежит на 2 странице ветки? Или как можно с ней ознакомиться?
Последний раз редактировалось Barbudas Пн янв 25, 2010 18:01:34, всего редактировалось 1 раз.
Мне казалось, я бегу полем
На не чующих травы лапах…
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Сообщение Danko »

Barbudas писал(а):Вы всё поняли правильно, у меня всё именно так - транзисторные ключи и ULN.
Clock-Term-Calendar-Alarm_LED_2009-12-31_auto.zip на первой странице там как раз Ваш вариант.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
Barbudas
Встал на лапы
Сообщения: 100
Зарегистрирован: Ср дек 23, 2009 10:52:30
Откуда: Средний Урал

Сообщение Barbudas »

Больщое спасибо. Сейчас попробую.
Мне казалось, я бегу полем
На не чующих травы лапах…
Аватара пользователя
Barbudas
Встал на лапы
Сообщения: 100
Зарегистрирован: Ср дек 23, 2009 10:52:30
Откуда: Средний Урал

Сообщение Barbudas »

Clock-Term-Calendar-Alarm_LED_2009-12-31_auto.zip Это точно для Меги16?
Мне казалось, я бегу полем
На не чующих травы лапах…
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Сообщение Danko »

Barbudas писал(а):Прошивка лежит на 2 странице ветки? Или как можно с ней ознакомиться?
Я сейчас на работе. Исходники дома. Приду домой обновлю в ветке прошивку (примерно часа через три).
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
Barbudas
Встал на лапы
Сообщения: 100
Зарегистрирован: Ср дек 23, 2009 10:52:30
Откуда: Средний Урал

Сообщение Barbudas »

Спасибо, буду ждать.
PS. Рассматривал сегодня фото с вашего место обитания. Красиво, и на фотках совсем отсутствует транспорт.
Мне казалось, я бегу полем
На не чующих травы лапах…
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Сообщение Danko »

Обновил исходник для часов на мега16 (стр.2).

+ версия тех же часов но с ULN
Вложения
Clock-Term-Calendar_Mega16_ULN_2010-01-25.zip
исходник CVAVR + проект Proteus 7.6SP0
(74.22 КБ) 680 скачиваний
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Сообщение Danko »

Для константин_KoSS_89
Регулировка яркости. Этап первый:
в схему со стр.1 (т.е с ULN) добавить делитель на переменном резисторе (10 - 20 кОм). Напряжение с движка подать на ADC1 (ножка 24).

При повороте движка резистора на индикаторе должно отображаться значение АЦП в десятичной системе (от 0 до 255) при этом должна регулироваться яркость (от min до max).

В протеусе на осциллографе видно изменение скважности.

Вопрос: работает ли все это в железе.
Вложения
delitel.GIF
(7.47 КБ) 1403 скачивания
Clock-Term-Calendar-Alarm_LED_test_yarkost.zip
прошивка + протеус
(22.27 КБ) 554 скачивания
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
константин_KoSS_89
Вымогатель припоя
Сообщения: 602
Зарегистрирован: Пн дек 29, 2008 01:40:28
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)

Сообщение константин_KoSS_89 »

Danko ОТЛИЧНО :))) Всё работает, нормальная"минимальная" яркость начинаеться гдето с "10ти" а максимум конечно "255" Резистор 10кОм
Продолжил опыт, подкинул ADC1 через резюк 10кОм к минусу а фото резистор (в светле 270 Ом, в темне 170кОм) к плюсу (пяти вольт соответственно) работает бомба! Вместо десяти килоом надо гдето пятнадцать-двадцать, ато при полном освещении комнаты "230...235"
Теперь програмно добавить в часы, будет гуд. Опрашивать можно раз в несколько секунд, будет достаточно....
Да, вот видео происходящего
Вложения
01.rar
Видео - 212кб
(211.75 КБ) 685 скачиваний
neon-f
Потрогал лапой паяльник
Сообщения: 392
Зарегистрирован: Сб дек 12, 2009 02:15:45

Сообщение neon-f »

Посмотрел в протеусе и на видео - здорово. Только, я думаю нужно сделать так 255-128(например) - полная яркость, 127-0 яркость от 100 до 40%(например). Яркости гораздо чаще не хватает, чем много.
Аватара пользователя
Barbudas
Встал на лапы
Сообщения: 100
Зарегистрирован: Ср дек 23, 2009 10:52:30
Откуда: Средний Урал

Сообщение Barbudas »

Спасибо, Danko, приду домой попробую, вчера не дождался, на работу вставать в 5:30.
Мне казалось, я бегу полем
На не чующих травы лапах…
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Сообщение Danko »

Этап второй (самый сложный):

определиться: сколько градаций яркости необходимо, шаг градации равный или..., частота опроса.

По моему мнению все 255 ступеней не нужны достаточно будет скажем 10 ступеней с равным шагом в 10% (но начинать не с АЦП=0, а скажем АЦП=10 или 20).

А может сделать еще проще 50%, 75%, 100% яркости и все. При этом к каждой градации привязать определенный диапазон значений АЦП т.е .график может быть нелинейным.

Опрос фоторезистора. В тестовом варианте был 5 раз в секунду. Проще будет (из за особенностей программы) оставить его таковым.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Ответить

Вернуться в «AVR»