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

Вопросы от новичков
Ответить
Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

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

Сообщение fefar51702 »

горят только две цифры двойки
притом третий знак и не горит где и должн абыть двойка
индикатор имеет только входы под один знак с последующей динамическим распределением
2022-08-11_111833.png
analoguedisplay_ched_4_bb (1).jpg
индикация.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

Пример подключения, мой термометр "Улица-Лоджия", индикатор подключен напрямую.
Термометр с 2мя DS18B20.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Goosr
Сержант
Сообщения: 184
Зарегистрирован: 07 июн 2016, 08:25
Откуда: Тольятти
Имя: Дмитрий

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

Сообщение Goosr »

Судя по вашей схеме, вы скорее всего не правильно соединили в программе выходы модуля семисегментного индикатора с модулем сдвиговых регистров. То-есть нужно подключать r1-A2 r2-B2 r3-C2. Схемку семисегментного дисплея прилагаю. И непонятно для чего выборка цыфр, модуль семисегментного дисплея понимает строку в зависимости от количества разрядов.
[spoiler]
4 bit 7 segment module.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
FLProg 6.3.1 - 7.3.4 - Linux
Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

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

Сообщение fefar51702 »

[ref=#ff8000]aidar_i[/ref], пинов не хватает
[ref]Goosr[/ref], мне нужно три независимых друг от друга знака выводить поэтому и пробую сделать синхронизатор разрядов
плохо что автор не доработал его до такой возможности
как вы и сказали блок понимает только строку на все разряды сразу
есть предположние что я в цикл не попадаю но сообразить не могу куда перекинуть разряд
Аватара пользователя
Goosr
Сержант
Сообщения: 184
Зарегистрирован: 07 июн 2016, 08:25
Откуда: Тольятти
Имя: Дмитрий

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

Сообщение Goosr »

Вам надо независимые цифры собирать в строку, для этого есть SSUM
FLProg 6.3.1 - 7.3.4 - Linux
Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

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

Сообщение fefar51702 »

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

только второй день немогу понять почиму знаки еле заметно подёргиваются
судя по осцылографу частота на r1 r2 r3 - 161гц что вполне достаточно для динамики
но видимо проблема кроется в сути этой частоты она состоит из импульса в 600мкс и паузы в 5,3мс
вроде апаратный SPI
непонятно почиму частота низкая и почиму её составляющие дисбалансные для сегментов
Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

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

Сообщение fefar51702 »

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

если я в меню поставлю 5 то мне покажет 1 _ 5
если в меню поставить 23 то мне показывает 213 вместо 123
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2432
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 30 раз

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

Сообщение Dryundel »

fefar51702 писал(а): 11 авг 2022, 15:44 если в меню поставить 23 то мне показывает 213 вместо 123
Потому, что во втором случае у Вас получается 4 разряда вместо 3. Пробел это тоже разряд.
Преобразуйте вторую строку в число, а лучше сразу возьмите это значение в числовом формате из блока меню. Дальше компаратор. Если число больше 9 то на второй вход сумматора подавайте пустую строку, если меньше - пробел. Через переключатель свитч.
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

В моем примере выше показан как это решить.
Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

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

Сообщение fefar51702 »

попробовал всеравно первые два числа меняются местами
2022-08-26_100036.png
меню.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2432
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 30 раз

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

Сообщение Dryundel »

fefar51702 писал(а): 26 авг 2022, 06:05 попробовал всеравно первые два числа меняются местами
Вы не вставили в свитч на вход 1 ничего. А надо вставить пустую строку.
Если ничего не писать туда, то константа не вставляется. Вставьте что то, сохраните, а потом снова откройте для изменения и бэкспейсом удалите все, после чего снова сохраните. Надо сделать так, что бы вход не был пунктирным.
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

У него стоит пробел там.
fefar51702 писал(а): 25 авг 2022, 06:43 показывает 213 вместо 123
вот это непонятно, как эти цифры могут поменяться местами, я понимаю ещё сдвиг направо.
Попробуйте на входа свитч подключить два сумматора: один с пробелом , другой без.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2432
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 30 раз

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

Сообщение Dryundel »

aidar_i писал(а): 26 авг 2022, 18:18 У него стоит пробел там.
Пробел на входе 0, а на входе 1 константа не установлена вообще, а надо пустую строку.
Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

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

Сообщение fefar51702 »

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

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя