ARDUINO Часы на ГРИ v2. Обсуждение проекта

Часы на ГРИ v2. Обсуждение проекта
Вот, потихоньку делаю корпус на ГРИ) Нужно ли дальше запихивать лампы? Или наоборот сильно глубоко?) Определится не могу)
 

Вложения

Комментарии

15ton

✩✩✩✩✩✩✩
19 Сен 2019
5
0
Появился вопрос: “Перебор” цифр раз в полчаса, не дающий индикаторам окисляться" - это как выглядит? Перебираются все цифры во всех лампах? Просто у меня они моргнут и не меняются до следующей минуты. Алгоритм на примере 30 минут такой: 29 минут моргают не изменяясь, потом сразу перескакивают на 31 минуту.
там баг в скейчи в алекса написано
void burnIndicators() {
for (byte ind = 0; ind < 7; ind++) {
digitalWrite(opts[ind], 1);
}
for (byte dig = 0; dig < 10; dig++) {
setDigit(dig);
delayMicroseconds(BURN_TIME);

а нужно убрать микросекунды значение

void burnIndicators() {
for (byte ind = 0; ind < 7; ind++) {
digitalWrite(opts[ind], 1);
}
for (byte dig = 0; dig < 10; dig++) {
setDigit(dig);
delay(BURN_TIME);
мне помогло заработал перебор
 

o5com

✩✩✩✩✩✩✩
31 Окт 2019
4
0
@o5com, От мультиметра мало толку, там динамическая индикация, попробуй для начала в скетче поменять BOARD_TYPE
Board_Type просто меняет порядок включения катодов индикаторов, то есть последовательность зажигания цифр. У меня цифры не горят вообще, ни на одной лампе. С любой прошивкой и любым Board_Type.
В то же время с тестовыми прошивками все отлично работает. С любым значением Board_Type.
 

Alek

✩✩✩✩✩✩✩
17 Окт 2019
9
1
@o5com, Попробуй дописать скетч, чтобы время в сериал порт выводил, проверить работают ли сами часы. Если нужно помогу дописать.
 

Zinich

✩✩✩✩✩✩✩
8 Фев 2019
7
0
Добрый день! Собрал 3 платы (для проверки) на всех цифра 5 не работает. при этом сами лампы рабочие. остальные цифры так же работают идеально. но как только 5 надо отобразить - показывает следующую за ней цифру. Например 15:22 показывает как 12:22 или 20:54 показывает как 20:44 причем цифра, которая должна быть пятеркой блеклая... Дешифраторы менял... Ардуино менял... Да собственно три платы собрал, а все равно баг остается. Кто нибудь сталкивался с таким, или я у мамы особенный?
 

lucifericus

★✩✩✩✩✩✩
18 Сен 2019
74
14
Добрый день! Собрал 3 платы (для проверки) на всех цифра 5 не работает. при этом сами лампы рабочие. остальные цифры так же работают идеально. но как только 5 надо отобразить - показывает следующую за ней цифру. Например 15:22 показывает как 12:22 или 20:54 показывает как 20:44 причем цифра, которая должна быть пятеркой блеклая... Дешифраторы менял... Ардуино менял... Да собственно три платы собрал, а все равно баг остается. Кто нибудь сталкивался с таким, или я у мамы особенный?
странное описание проблемы. или 3231 брак, или в коде с маской что-то не то
 

o5com

✩✩✩✩✩✩✩
31 Окт 2019
4
0
@o5com, Попробуй дописать скетч, чтобы время в сериал порт выводил, проверить работают ли сами часы. Если нужно помогу дописать.
Индикация заработала. Была закорочена на землю нога SDA часового модуля.
Блин, неделю провозился ...
 

lucifericus

★✩✩✩✩✩✩
18 Сен 2019
74
14
Прошу прощения, сумбурно описал. Код тестовый, перебор цифр. Лампы Ин14. 2331 не используется тестовым скетчем.
на сколько я понимаю, именно 3231 отвечает за правильный счёт времени. вы загружаете тестовый скетч или прошивку полноценную?
 

berlingos

✩✩✩✩✩✩✩
3 Ноя 2019
23
5
51
Добрый день! Собрал 3 платы (для проверки) на всех цифра 5 не работает. при этом сами лампы рабочие. остальные цифры так же работают идеально. но как только 5 надо отобразить - показывает следующую за ней цифру. Например 15:22 показывает как 12:22 или 20:54 показывает как 20:44 причем цифра, которая должна быть пятеркой блеклая... Дешифраторы менял... Ардуино менял... Да собственно три платы собрал, а все равно баг остается. Кто нибудь сталкивался с таким, или я у мамы особенный?
Похоже на коротыш между линиями образующими ДИ. Если повторяемость в платах - значит дефект разводки плат. Или проект или исполнение.
 

berlingos

✩✩✩✩✩✩✩
3 Ноя 2019
23
5
51
Здравствуйте. Собрал часы, только вот проблема горят разом почти все цифры в каждой лампе (последняя вроде не горит). Флюс отмыт, пайка вроде норм. Что может быть не так?
Варианта два:
1. Не работает перебор разрядов.То есть они все всегда активны. Если нет приборов - помаши перед носом включенными часами с как можешь большей скоростью. Если видишь перебор разрядов(поочередное включение ламп) то переходим к п.2
2. Не работает перебор сегментов. Все сегменты всегда засвечены и не гаснут вообще никогда. Вопросы к 155ид1. Посмотреть подведено ли к ней питание 5 вольт. Если нет, то так и будет. 5-ый и 12-ый выводы питания этой мс. Если ты не подпаял 12 к плате - но меряешь тестером относительно массы(плата) на 5 выводе , то будет казаться что питание норм.
3. вариант) Программный загон. Рассинхронизация таймингов показа анодов и катодов ламп.
 

berlingos

✩✩✩✩✩✩✩
3 Ноя 2019
23
5
51
@Taras, корпус не продадите? в смысле заготовки хотел бы получить. А 3Д принтер "съест" эти файлы?
 

Rcraft152

✩✩✩✩✩✩✩
15 Июл 2019
16
0
Вышла прошивка 1.6. Кто уже тестил? Что нового? есть баги?
 

Alek

✩✩✩✩✩✩✩
17 Окт 2019
9
1
Тестировал прошивку с будильником и датчиком DHT 22 от уважаемого sNip3r, вылез следующий баг:
Подскажи пожалуйста, уже всю бошку сломал, не читает данные DHT с 13 пина, уже вывел данные в сериал порт, выдает 00, тут же закачиваю проверочный скетч, все работает.
Через 10 сек перестает показывать время, на индикаторах 0000 через 3 сек опять переключается на время, но время показывает не текущее а из памяти, секундный индикатор не моргает.
После нескольких дней борьбы с прошивкой и датчиками, оказалось прошивка не работает с Мега 168, которая впаяна у меня в часы, а на Ардуино Нано 328 работает.
Так, что прошивка рабочая, все дело в Мега 168.
 
  • Лойс +1
Реакции: x3mEr

x3mEr

★✩✩✩✩✩✩
26 Авг 2019
89
22
в 1.6 Алекс пошаманил с его библиотеками - вырезал лишнее для максимально быстрой работы. Теперь в bright.ino для отключения подсветки он использует setPin. У меня в версии 1.5 не работает ни setPin (подсветка никак не реагирует), ни setPWM (подсветка очень тускло, но всё же горит).

У кого чистая 1.6 - отключение подсветки средней кнопкой (кнопкой "минус") работает?

Проверил сам. Всё работает. Интересно, почему в чистой 1.5 SetPin тоже не работает.

P. S.: может кому-нибудь пригодится. setPin() из GyverHacks не отключает шим, в отличие от стандартного digitalWrite(). И setPWM() тоже, а установка duty cycle в 0 не спасает. Из ядра ардуино иде следует, что ШИМ выключается turnOffPWM(timer) при вызове digitalWrite(). Т. е. даже analogWrite(pin, 0) вызывает digitalWrite() чтобы отключить ШИМ.

В 1.6 Алекс явно выключает шим модифицированной функцией для часов из GyverHacks.

Кстати, на заметку тем, у кого неоновая точка: гамма-коррекция применяется и к точке. Если точка - LED, всё отлично. Но для неонки не надо применять коррекцию.

Обновил свою версию:
https://bitbucket.org/x3mEr/nixie-clock
https://github.com/x3mEr/NIXIE_clock
Добавил 2 эффекта переключения времени (flip effect), сохранение настроек в EEPROM, исправлен баг со скоростью эффектов (по факту скорость не менялась при смене эффекта).
 
Изменено:

Alek

✩✩✩✩✩✩✩
17 Окт 2019
9
1
@sNip3r, Буду собирать второй комплект часов с мегой 328, попробую, отпишусь.
 

DMUTPUUM

✩✩✩✩✩✩✩
6 Ноя 2019
6
0
Добрый день.
Не работает подсветка и точка.
Менял пины на такие.
C++:
// пины
#define PIEZO 10  // пищалка
#define KEY0 3    // часы
#define KEY1 4    // часы
#define KEY2 5    // минуты
#define KEY3 6    // минуты
#define BTN1 0    // кнопка 1
#define BTN2 1    // кнопка 2
#define GEN 9     // генератор
#define DOT 8    // точка
#define BACKL 7  // подсветка
#define BTN3 2   // кнопка 3
111.jpg
 
Изменено:

DMUTPUUM

✩✩✩✩✩✩✩
6 Ноя 2019
6
0
И что?
Кнопки как раз работают.
А вот точка и подсветка требует ШИМ, кто бы подсказал как вывести точку без регулировки яркости ....
Ладно, пока повешу на свободные пины с ШИМ подсветку и точку...
 

x3mEr

★✩✩✩✩✩✩
26 Авг 2019
89
22
И что?
Кнопки как раз работают.
А вот точка и подсветка требует ШИМ, кто бы подсказал как вывести точку без регулировки яркости ....
Ладно, пока повешу на свободные пины с ШИМ подсветку и точку...
Ну, если бегло, то в главном цикле убрать dotBrightTick(), а в timeTicker.ino в функцию calculateTime() добавить
if (dotFlag) digitalWrite(DOT, 1);
if (!dotFlag) digitalWrite(DOT, 0);