как вывести 3 знака на семисегментник по динамической

Вопросы от новичков
Ответить
fefar51702
Рядовой
Сообщения: 9
Зарегистрирован: 26.06.2022{, 07:35}
Репутация: 0
Имя: Валера

как вывести 3 знака на семисегментник по динамической

#1

Сообщение fefar51702 » 11.08.2022{, 07:25}

горят только две цифры двойки
притом третий знак и не горит где и должн абыть двойка
индикатор имеет только входы под один знак с последующей динамическим распределением
2022-08-11_111833.png
2022-08-11_111833.png (8.47 КБ) 800 просмотров
analoguedisplay_ched_4_bb (1).jpg
индикация.flp
(206.3 КБ) 15 скачиваний

aidar_i
Полковник
Сообщения: 2580
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 451
Откуда: Уфа
Имя: Айдар
Контактная информация:

как вывести 3 знака на семисегментник по динамической

#2

Сообщение aidar_i » 11.08.2022{, 11:05}

Пример подключения, мой термометр "Улица-Лоджия", индикатор подключен напрямую.
Термометр с 2мя DS18B20.flp
(655.6 КБ) 24 скачивания

Аватара пользователя
Goosr
Сержант
Сообщения: 175
Зарегистрирован: 07.06.2016{, 08:25}
Репутация: 12
Откуда: Тольятти
Имя: Дмитрий

как вывести 3 знака на семисегментник по динамической

#3

Сообщение Goosr » 11.08.2022{, 12:29}

Судя по вашей схеме, вы скорее всего не правильно соединили в программе выходы модуля семисегментного индикатора с модулем сдвиговых регистров. То-есть нужно подключать r1-A2 r2-B2 r3-C2. Схемку семисегментного дисплея прилагаю. И непонятно для чего выборка цыфр, модуль семисегментного дисплея понимает строку в зависимости от количества разрядов.
СпойлерПоказать
4 bit 7 segment module.jpg
FLProg 6.3.1 - 7.3.4 - Linux

fefar51702
Рядовой
Сообщения: 9
Зарегистрирован: 26.06.2022{, 07:35}
Репутация: 0
Имя: Валера

как вывести 3 знака на семисегментник по динамической

#4

Сообщение fefar51702 » 11.08.2022{, 15:44}

aidar_i, пинов не хватает
Goosr, мне нужно три независимых друг от друга знака выводить поэтому и пробую сделать синхронизатор разрядов
плохо что автор не доработал его до такой возможности
как вы и сказали блок понимает только строку на все разряды сразу
есть предположние что я в цикл не попадаю но сообразить не могу куда перекинуть разряд

Аватара пользователя
Goosr
Сержант
Сообщения: 175
Зарегистрирован: 07.06.2016{, 08:25}
Репутация: 12
Откуда: Тольятти
Имя: Дмитрий

как вывести 3 знака на семисегментник по динамической

#5

Сообщение Goosr » 11.08.2022{, 18:01}

Вам надо независимые цифры собирать в строку, для этого есть SSUM
FLProg 6.3.1 - 7.3.4 - Linux

fefar51702
Рядовой
Сообщения: 9
Зарегистрирован: 26.06.2022{, 07:35}
Репутация: 0
Имя: Валера

как вывести 3 знака на семисегментник по динамической

#6

Сообщение fefar51702 » 13.08.2022{, 16:26}

Goosr, разделяет нормально через суматор

только второй день немогу понять почиму знаки еле заметно подёргиваются
судя по осцылографу частота на r1 r2 r3 - 161гц что вполне достаточно для динамики
но видимо проблема кроется в сути этой частоты она состоит из импульса в 600мкс и паузы в 5,3мс
вроде апаратный SPI
непонятно почиму частота низкая и почиму её составляющие дисбалансные для сегментов

fefar51702
Рядовой
Сообщения: 9
Зарегистрирован: 26.06.2022{, 07:35}
Репутация: 0
Имя: Валера

как вывести 3 знака на семисегментник по динамической

#7

Сообщение fefar51702 » 25.08.2022{, 06:43}

а как разбить два разряда на суматор для коректного отображения ?
2022-08-25_103641.png
2022-08-25_103641.png (6.65 КБ) 477 просмотров
если послать 0-9 то нормально показывает
первое число номер меню и третье 0-9 а второе число пустое
но стоит подать число от 10 ... как первое число на дисплее сдвигается на второе а второе число передвигается на первое

если я в меню поставлю 5 то мне покажет 1 _ 5
если в меню поставить 23 то мне показывает 213 вместо 123

Аватара пользователя
Dryundel
Полковник
Сообщения: 2061
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 628
Откуда: Ярославль
Имя: Андрей
Контактная информация:

как вывести 3 знака на семисегментник по динамической

#8

Сообщение Dryundel » 25.08.2022{, 08:19}

fefar51702 писал(а):
11.08.2022{, 15:44}
если в меню поставить 23 то мне показывает 213 вместо 123
Потому, что во втором случае у Вас получается 4 разряда вместо 3. Пробел это тоже разряд.
Преобразуйте вторую строку в число, а лучше сразу возьмите это значение в числовом формате из блока меню. Дальше компаратор. Если число больше 9 то на второй вход сумматора подавайте пустую строку, если меньше - пробел. Через переключатель свитч.
Пользовательские блоки на сайте FLPROG - BLOCK
Выразить благодарность

aidar_i
Полковник
Сообщения: 2580
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 451
Откуда: Уфа
Имя: Айдар
Контактная информация:

как вывести 3 знака на семисегментник по динамической

#9

Сообщение aidar_i » 25.08.2022{, 09:41}

В моем примере выше показан как это решить.

fefar51702
Рядовой
Сообщения: 9
Зарегистрирован: 26.06.2022{, 07:35}
Репутация: 0
Имя: Валера

как вывести 3 знака на семисегментник по динамической

#10

Сообщение fefar51702 » 26.08.2022{, 06:05}

попробовал всеравно первые два числа меняются местами
2022-08-26_100036.png
2022-08-26_100036.png (8.65 КБ) 382 просмотра
меню.flp
(255.1 КБ) 10 скачиваний

Аватара пользователя
Dryundel
Полковник
Сообщения: 2061
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 628
Откуда: Ярославль
Имя: Андрей
Контактная информация:

как вывести 3 знака на семисегментник по динамической

#11

Сообщение Dryundel » 26.08.2022{, 17:21}

fefar51702 писал(а):
26.08.2022{, 06:05}
попробовал всеравно первые два числа меняются местами
Вы не вставили в свитч на вход 1 ничего. А надо вставить пустую строку.
Если ничего не писать туда, то константа не вставляется. Вставьте что то, сохраните, а потом снова откройте для изменения и бэкспейсом удалите все, после чего снова сохраните. Надо сделать так, что бы вход не был пунктирным.
Пользовательские блоки на сайте FLPROG - BLOCK
Выразить благодарность

aidar_i
Полковник
Сообщения: 2580
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 451
Откуда: Уфа
Имя: Айдар
Контактная информация:

как вывести 3 знака на семисегментник по динамической

#12

Сообщение aidar_i » 26.08.2022{, 18:18}

У него стоит пробел там.
fefar51702 писал(а):
25.08.2022{, 06:43}
показывает 213 вместо 123
вот это непонятно, как эти цифры могут поменяться местами, я понимаю ещё сдвиг направо.
Попробуйте на входа свитч подключить два сумматора: один с пробелом , другой без.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2061
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 628
Откуда: Ярославль
Имя: Андрей
Контактная информация:

как вывести 3 знака на семисегментник по динамической

#13

Сообщение Dryundel » 27.08.2022{, 00:38}

aidar_i писал(а):
26.08.2022{, 18:18}
У него стоит пробел там.
Пробел на входе 0, а на входе 1 константа не установлена вообще, а надо пустую строку.
Пользовательские блоки на сайте FLPROG - BLOCK
Выразить благодарность

fefar51702
Рядовой
Сообщения: 9
Зарегистрирован: 26.06.2022{, 07:35}
Репутация: 0
Имя: Валера

как вывести 3 знака на семисегментник по динамической

#14

Сообщение fefar51702 » 27.08.2022{, 06:10}

извените я там ошибся когда паял эти два разряда как раз
местами поменял
но всеравно без пустой строчки неполучилось бы

Ответить

Вернуться в «Начинающим»