Страница 1 из 1

как разъединить единицы и десятки?

Добавлено: 03 янв 2023, 20:23
qzia
Возникла такая задача есть скажем так счётчик (хотя не обязательно счётчик) в общем что то что имеет выход intejer.
На котором число которое меняется от 0 до 32. Как то надо разъединить эти числа на 2 intejer на одном чтоб менялись значения десятков на другом единиц. Точнее на одно должно быть 1,2,3 через каждые 10 импульсов на втором 0-9 каждые десять значений.
Если с десятками то тут всё просто ставим блок деления делим на 10 и получаем желаемое. Вот как втащить единицы?
Про проект пока его нет есть только проблема.
Пробовал блок из темы про часы на ИН-1 но у меня не получилось его запустить в проекте автора этот блок работает.

как разъединить единицы и десятки?

Добавлено: 03 янв 2023, 21:04
Naladchik
qzia писал(а): 03 янв 2023, 20:23 разъединить эти числа на 2 intejer
111.png
где in это исходное число.

как разъединить единицы и десятки?

Добавлено: 03 янв 2023, 21:36
qzia
1х10.rar
Спасибо за попытку помочь но увы не не работает ну или я чего то не понял.
Можете описать логику работы этого устройства?

как разъединить единицы и десятки?

Добавлено: 03 янв 2023, 22:09
fsergei70
Есть же блок Modulo? попробуйте его

как разъединить единицы и десятки?

Добавлено: 03 янв 2023, 22:20
Naladchik
qzia писал(а): 03 янв 2023, 21:36...не работает...
Логично что не работает.
В моем примере присутствуют: Деление, Умножение, Вычитание.
А у Вас? Все три блока деление.
1х10_.flp
Проверяйте.

как разъединить единицы и десятки?

Добавлено: 03 янв 2023, 23:10
qzia
Naladchik писал(а): 03 янв 2023, 22:20 А у Вас? Все три блока деление.
Увы на скрине не смог разобрать. :smile453:
После вашего исправления работает. :smile9:
Скрины это хорошо но всё же можете описать логику работы этой схемы :smile38:
Почему об этом прошу? Всё крайне просто! Просто наверняка кому то может потребовать увеличить число десятков или внести какието свои изменения например чтоб единц в десятке было 6 а десятков 12. Получится кусочек часов да и вообще чего только не придумают.

Отправлено спустя 6 минут 29 секунд:
fsergei70 писал(а): 03 янв 2023, 22:09 Есть же блок Modulo?
Вот с этого места пожалуйста по подробнее))))

как разъединить единицы и десятки?

Добавлено: 03 янв 2023, 23:23
Phazz
3 блока математики! Напишите на листке эти действия и сами все поймёте.

как разъединить единицы и десятки?

Добавлено: 04 янв 2023, 00:01
qzia
Понятно ну нет значит нет
Ну я давно всё понял.

как разъединить единицы и десятки?

Добавлено: 04 янв 2023, 07:21
fsergei70
qzia писал(а): 03 янв 2023, 23:10 Вот с этого места пожалуйста по подробнее))))
В блоках алгебры в самом низу есть блок остаток от деления (Modulo). Делите свое число на 10, на выходе блока будут единицы.

Отправлено спустя 7 минут 10 секунд:
Если просто число поделить на 10 то на выходе будут десятки. Можно конечно сделать и как 2 посте, но действий больше, и по всей видимости ресурсов контроллера сожрет больше. Еще можно проверку сделать на предмет - если исходное число больше десяти то выполняем вышеперечисленные действия, если меньше то берем все число как единицы. Если у вас числа от 0 до 32 зачем вам Integer. Хватит и Byte, памяти меньше израсходуете.

как разъединить единицы и десятки?

Добавлено: 04 янв 2023, 08:57
Naladchik
fsergei70 писал(а): 04 янв 2023, 07:21 Можно конечно сделать и как 2 посте, но действий больше, и по всей видимости ресурсов контроллера сожрет больше.
Вы серьезно?
Во первых, разница между двумя и тремя действиями как бы не существенна.
Во вторых, Вы уверены что операция взятия остатка (%, скорее всего перед вычислениями преобразует данные к типу float, как и деление, а операции с плавающей точкой весьма прожорливые) менее ресурсоемкая чем умножение и вычитание (а тут, в данном случае, только целочисленные величины).

как разъединить единицы и десятки?

Добавлено: 04 янв 2023, 09:59
fsergei70
Naladchik писал(а): 04 янв 2023, 08:57Вы серьезно?
Оба варианта занимают 444 байта памяти и 9 байт динамической памяти.

как разъединить единицы и десятки?

Добавлено: 04 янв 2023, 10:24
Naladchik
fsergei70 писал(а): 04 янв 2023, 09:59 Оба варианта занимают 444 байта памяти и 9 байт динамической памяти.
Тут вопрос быстродействия гораздо интереснее. Я думал Вы про него, а не про занимаемое пространство.

как разъединить единицы и десятки?

Добавлено: 04 янв 2023, 13:41
Phazz
[ref]Naladchik[/ref], Сделал замеры. 800000 циклов есп8266 делает практически за одинаковое время для обоих вариантов.

как разъединить единицы и десятки?

Добавлено: 04 янв 2023, 13:48
Naladchik
[ref=#808080]Phazz[/ref], спасибо.
Я был уверен, что с modulo цикл должен был быть длительнее.
Опять же, на одной операции это можно и не увидеть, вот если их будет сотня то тогда будет понятно.
Само собой это не более чем мысли вслух и такие эксперименты проводить не прошу.

как разъединить единицы и десятки?

Добавлено: 04 янв 2023, 13:59
Phazz
[ref]Naladchik[/ref], ну по сути я сделал 800к операций) Может на ардуино будет по другому.

как разъединить единицы и десятки?

Добавлено: 04 янв 2023, 19:23
aidar_i
modulo специально создан, чтобы не мучаться с делениями, умножениями и тп.

как разъединить единицы и десятки?

Добавлено: 07 янв 2023, 17:40
qzia
При помощи К155ИД1 или её аналога SN74141N будут зажигаться неоновые индикаторы цифровые.
вот набросок.
Интересно будет работать?

как разъединить единицы и десятки?

Добавлено: 07 янв 2023, 19:17
Naladchik
qzia писал(а): 07 янв 2023, 17:40 Интересно будет работать?
Ну работать то как то будет, только:
1. как отличить десятки показываются в данный момент или единицы?
2. как отличить цифру от цифры если они меняют друг друга с периодичностью 5 миллисекунд?

как разъединить единицы и десятки?

Добавлено: 07 янв 2023, 20:59
qzia
Naladchik писал(а): 07 янв 2023, 19:17 1. как отличить десятки показываются в данный момент или единицы?
Есть выход (может я просто не понятно обозвал) кадры если на выходе 1 то десятки если на выходе 0 то единицы. кажется так.
Захват.jpg
У неонок на удивление высокое быстродействие. В своё время занимался ремонтом автоматов кторые продавали билеты на электричку. На них стоят ИН1 так легко меняли показания с чатоотой кажись в 200гц Ну динамика у них с такой частотой.
ЗЫ
Это набросок будут лампы, а частоту подберём. За лампы я не беспокоюсь они могут работать на частотах которые в общем им не надо.
Пока не знаю какие найду а частоты у них могут отличаться.

как разъединить единицы и десятки?

Добавлено: 08 янв 2023, 15:56
qzia
Naladchik писал(а): 07 янв 2023, 19:17 2. как отличить цифру от цифры если они меняют друг друга с периодичностью 5 миллисекунд?
Сразу не понял вопроса.
частота смены цифр может получиться иногда даже выше. 1мс это время смены десятков и единиц. вовремя когда какой-то разряд работает это 1мс цифра в этом разряде тоже может поменяться.