Страница 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
А у Вас? Все три блока деление.
Увы на скрине не смог разобрать.
После вашего исправления работает.
Скрины это хорошо но всё же можете описать логику работы этой схемы

Почему об этом прошу? Всё крайне просто! Просто наверняка кому то может потребовать увеличить число десятков или внести какието свои изменения например чтоб единц в десятке было 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мс цифра в этом разряде тоже может поменяться.