DIGITAL544 Схему не рисовал . Стабилизатор на 170В перестроить на +27В Добавить стабилизатор на 1.6В У меня собран на LM2576 в классическом включении . Добавить ключи на p-n-p транзисторах с ULN 2003 на базу через резистор 56К база - эмиттер резистор 220 К , эмиттер на +27 В , коллектор на сегменты индикаторов и через 100К на общий . Сетки индикаторов на +27 В
Заголовок сообщения: Re: ГРИ часы под управлением ESP8266
Добавлено: Пт апр 01, 2016 18:00:14
Родился
Зарегистрирован: Пт мар 18, 2016 16:42:37 Сообщений: 19
Рейтинг сообщения:0
ВНН подтвердите соответствие выводов ULN 2003 сегментам индикатора, например 10,11,12,13,14,15,16-A,B,C,D,E,F,G. Под Ваши ключи подойдет семисегментный светодиодный индикатор с общим катодом?
DIGITAL544 Знакогенератор для каждого индикатора расположен в void h1 , void h2 , void m1 ....... в виде Btt5 = Btt5 + 0b10111111;// От MadOrc 0b00010001; Это байт вывода в регистр 595 . Подключай как тебе удобно и измени знакогенератор в соответствие с подключением. Как видно из программы у каждого индикатора свой знакогенератор , и подключение может быть разным в зависимости от разводки ПП.
_________________ Я тоже белый и пушистый и также как и Вы ловлю мышей. С уважением ВНН.
Стабилизатор надо поменять на DC-DC, есть вероятность(не всегда) что 1117 будет отрубаться по теплу. Или снизить напряжение питания часов.. В остальном проблем нет .
Цитата:
лишние кнопки я и другое..
Кнопки никогда не бывают лишними при таком кол-ве флеша.Может со временем... Что там еще другое?
_________________ У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
сделал вторую ревизию плат - с регистрами и ключами и с лампами (не могу пока красива упаковать 34063 заместо 1117 на основной)
вот уже почти начал паять и подумалось...
программное : *а как выглядит перевод времени весна-осень ? * >> ну и по софту - версии с собственным вебсервером для настройки сети с паролем для ГРИ-шной модификации вроде бы нету ? >>>sa-ta В сообщении от Пт дек 11, 2015 00:59:01 от Leoz - на плате были отмечены подключение фоторезистора.. в прошивка я так понимаю этот функционал не реализован (единственный АДС занят обслуживанием кнопок ) ?
аппаратное : *нет фотографий второй платы - нужно на каждый регистр паять тантал (емкость ?) + керамику ? *на каждый ключ ставить стабилитрон на 42 вольта или можно обойтись одним на всех ?
(не могу пока красива упаковать 34063 заместо 1117 на основной)
MP1470 на али 2 $ за 10. На 500кГц дроссель будет милипусенький.
sa-ta писал(а):
*а как выглядит перевод времени весна-осень ?
Плохо этот функционал в базовой прошивке не реализован. можно спросить uldemir , он грозился сделать вечный календарь.
Цитата:
на плате были отмечены подключение фоторезистора.. в прошивка я так понимаю этот функционал не реализован (единственный АДС занят обслуживанием кнопок ) ?
На выделенной ножке это реализовать не сложно, но есть проблемы с гистерезисом( когда на грани логического 0 и 1 часы начинают мигать. Или придется менять схему , а именно - местами кнопку и фото резистор . Предпочтительно использовать ночной режим по времени.
Цитата:
нет фотографий второй платы - нужно на каждый регистр паять тантал (емкость ?) + керамику ?
У меня на каждую микросхему стоит керамика , тантал 1 на всю плату.
Цитата:
*на каждый ключ ставить стабилитрон на 42 вольта или можно обойтись одним на всех ?
Можно хоть так хоть так, на плате это учтено. У меня на каждую микросхему стоит свой стаб.
_________________ У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
Я не грозился, я просил. Тот календарь что у меня, закончится через 20 лет (уже чуть меньше). Исходники есть выложены на второй странице этой темы. Там мой вариант - добавлен WEB сервер от leoz, переход на летнее/зимнее время по евросоюзному алгоритму (а в Крыму, разве всё еще есть летнее время?) - выключаемый и вывод времени чуть в другом формате (у меня другой сдвиговый регистр и разводка). Выкинуто гашение индикаторов и всё, что связано с подсветкой.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Доброго времени суток Сразу скажу , что не програмист, долго смотрел сравнивал скетчи, так и не понял как внести изменения чтоб подключить ГРИ (надо чтоб секунды были) Заранее буду благодарен тем кто поможет разобраться как это сделать.
void h1(uint8_t output) { switch (temp) { case 0: Btt5 = Btt5 + 0b10111111;//0b00010001; break; case 1: Btt5 = Btt5 + 0b00010101;//0b01110111; break; case 2: Btt5 = Btt5 + 0b11110011;//0b00101001; break; case 3: Btt5 = Btt5 + 0b01110111;//0b00100011; break; case 4: Btt5 = Btt5 + 0b01011101;//0b01000111; break; case 5: Btt5 = Btt5 + 0b01101111;//0b10000011; break; case 6: Btt5 = Btt5 + 0b11101111;//0b10000001; break; case 7: Btt5 = Btt5 + 0b00110101;//0b00110111; break; case 8: Btt5 = Btt5 + 0b11111111;//0b00000001; break; case 9: Btt5 = Btt5 + 0b01111111;//0b00000011; break; } } void h2(uint8_t output) {
switch (temp) { case 0: Btt4 = Btt4 + 0b10111111;//0b00010001; break; case 1: Btt4 = Btt4 + 0b00010101;//0b01110111; break; case 2: Btt4 = Btt4 + 0b11110011;//0b00101001; break; case 3: Btt4 = Btt4 + 0b01110111;//0b00100011; break; case 4: Btt4 = Btt4 + 0b01011101;//0b01000111; break; case 5: Btt4 = Btt4 + 0b01101111;//0b10000011; break; case 6: Btt4 = Btt4 + 0b11101111;//0b10000001; break; case 7: Btt4 = Btt4 + 0b00110101;//0b00110111; break; case 8: Btt4 = Btt4 + 0b11111111;//0b00000001; break; case 9: Btt4 = Btt4 + 0b01111111;//0b00000011; break; } }
void m1(uint8_t output) { switch (temp) { case 0: Btt3 = Btt3 + 0b10111111;//0b00010001; break; case 1: Btt3 = Btt3 + 0b00010101;//0b01110111; break; case 2: Btt3 = Btt3 + 0b11110011;//0b00101001; break; case 3: Btt3 = Btt3 + 0b01110111;//0b00100011; break; case 4: Btt3 = Btt3 + 0b01011101;//0b01000111; break; case 5: Btt3 = Btt3 + 0b01101111;//0b10000011; break; case 6: Btt3 = Btt3 + 0b11101111;//0b10000001; break; case 7: Btt3 = Btt3 + 0b00110101;//0b00110111; break; case 8: Btt3 = Btt3 + 0b11111111;//0b00000001; break; case 9: Btt3 = Btt3 + 0b01111111;//0b00000011; break; } } void m2(uint8_t output) {
switch (temp) { case 0: Btt2 = Btt2 + 0b10111111;//0b00010001; break; case 1: Btt2 = Btt2 + 0b00010101;//0b01110111; break; case 2: Btt2 = Btt2 + 0b11110011;//0b00101001; break; case 3: Btt2 = Btt2 + 0b01110111;//0b00100011; break; case 4: Btt2 = Btt2 + 0b01011101;//0b01000111; break; case 5: Btt2 = Btt2 + 0b01101111;//0b10000011; break; case 6: Btt2 = Btt2 + 0b11101111;//0b10000001; break; case 7: Btt2 = Btt2 + 0b00110101;//0b00110111; break; case 8: Btt2 = Btt2 + 0b11111111;//0b00000001; break; case 9: Btt2 = Btt2 + 0b01111111;//0b00000011; break; } } void s1(uint8_t output) {
switch (temp) { case 0: Btt1 = Btt1 + 0b10111111;//0b00010001; break; case 1: Btt1 = Btt1 + 0b00010101;//0b01110111; break; case 2: Btt1 = Btt1 + 0b11110011;//0b00101001; break; case 3: Btt1 = Btt1 + 0b01110111;//0b00100011; break; case 4: Btt1 = Btt1 + 0b01011101;//0b01000111; break; case 5: Btt1 = Btt1 + 0b01101111;//0b10000011; break; case 6: Btt1 = Btt1 + 0b11101111;//0b10000001; break; case 7: Btt1 = Btt1 + 0b00110101;//0b00110111; break; case 8: Btt1 = Btt1 + 0b11111111;//0b00000001; break; case 9: Btt1 = Btt1 + 0b01111111;//0b00000011; break; } } void s2(uint8_t output) {
switch (temp) { case 0: Btt0 = Btt0 + 0b10111111;//0b00010001; break; case 1: Btt0 = Btt0 + 0b00010101;//0b01110111; break; case 2: Btt0 = Btt0 + 0b11110011;//0b00101001; break; case 3: Btt0 = Btt0 + 0b01110111;//0b00100011; break; case 4: Btt0 = Btt0 + 0b01011101;//0b01000111; break; case 5: Btt0 = Btt0 + 0b01101111;//0b10000011; break; case 6: Btt0 = Btt0 + 0b11101111;//0b10000001; break; case 7: Btt0 = Btt0 + 0b00110101;//0b00110111; break; case 8: Btt0 = Btt0 + 0b11111111;//0b00000001; break; case 9: Btt0 = Btt0 + 0b01111111;//0b00000011; break; } }
Код:
case 9: Btt0 = Btt0 + 0b01111111;//0b00000011; break;
Эта строчка обозначает что при цифре девять в единицах секунд, число 0b01111111 будет на 595, к которой подключен индикатор единиц секунд. К 8 биту подключен, скорее всего, "С" сегмент.
Сдвиг происходит каждую секунду. Схему нарисовали как ИВшки подключены к 595?
_________________ У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
Я так понимаю ksv2109 хочет индикаторы ГРИ . Все просто для одного индикатора нужно 10 бит а регистры 8бит .Значит нужно 2 регистра 8+2 в остатке в 6 бит для 2го индикатора и так далее. // Выливаем на регистры digitalWrite(ST_CP, LOW); // Последовательная передача данных на пин DS shiftOutMy(DS, SH_CP, MSBFIRST, Btt0); shiftOutMy(DS, SH_CP, MSBFIRST, Btt1); shiftOutMy(DS, SH_CP, MSBFIRST, Btt2); shiftOutMy(DS, SH_CP, MSBFIRST, Btt3); shiftOutMy(DS, SH_CP, MSBFIRST, Btt4); shiftOutMy(DS, SH_CP, MSBFIRST, Btt5);
Сейчас этот форум просматривают: bestya и гости: 10
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения