Страница 1 из 1
как разъединить единицы и десятки?
Добавлено: 03.01.2023{, 20:23}
qzia
Возникла такая задача есть скажем так счётчик (хотя не обязательно счётчик) в общем что то что имеет выход intejer.
На котором число которое меняется от 0 до 32. Как то надо разъединить эти числа на 2 intejer на одном чтоб менялись значения десятков на другом единиц. Точнее на одно должно быть 1,2,3 через каждые 10 импульсов на втором 0-9 каждые десять значений.
Если с десятками то тут всё просто ставим блок деления делим на 10 и получаем желаемое. Вот как втащить единицы?
Про проект пока его нет есть только проблема.
Пробовал блок из темы про часы на ИН-1 но у меня не получилось его запустить в проекте автора этот блок работает.
как разъединить единицы и десятки?
Добавлено: 03.01.2023{, 21:04}
Naladchik
qzia писал(а): ↑03.01.2023{, 20:23}
разъединить эти числа на 2 intejer
- 111.png (4.49 КБ) 1076 просмотров
где in это исходное число.
как разъединить единицы и десятки?
Добавлено: 03.01.2023{, 21:36}
qzia
Спасибо за попытку помочь но увы не не работает ну или я чего то не понял.
Можете описать логику работы этого устройства?
как разъединить единицы и десятки?
Добавлено: 03.01.2023{, 22:09}
fsergei70
Есть же блок Modulo? попробуйте его
как разъединить единицы и десятки?
Добавлено: 03.01.2023{, 22:20}
Naladchik
qzia писал(а): ↑03.01.2023{, 21:36}
...не работает...
Логично что не работает.
В моем примере присутствуют: Деление, Умножение, Вычитание.
А у Вас? Все три блока деление.
Проверяйте.
как разъединить единицы и десятки?
Добавлено: 03.01.2023{, 23:03}
qzia
Naladchik писал(а): ↑03.01.2023{, 22:20}
А у Вас? Все три блока деление.
Увы на скрине не смог разобрать.
После вашего исправления работает.
Скрины это хорошо но всё же можете описать логику работы этой схемы
Почему об этом прошу? Всё крайне просто! Просто наверняка кому то может потребовать увеличить число десятков или внести какието свои изменения например чтоб единц в десятке было 6 а десятков 12. Получится кусочек часов да и вообще чего только не придумают.
Отправлено спустя 6 минут 29 секунд:
fsergei70 писал(а): ↑03.01.2023{, 22:09}
Есть же блок Modulo?
Вот с этого места пожалуйста по подробнее))))
как разъединить единицы и десятки?
Добавлено: 03.01.2023{, 23:23}
Phazz
3 блока математики! Напишите на листке эти действия и сами все поймёте.
как разъединить единицы и десятки?
Добавлено: 04.01.2023{, 00:01}
qzia
Понятно ну нет значит нет
Ну я давно всё понял.
как разъединить единицы и десятки?
Добавлено: 04.01.2023{, 07:13}
fsergei70
qzia писал(а): ↑03.01.2023{, 23:10}
Вот с этого места пожалуйста по подробнее))))
В блоках алгебры в самом низу есть блок остаток от деления (Modulo). Делите свое число на 10, на выходе блока будут единицы.
Отправлено спустя 7 минут 10 секунд:
Если просто число поделить на 10 то на выходе будут десятки. Можно конечно сделать и как 2 посте, но действий больше, и по всей видимости ресурсов контроллера сожрет больше. Еще можно проверку сделать на предмет - если исходное число больше десяти то выполняем вышеперечисленные действия, если меньше то берем все число как единицы. Если у вас числа от 0 до 32 зачем вам Integer. Хватит и Byte, памяти меньше израсходуете.
как разъединить единицы и десятки?
Добавлено: 04.01.2023{, 08:57}
Naladchik
fsergei70 писал(а): ↑04.01.2023{, 07:21}
Можно конечно сделать и как 2 посте, но действий больше, и по всей видимости ресурсов контроллера сожрет больше.
Вы серьезно?
Во первых, разница между двумя и тремя действиями как бы не существенна.
Во вторых, Вы уверены что операция взятия остатка (%, скорее всего перед вычислениями преобразует данные к типу float, как и деление, а операции с плавающей точкой весьма прожорливые) менее ресурсоемкая чем умножение и вычитание (а тут, в данном случае, только целочисленные величины).
как разъединить единицы и десятки?
Добавлено: 04.01.2023{, 09:59}
fsergei70
Naladchik писал(а): ↑04.01.2023{, 08:57}
Вы серьезно?
Оба варианта занимают 444 байта памяти и 9 байт динамической памяти.
как разъединить единицы и десятки?
Добавлено: 04.01.2023{, 10:24}
Naladchik
fsergei70 писал(а): ↑04.01.2023{, 09:59}
Оба варианта занимают 444 байта памяти и 9 байт динамической памяти.
Тут вопрос быстродействия гораздо интереснее. Я думал Вы про него, а не про занимаемое пространство.
как разъединить единицы и десятки?
Добавлено: 04.01.2023{, 13:41}
Phazz
Naladchik, Сделал замеры. 800000 циклов есп8266 делает практически за одинаковое время для обоих вариантов.
как разъединить единицы и десятки?
Добавлено: 04.01.2023{, 13:48}
Naladchik
Phazz, спасибо.
Я был уверен, что с modulo цикл должен был быть длительнее.
Опять же, на одной операции это можно и не увидеть, вот если их будет сотня то тогда будет понятно.
Само собой это не более чем мысли вслух и такие эксперименты проводить не прошу.
как разъединить единицы и десятки?
Добавлено: 04.01.2023{, 13:59}
Phazz
Naladchik, ну по сути я сделал 800к операций) Может на ардуино будет по другому.
как разъединить единицы и десятки?
Добавлено: 04.01.2023{, 19:23}
aidar_i
modulo специально создан, чтобы не мучаться с делениями, умножениями и тп.
как разъединить единицы и десятки?
Добавлено: 07.01.2023{, 17:40}
qzia
При помощи К155ИД1 или её аналога SN74141N будут зажигаться неоновые индикаторы цифровые.
вот набросок.
Интересно будет работать?
как разъединить единицы и десятки?
Добавлено: 07.01.2023{, 19:17}
Naladchik
qzia писал(а): ↑07.01.2023{, 17:40}
Интересно будет работать?
Ну работать то как то будет, только:
1. как отличить десятки показываются в данный момент или единицы?
2. как отличить цифру от цифры если они меняют друг друга с периодичностью 5 миллисекунд?
как разъединить единицы и десятки?
Добавлено: 07.01.2023{, 20:59}
qzia
Naladchik писал(а): ↑07.01.2023{, 19:17}
1. как отличить десятки показываются в данный момент или единицы?
Есть выход (может я просто не понятно обозвал) кадры если на выходе 1 то десятки если на выходе 0 то единицы. кажется так.
У неонок на удивление высокое быстродействие. В своё время занимался ремонтом автоматов кторые продавали билеты на электричку. На них стоят ИН1 так легко меняли показания с чатоотой кажись в 200гц Ну динамика у них с такой частотой.
ЗЫ
Это набросок будут лампы, а частоту подберём. За лампы я не беспокоюсь они могут работать на частотах которые в общем им не надо.
Пока не знаю какие найду а частоты у них могут отличаться.
как разъединить единицы и десятки?
Добавлено: 08.01.2023{, 15:56}
qzia
Naladchik писал(а): ↑07.01.2023{, 19:17}
2. как отличить цифру от цифры если они меняют друг друга с периодичностью 5 миллисекунд?
Сразу не понял вопроса.
частота смены цифр может получиться иногда даже выше. 1мс это время смены десятков и единиц. вовремя когда какой-то разряд работает это 1мс цифра в этом разряде тоже может поменяться.