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

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

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

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

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

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

Добавлено: 03 фев 2018, 01:59
magpit
Так нужно...

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

Добавлено: 03 фев 2018, 05:18
tolibbass
Файл прикрепил, в первый раз почему-то не получилось(

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

Отправлено спустя 27 минут 32 секунды:
magpit писал(а): 03 фев 2018, 01:59Так нужно...
Это же просто перебор цветов, а по заданию нужно чтобы плавно нарастала и снижалась яркость каждого светодиода. Такой перелив цветов, от красного до синего, со всеми промежуточными))

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

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

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

Добавлено: 03 фев 2018, 09:50
tolibbass
Спасибо, учту))

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

Добавлено: 03 фев 2018, 10:57
Sancho
[ref]tolibbass[/ref],
Пробуй. Пины 9, 10, 11.
Если Ок, кнопку сам пристроишь, чего надо переделаешь...
Самое главное - идея.

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

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

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

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

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

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

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

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

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

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

Добавлено: 03 фев 2018, 11:21
tolibbass
Да да. У себя убрал, 5% получается))

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

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

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

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

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

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

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

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

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