ARDUINO Часы на ГРИ v2. Вариант adm503

poty

★★★★★★★
19 Фев 2020
3,632
1,035
@Alex-Fox., D2 и соответствующий резистор оставьте в покое. Если не применяете "оригинальный Гайверовский скетч", то высокое напряжение от модуля DS3231 вообще не зависит.
Какое напряжение на высоковольтном конденсаторе? Что ещё работает/не работает (подсветка, например)?
 

Tuapsinets

✩✩✩✩✩✩✩
15 Апр 2025
1
0
Доброго времени суток, а можно сделать так, чтобы подсветка при "дыхании" меняла цвет? А то стоят RGB светодиоды, а используются как одноцветные.
 

Bruzzer

★★★★✩✩✩
23 Май 2020
797
245
@Tuapsinets,
Предупреждение: У меня нет и не будет таких часов, так что могу быть не прав.
В данной прошивке Настройками этого сделать нельзя.
Сделать изменением программы можно (наверно), но если это пожелание, чтобы кто то сделал, то это не всем может быть интересно.
Например на мой взгляд - это "ретро" часы, и если они начнут переливаться радугой, то эффект ретро уменьшится.
Если хотите сами написать, то ПОПРОБОВАТЬ не сложно, но потом для "красоты" надо добавлять новый режим, менять меню настроек. Учесть увеличение суммарной нагрузки по току на Ардуино. и т.д.

Надо изменить файл bright.ino
C++:
  }
  setPWM(backlColors[backlColor], getPWM_CRT(backlBrightCounter));
} else {
  digitalWrite(backlColors[backlColor], 0);
}

заменить на что то вида, где getPWM_CRT_R G B
таблицы соответствия яркости и PWM для каждого цвета
(Или придумать свой алгоритм смены цвета)

  }
  //setPWM(backlColors[backlColor], getPWM_CRT(backlBrightCounter));
  setPWM(BACKLR, getPWM_CRT_R(backlBrightCounter));
  setPWM(BACKLG, getPWM_CRT_G(backlBrightCounter));
  setPWM(BACKLB, getPWM_CRT_B(backlBrightCounter));
} else {
  //digitalWrite(backlColors[backlColor], 0);
  digitalWrite(BACKLR, 0);
  digitalWrite(BACKLG, 0);
  digitalWrite(BACKLB, 0);
}
(Есть прошивка с адресными светодиодами от SERGO_ST, возможно проще перепаять диоды и перейти на нее, если хочется "радуги" )
 

jajer122

✩✩✩✩✩✩✩
9 Янв 2020
4
1
Может у кого есть корпус для 3д печати под плату adm503 на 6 индикаторов на ин14? Поделитесь плиз
 

fishunya

✩✩✩✩✩✩✩
19 Фев 2021
6
0
Добрый день. Подскажите пожалуйста, как подправить прошивку чтобы не отображались температура, давление и влажность, так как я не устанавливал модуль BME280 . Прошивка - NixieClock_PE_v2.1.0 - версия для плат "COVID-19" и "Ладушки".
 

denfreak

✩✩✩✩✩✩✩
30 Янв 2024
5
1
@fishunya,
Самый простой способ - это удалить вот этот блок:

buttonsSettings.ino:
      if (btnA.isClick() || btnA.isHolded()) {    // переход в режим отображения температуры
        curMode = SHTEMP;
        if (isBMEhere) {
          bme_temp->getEvent(&temp_event);
          bme_pressure->getEvent(&pressure_event);
          bme_humidity->getEvent(&humidity_event);
          tconvcorr();
        } else {
          indiDigits[0] = (byte) 0;
          indiDigits[1] = (byte) 0;
          indiDigits[2] = (byte) 0;
        }
        measurementsTimer.reset();
        anodeStates = 0x07;
        autoTimer.setInterval(TEMP_SH_TIME);
        autoTimer.reset();
        dotSetMode( DM_FULL );
        chBL = true;
      }
 
  • Лойс +1
Реакции: fishunya

fishunya

✩✩✩✩✩✩✩
19 Фев 2021
6
0
Добрый день. Установил модуль BME280. Всё работает. Подскажите пожалуйста, как подправить прошивку чтобы в температуре не отображались десятые, то-есть отображение было бы только на двух первых индикаторах, и чтобы переход на давление и влажность был не 5 сек, а 2 сек. Заранее благодарен. Прошивка - NixieClock_PE_v2.1.0
 

poty

★★★★★★★
19 Фев 2020
3,632
1,035
@fishunya,
Для исключения десятых в файле buttonsSettings.ino, строка 110, заменить на:
anodeStates = 0x03;
Временные промежутки автоматического перехода устанавливаются в строках 27-29 файла 0_data.ino.
 

fishunya

✩✩✩✩✩✩✩
19 Фев 2021
6
0
@poty, большое спасибо! Все получилось! И еще вопрос, можно ли в коде подкорректировать показание температуры (завышает на три градуса, часы не в корпусе), при этом давление и влажность показывает приблизительно нормально.
 

fishunya

✩✩✩✩✩✩✩
19 Фев 2021
6
0
Добрый день, форумчане! Подскажите, может у кого есть другая мелодия на будильник в прошивке NixieClock_PE_v2.1.0. Или подскажите, как написать простенький bip-bip-bip-bip...
 

poty

★★★★★★★
19 Фев 2020
3,632
1,035
@fishunya, где-то по ветке я изменение температуры для корректировки делал в отдельной версии. Если не заморачиваться, то строки 286 - 288 в файле buttonsSettings.ino:
C++:
          indiDigits[0] = (byte)((int)temp_event.temperature / 10);
          indiDigits[1] = (byte)((int)temp_event.temperature % 10);
          indiDigits[2] = (byte)((int)(temp_event.temperature * 10) % 10);
нужно переписать на:
C++:
          int _te_temp = (int)temp_event.temperature + 3; // 3 - это коррекция, плюс или минус - по желанию
          indiDigits[0] = (byte)(_te_temp / 10);
          indiDigits[1] = (byte)(_te_temp % 10);
          indiDigits[2] = (byte)(_te_temp * 10) % 10);
Мелодии под эту прошивку вряд ли кто писал. В целом можно самому написать, по нотам. По сути, в строках 53-55 файла 0_data.ino находятся три массива чисел:
NotePrescalerHigh и NotePrescalerLow - определяют частоту сигнала. Они должны быть равны или отличаться не более, чем на 1. Частота сигнала определяется как 8192/(NotePrescalerHigh + NotePrescalerLow). Т.е., например, для первых двух чисел в массиве частота равна 8192/(25+25)=163,84Гц, что соответствует ми малой октавы (164,82Гц).
NoteLength определяет частоту звучания ноты. L16=127мс - это длительность 1/16. То есть для ноты, рассматриваемой выше - длительность её звучания 127*3=381мс.
 

fishunya

✩✩✩✩✩✩✩
19 Фев 2021
6
0
@poty,Добрый день. Переписал код на:
C++:
          int _te_temp = (int)temp_event.temperature - 4; // 3 - это коррекция, плюс или минус - по желанию
          indiDigits[0] = (byte)(_te_temp / 10);
          indiDigits[1] = (byte)(_te_temp % 10);
          indiDigits[2] = (byte)((_te_temp * 10) % 10);
Теперь показывает реальную температуру, затем скорректированную, затем давление и влажность. Подскажите пожалуйста как убрать показания реальной температуры.
 

poty

★★★★★★★
19 Фев 2020
3,632
1,035
@fishunya, ту же самую замену произвести в строках 101-103 той же вкладки.
 

fishunya

✩✩✩✩✩✩✩
19 Фев 2021
6
0
@poty, спасибо большое! Теперь все хорошо. Звук для будильника буду пытаться редактировать по Вашим подсказкам. Про результат отпишусь.
 

omntns

✩✩✩✩✩✩✩
17 Апр 2026
3
0
Привет! Извиняюсь заранее за возможную неактуалочку, но я уже волосы себе на голове рву. Впервые взялся за паяльник, собрал плату covid v2. Вроде перепроверил все пайки, плата прошита, форум перечитан, настройки перепроверил, но при включении сразу нагревается дроссель. Из нюансов, при первом включении я не подключил верхнюю плату. Успел измерить напряжение на конденсаторе (430вольт), потом заметил дым, отключил. Заменил конденсатор с 350в на 400, дроссель заменил (больше всего грелся), заменил один из конденсаторов 6.3в (тоже грелся). И на текущем моменте лишь вижу напряжение около 3х вольт на транзисторе и большом конденсаторе. Дроссель кипятится. Если можете пнуть в нужном направлении - буду благодарен
 

poty

★★★★★★★
19 Фев 2020
3,632
1,035
@omntns, скорее всего повредился контроллер в Ардуино. Если написали в этот раздел, значит плата от adm503? Тогда регулировка осуществляется в прошивке и включение без верхней платы не играет роли. Но если напряжение было 430В, то есть вероятность, что после делителя на управляющий напряжением вход было больше 5В. Что там не сработало - сложно сказать. Фото платы бы.
 

omntns

✩✩✩✩✩✩✩
17 Апр 2026
3
0
@omntns,
Обновление: перепаял все что только можно, в том числе и arduino. Наконец при подключении питания ничего не сгорает, но и высокого напряжения нет. Везде где мерил - было 5в, причем до/после прошивки ничего не поменялось (2.1.0). Используется DS3231SN, перемычка в нужном месте. Пользуясь предыдущим опытом, сразу приложу фото обновленной платы.
tempImageRKFXid.png
 

poty

★★★★★★★
19 Фев 2020
3,632
1,035
@omntns, до прошивки? А что Вы хотели увидеть до прошивки?
Вариантов много, от неправильной сборки до Ардуино с МП 328PB.
Для начала попробуйте !!!кратковременно!!! несколько раз соединить затвор MOSFET с +5В. Если напряжение на выходе поднялось более 5В, значит, как минимум, MOSFET, катушка индуктивности, диод, высоковольтный конденсатор работает. Дальше нужно смотреть, есть ли импульсы и какой амплитуды на выходе Ардуино, соединённым с затвором MOSFET и нет ли обрыва в резисторе между ними.
 
  • Лойс +1
Реакции: omntns

utka_s_pistoletom

✩✩✩✩✩✩✩
3 Янв 2026
3
1
Здравствуйте , подскажите как включать и менять эффекты неоновой секундной точки на часах ладушки. не могу разобраться это в прошивке нужно что то выставлять или где!? до этого мерцала два раза в секунду. почитал инструкцию написано что зависит от будильника . в общем кто то может на пальцах обЪяснить как её включать и менять эффекты

  • Поведение секундной точки зависит от того, включен ли будильник? устанавливается параметрами:
    • DOT_IN_TIME - когда будильник выключен;
    • DOT_IN_ALARM - когда будильник включен. Выбор поведения точки можно осуществлять из следующих величин:
    • DM_NULL, (0) точка постоянно выключена;
    • DM_ONCE, (1) точка моргает один раз в секунду (штатно);
    • DM_HALF, (2) точка изменяет яркость раз в секунду;
    • DM_TWICE,(3) точка моргает два раза в секунду;
    • DM_THREE,(4) точка моргает три раза в секунду;
    • DM_FULL, (5) точка постоянно включена
вот не чего не понял. куда нужно нажимать в каком именно меню настраивается секундная точка
 

poty

★★★★★★★
19 Фев 2020
3,632
1,035
@utka_s_pistoletom, выбор режима для точки не предусмотрен с помощью кнопок. Только изменить в самой прошивке. В версии 2.1.0 это делается в строках 146-147:
C++:
#define DOT_IN_TIME       DM_ONCE
#define DOT_IN_ALARM      DM_TWICE
 
  • Лойс +1
Реакции: utka_s_pistoletom

utka_s_pistoletom

✩✩✩✩✩✩✩
3 Янв 2026
3
1
победил неоновую точку)) было КЗ из за канифоли сразу не обратил внимания)) ЗАЧЁТНЫЕ ПЛАТЫ))