Помощь в доработке кода

Написал программу, но на мой взгляд сильно громоздкая.

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Помощь в доработке кода

#1

Сообщение tolibbass » 02.02.2018{, 16:34}

Приветствую уважаемые форумчане. Мучался с написанием программы, все-таки получилось. Но....... Кажется мне, что сильно громоздко получилось. Пробовал как-то по-другому сделать, но не выходит - то не работает вообще, то под нужный алгоритм не подходит. В общем, прошу помочь и направить слепого))) Алгоритм такой - есть 3 светодиода. При включении на первом значение переменной растет от 0 до 255, останавливается, начинает расти на втором, при достижении 255 также останавливается и начинает снижаться на первом(255-0). При достижении 0, начинает расти на третьем(0-255), когда на третьем 255 - начинает снижаться на втором до 0. когда на втором стало 0, начинает расти на первом. И так по кругу. Файл с программой приложен. Буду рад помощи))

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

Помощь в доработке кода

#2

Сообщение Labu559 » 03.02.2018{, 00:21}

tolibbass писал(а):
02.02.2018{, 16:34}
И так по кругу
По кругу не получится, задание содержит логическую ошибку. После первого цикла на третьем - 255 (попугаев ?) что противоречит во втором цикле условию
tolibbass писал(а):
02.02.2018{, 16:34}
При достижении 0, начинает расти на третьем(0-255)
Отправлено спустя 4 минуты 32 секунды:
tolibbass писал(а):
02.02.2018{, 16:34}
Файл с программой...
не приложен.

Аватара пользователя
magpit
Лейтенант
Сообщения: 382
Зарегистрирован: 01.10.2017{, 12:55}
Репутация: 16
Имя: Сергей

Помощь в доработке кода

#3

Сообщение magpit » 03.02.2018{, 01:59}

Так нужно...
Вложения
RGB светодиоды.flp
(114.36 КБ) 63 скачивания

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Помощь в доработке кода

#4

Сообщение tolibbass » 03.02.2018{, 04:46}

Файл прикрепил, в первый раз почему-то не получилось(

[/quote]По кругу не получится, задание содержит логическую ошибку. После первого цикла на третьем - 255 (попугаев ?) что противоречит во втором цикле условию
tolibbass писал(а):
02.02.2018{, 16:34}
При достижении 0, начинает расти на третьем(0-255)
Почему не получится?? Работает же))

Отправлено спустя 27 минут 32 секунды:
magpit писал(а):
03.02.2018{, 01:59}
Так нужно...
Это же просто перебор цветов, а по заданию нужно чтобы плавно нарастала и снижалась яркость каждого светодиода. Такой перелив цветов, от красного до синего, со всеми промежуточными))
Вложения
1.flp
(782.25 КБ) 55 скачиваний

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Помощь в доработке кода

#5

Сообщение Sancho » 03.02.2018{, 09:36}

Для начала.
Sancho писал(а):
31.01.2018{, 11:34}
Пожалуйста, возьмите за правило:
Новый выкладываемый на форум проект должен иметь Уникальное имя.
Даже для себя - делайте промежуточные сохранения проектов с новым номером версии - так проще откатится и сделать иначе, а также всегда видна последняя версия.
А это что? 1.flp
Скачал себе, а у меня несколько таких, не Вы один тренируетесь...
Разбирайся потом...
Пример
RGB_color_pereliv_v1.flp
Файл будет позже.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Помощь в доработке кода

#6

Сообщение tolibbass » 03.02.2018{, 09:50}

Спасибо, учту))

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Помощь в доработке кода

#7

Сообщение Sancho » 03.02.2018{, 10:57}

tolibbass,
Пробуй. Пины 9, 10, 11.
Если Ок, кнопку сам пристроишь, чего надо переделаешь...
Самое главное - идея.
Вложения
RGB_color_pereliv_v1.flp
Тестовый вариант без кнопки
(243.07 КБ) 60 скачиваний
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Помощь в доработке кода

#8

Сообщение tolibbass » 03.02.2018{, 11:03}

Немного не то, но идею я понял, сам допилю))) Спасибо большое. Прога весит не намного меньше чем моя, я думал можно намного ужать))

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Помощь в доработке кода

#9

Сообщение Sancho » 03.02.2018{, 11:14}

tolibbass писал(а):
03.02.2018{, 11:03}
Немного не то, но идею я понял, сам допилю))) Спасибо большое. Прога весит не намного меньше чем моя, я думал можно намного ужать))
Ты прикалываешься?
Этот.
Скетч использует 5566 байт (18%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 253 байт (12%) динамической памяти, оставляя 1795 байт для локальных переменных.
Куда ужимать, зачем?
Убери дисплей.
Скетч использует 1478 байт (4%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 24 байт (1%) динамической памяти, оставляя 2024 байт для локальных переменных. Максимум: 2048 байт.
Исходный проект 1.flp не могу скомпилировать и померять - flprpog ругается на обратные связи, у меня 3.0.3 версия...
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Помощь в доработке кода

#10

Сообщение tolibbass » 03.02.2018{, 11:17}

Нет, я имел ввиду что мой использует 20%, я думал по неопытности много лишнего наворотил, поэтому так весит. Оказалось, что разница 3%, но это лучше, чем было. Дисплей уберу конечно, пока для наглядности

Отправлено спустя 1 минуту 23 секунды:
Не знал, что основное место занято дисплеем :shok: Многому еще учится надо. А за помощь еще раз огромное спасибо. Теперь по-новому смотрю на составление программы.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Помощь в доработке кода

#11

Сообщение Sancho » 03.02.2018{, 11:21}

tolibbass писал(а):
03.02.2018{, 11:17}
Нет, я имел ввиду что мой использует 20%, я думал по неопытности много лишнего наворотил, поэтому так весит. Оказалось, что разница 3%, но это лучше, чем было. Дисплей уберу конечно, пока для наглядности
Убери дисплей у себя, и тогда сравни! В %.
А так получается: на весах стоит слон(дисплей), и особо не принципиален вес человека/человек у него на спине...
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Помощь в доработке кода

#12

Сообщение tolibbass » 03.02.2018{, 11:21}

Да да. У себя убрал, 5% получается))

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Помощь в доработке кода

#13

Сообщение Sancho » 03.02.2018{, 11:22}

Вот теперь будешь в курсе дисплея, веса и скорости работы( тот ещё тормоз..)
Ок, не об этом.
Идея в читаемости проекта в FLProg....
Добавлении нового, в нужные места, редактирования.
P.S. Работает хоть?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Помощь в доработке кода

#14

Сообщение tolibbass » 03.02.2018{, 11:29}

Похоже единственный форум, где реально помогают. Два раза обратился - оба раза помогли. :victory:

Аватара пользователя
brig62
Лейтенант
Сообщения: 469
Зарегистрирован: 13.05.2016{, 16:37}
Репутация: 13
Откуда: Казань
Имя: Игорь

Помощь в доработке кода

#15

Сообщение brig62 » 03.02.2018{, 13:18}

Sancho писал(а):
03.02.2018{, 11:22}
Вот теперь будешь в курсе дисплея, веса и скорости работы( тот ещё тормоз..)
Как максимально избежать тормозов? Дисплей нужен изредка. Для смены параметров. Если выполнение блока дисплея сделать по переменной например, это ускорит?

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Помощь в доработке кода

#16

Сообщение Sancho » 03.02.2018{, 13:23}

Вынеси работу с дисплеем, строки , сложения , сами блоки дисплея, в отдельную плату - плату запускай по условию, привязанному к меню.
Можно все кнопки управления привязать к запуску TOF через OR, а выходом tof запускать дисплеи.
Вариантов много...

Отправлено спустя 2 минуты 25 секунд:
brig62 писал(а):
03.02.2018{, 13:18}
Если выполнение блока дисплея сделать по переменной например, это ускорит?
Тесты здесь.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Ответить

Вернуться в «Спросить у знатоков»