www.kn34pc.com

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

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




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

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

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

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

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


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

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

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


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

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

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


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

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1681
Местоположение: Силистра
Благодаря, харесва ми :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 | Прегледано 4658 пъти ]

От 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
Мнения: 135
Часовник с 3x 7-сегментни индикатора, Седма версия:
Аз го направих на GIF, нo aко на някой не го мързи да напише кода, за поредния вариант може да се направи ето това :D


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

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

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


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

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


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

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


Кой е на линия

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


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

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