www.kn34pc.com

Форум на силистренските радиолюбители
Дата и час: 11 Сеп 2026, 12:46

Часовете са според зоната UTC + 2 часа




Напиши нова тема Отговори на тема  [ 25 мнения ]  Отиди на страница Предишна  1, 2
Автор Съобщение
МнениеПубликувано на: 02 Сеп 2026, 07:50 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1687
Местоположение: Силистра
DVS написа:
Най-лошото нещо на интернет - каквото и да се сетиш, някой друг вече го е направил ...

За хобито се занимаваме заради самото занимание :wink .
---
DVS написа:
... да се вземе един 16 сегментен индикатор и да се изписват часовете и минутите с букви.
Напр., IТ‘S ELEVEN THIRTY-SEVEN или ЕДИНАДЕСЕТ И ТРИДЕСЕТ И СЕДЕМ (на латиница).

Да, идеята е добра, може и така:

十五小时四十二分钟
(в превод (опростен китайски) -> петнадесет часа и четиридесет и две минути, в 9 символа напр. на LCD1601) :smile


Върнете се в началото
 Профил  
 
МнениеПубликувано на: 04 Сеп 2026, 08:31 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1687
Местоположение: Силистра
Часовник с 3x 7-сегментни индикатора, Четвърта версия:

2 светодиода за часове x10 и 3x 7-сег. индикатора
по-долу: 15:31


Прикачени файлове:
3x_2led.jpg
3x_2led.jpg [ 57.16 KiB | Прегледано 6712 пъти ]
Върнете се в началото
 Профил  
 
МнениеПубликувано на: 05 Сеп 2026, 05:30 
Offline

Регистриран на: 11 Юни 2024, 14:10
Мнения: 136
Часовник с 3x 7-сегментни индикатора, Пета версия:
Мултиплексиране на часовете и минутите, за да не се затрудняват читателите!

Вече има много млади хора, деца около 5-10 годишни, които никога не са виждали (или много рядко) часовник със стрелки и се затрудняват, а някои дори не могат да разберат, какво показва. В домовете им няма, родителите им не носят часовници със стрелки...
Като се замислих, ние в къщата също нямаме часовник със стрелки, освен тези, които съм опаковал и сложил в един кашон :-)


Прикачени файлове:
7_Seg_Watch.jpg
7_Seg_Watch.jpg [ 36.14 KiB | Прегледано 5935 пъти ]
Върнете се в началото
 Профил  
 
МнениеПубликувано на: 05 Сеп 2026, 10:42 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1687
Местоположение: Силистра
Благодаря, харесва ми :smt041

Дори за тест модифицирах прогр. си код към работещата установка "Часовници с 7-seg LED" на STM32F411CEU6.
име на папка на проекта: stm32f411ceu6_clock_7_seg_3_digit_ca_rtc_bat_x3_buttons_time_hh._.mm_calib :crazy .
Прикачени файлове:
ezgif-24c12e92e247e456.gif
ezgif-24c12e92e247e456.gif [ 688.86 KiB | Прегледано 5757 пъти ]

От 0:00 до 9:59 се изобразяват нормално H.MM с десетична точка: 0.00 ... 9.59
Преключването HH./.MM е от 10:00 до 23:59.

TIM4 - "превключващ" таймер за моментите на изобразяване
Код за потвърждение:
  // 100000000 / 10000 / 2000 = 5 Hz

  TIM4->PSC = 10000 - 1;
  TIM4->ARR = 2000 - 1;

fs[20] - "времеви прозорци" на показанията:
0 -> изгасен
1 -> HH.
2 -> .MM
Код за потвърждение:
// HH / MM -> 3 digit 7 segments LED indicator
// blank, hh, hh, hh, hh, hh, hh, hh, hh, hh, blank, mm, mm, mm, mm, mm, mm, mm, mm
const uint8_t fs[20] = {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2};
...
void TIM4_IRQHandler(void) {
  TIM4->SR &= ~TIM_SR_UIF;  // clear the update flag

  if (hh < 10) {
    d[0] = mm % 10;           // x1
    d[1] = (mm / 10) % 10;    // x10
    d[2] = hh % 10;           // x1

    dp[0] = 1;                // no dp
    dp[1] = 1;                // no dp
    dp[2] = double_dp;
  }
  else {
    fs_index++;

    if (fs_index > 19)
      fs_index = 0;

    switch (fs[fs_index]) {
    case 0:                   // blank
      d[0] = 11;
      d[1] = 11;
      d[2] = 11;

      dp[0] = 1;              // no dp
      dp[1] = 1;              // no dp
      dp[2] = 1;              // no dp
      break;

    case 1:                   // display 'HH._'
      d[0] = 11;              // blank
      d[1] = hh % 10;         // x1
      d[2] = (hh / 10) % 10;  // x10

      dp[0] = 1;              // no dp
      dp[1] = 0;              // dp
      dp[2] = 1;              // no dp
      break;

    case 2:                   // display '_.MM'
      d[0] = mm % 10;         // x1
      d[1] = (mm / 10) % 10;  // x10
      d[2] = 11;              // blank

      dp[0] = 1;              // no dp
      dp[1] = 1;              // no dp
      dp[2] = 0;              // dp
      break;
    }
  }
}

TIM10 - динамична индикация, превключване на 3 разряда през 106,7 Hz
Код за потвърждение:
   // 320 / 3 = 106.7 Hz
  // 100000000 / 100 / 3125 = 320 Hz

  TIM10->PSC = 100 - 1;
  TIM10->ARR = 3125 - 1;

Повече време отиде за избор (от няколко варианта) на сверяването (начинът на изобразяване точно в този момент).


Върнете се в началото
 Профил  
 
МнениеПубликувано на: 07 Сеп 2026, 07:15 
Offline

Регистриран на: 11 Юни 2024, 14:10
Мнения: 136
Часовник с 3x 7-сегментни индикатора, Шеста версия:
Аз го направих на GIF, нo aко на някой не го мързи да напише кода, за поредния вариант може да се направи ето това :D


Прикачени файлове:
Watch_Source.jpg
Watch_Source.jpg [ 51.64 KiB | Прегледано 2339 пъти ]
Watch.gif
Watch.gif [ 85.81 KiB | Прегледано 2339 пъти ]
Върнете се в началото
 Профил  
 
МнениеПубликувано на: 07 Сеп 2026, 10:51 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1687
Местоположение: Силистра
Да, анимирано е ефектно :smile
По- ми е малко информативно обаче: трябва да си задържам повече време погледа, за да разбера колко е часа :mail.

"Анимацията" през отделния таймер стана бързо.
Отново повече време отиде за метода за сверяването и индикацията в този случай. Но със TIM-stop/TIM-стар се получи.


Прикачени файлове:
ezgif-2f91c119766b8e12.gif
ezgif-2f91c119766b8e12.gif [ 1.31 MiB | Прегледано 2143 пъти ]
Върнете се в началото
 Профил  
 
МнениеПубликувано на: 07 Сеп 2026, 10:54 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1687
Местоположение: Силистра
Часовник с 3x 7-сегментни индикатора, Седма версия:
... :crazy


Върнете се в началото
 Профил  
 
МнениеПубликувано на: 09 Сеп 2026, 05:54 
Offline

Регистриран на: 11 Юни 2024, 14:10
Мнения: 136
Часовник с 3x 7-сегментни индикатора, Седма версия:
Математическите варианти са безброй, но няма начин часовникът да покаже „по икиндия“ - народният израз, който означава късен следобед, времето малко преди залез слънце или между 15:00 и 16:00 часа.
За показване на „ракиено време“ дори AI не може да се справи :D


Прикачени файлове:
Watch_7_Seg_1.png
Watch_7_Seg_1.png [ 170.79 KiB | Прегледано 261 пъти ]
Watch_7_Seg.gif
Watch_7_Seg.gif [ 13.29 KiB | Прегледано 261 пъти ]
Върнете се в началото
 Профил  
 
МнениеПубликувано на: 09 Сеп 2026, 06:42 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1687
Местоположение: Силистра
Сложно стана :smile . Четимост: нулева :smt048 .


Върнете се в началото
 Профил  
 
МнениеПубликувано на: 09 Сеп 2026, 08:58 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1687
Местоположение: Силистра
Часовник с 3x 7-сегментни индикатора, Осма версия:
... :crazy


Върнете се в началото
 Профил  
 
Покажи мненията от миналия:  Сортирай по  
Напиши нова тема Отговори на тема  [ 25 мнения ]  Отиди на страница Предишна  1, 2

Часовете са според зоната UTC + 2 часа


Кой е на линия

Потребители, разглеждащи този форум: 0 регистрирани и 23 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
cron
Форумът се задвижва от phpBB® Forum Software © phpBB Group
Преведено от yarnaudov.com