Опрераторы

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

квон не трать время, это патология.

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

Дддда, форумом это тяжело назвать, тут любят помогать тем, кому обЪяснять ничего не надо, так ведь? Если считаете что то что делает человек со знанием ниже вашего и вам кажется что это хрень, не надо унижать и фигню писать, себя вспомните и свои ошибки. Я прошу помочь. Задаю элементарные вопросы, думая, что тут люди, в высоким уровнем знаний и могут ответить на них одним предложением. Нет же, это не их уровень, они не смотрят на такую мелочь. Да ну Вас в баню. Пойду свою бойту перебирать))))

5N62V
Offline
Зарегистрирован: 25.02.2016

SSSRMaster пишет:

А как сделать тпк, чтобы он вернулся сразу к началу? Что то мне подсказывает что он не возвращается назад

return  в теле loop возвращает к началу этого блока. Что именно может Вам подсказывать, что это не так?

 

И ВЫ не убрали запись в еепромку из лупа. Убьете еепромку!

b707
Онлайн
Зарегистрирован: 26.05.2017

SSSRMaster ты не заводись.

ты для примера загляни в ссылки, что тебе qwone дал - там где учебники Си. В каждой книжке - страниц по 700. Пусть даже половина там - специальные разделы "для продвинутых" - все равно остается страниц 300 минимум. которые ОБЯЗАТЕЛЬНО ЗНАТЬ любому, кто берется программировать на Си.

И ты хочешь, чтобы отвечая на твои вопросы, мы своими советами заменили тебе 300 страниц учебника?

И, поверь мне - никто не изучает программирование на форуме с нуля. На форум, как ты верно догадался - приходят спросить тогда, когда ты уже знаешь девять десятых ответа.

 

 

 

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

Красивый ответ, спасибо за объяснение. Рад что все таки есть те, кто примет новечка как равного. СПАСИБО!!!)))

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

Спасибо за помощь, по поводу епром, она у меня дожна сохранять изменеие значений нескольких переменных, то есть ее нужно в какую то функцию посадить? И как скажется на нее постоянный цикл, если не сложно, можно ответ)

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

Я говорил, о том, что goto не работает в данном случае должным образом)))

b707
Онлайн
Зарегистрирован: 26.05.2017

SSSRMaster пишет:

Спасибо за помощь, по поводу епром, она у меня дожна сохранять изменеие значений нескольких переменных, то есть ее нужно в какую то функцию посадить? И как скажется на нее постоянный цикл, если не сложно, можно ответ)

SSSRMaster - это как раз пример вопроса, на который невозможно ответить так, чтобы было понятно.

>>>> по поводу епром, она у меня дожна сохранять изменеие значений нескольких переменных, то есть ее нужно в какую то функцию посадить?

- самый правильный ответ - "Зачем?" - сохранение нескольких переменных и "отдельная функция" не связаны никак. Можно функцией, можно без.

>>>И как скажется на нее постоянный цикл, если не сложно, можно ответ)

- а этот вопрос я вообще не понимаю.

Совершенно без глума.

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

Ранее было написано, что основной цикл, негативно не нее будет влиять.

5N62V
Offline
Зарегистрирован: 25.02.2016

SSSRMaster пишет:

Спасибо за помощь, по поводу епром, она у меня дожна сохранять изменеие значений нескольких переменных, то есть ее нужно в какую то функцию посадить? И как скажется на нее постоянный цикл, если не сложно, можно ответ)

Можно: еепром имеет ограниченное количество записей в ячейку. Я встречал цифру "не менее 100000" для ардуинок. Теоретически она может проработать в десятки раз больше, но может и нет. Поэтому надо стараться исключать бессмысленые записи в еепром. Если Вы объясните логику ЗАЧЕМ Вам хранить значение переменных в еепром, то наверняка получите дельный совет как это организовать правильно.  

Кстати у Вас организована запись не ИЗМЕНЕНИЯ, а текущего состояния переменных.

 

b707
Онлайн
Зарегистрирован: 26.05.2017

SSSRMaster пишет:

Ранее было написано, что основной цикл, негативно не нее будет влиять.

а, понял. в переводе это означает - "не пишите в ЕЕПРОМ при каждом проходе loop()".

В этой фразе ключевое слово - "в каждом". Смысл в том, что в ЕЕПРОМ при частой записи дохнет. Если писать в ЕЕПРОМ только тогда, когда переменная меняется, то можно и в loop()

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

ОХ! СПАСИБО что сейчас об этом сказали!!! А то я бы точно убил бы ее. 

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

После каждого выключения и включения схемы, очень не хочется заного выставлять цвет и эффект, который был до выключения, т.к. ардуинка его обнуляет. Для этого я попробовал применить первую попавшуюся в поисковике идею, которая привела к еепром.

5N62V
Offline
Зарегистрирован: 25.02.2016

b707 пишет:

 Если писать в ЕЕПРОМ только тогда, когда переменная меняется, то можно и в loop()

Так она может меняться каждый проход лупа. В этом случае, если уж очень прям нужно, я бы делал скользящую адресация еепрома со стриранием предыдущего контента.

5N62V
Offline
Зарегистрирован: 25.02.2016

SSSRMaster пишет:

После каждого выключения и включения схемы, очень не хочется заного выставлять цвет и эффект, который был до выключения, т.к. ардуинка его обнуляет. Для этого я попробовал применить первую попавшуюся в поисковике идею, которая привела к еепром.

Я для такого случая, в своем проекте, реализовал алгоритм выключения устройства от кнопки. ( от энкодера, но не суть) .  Т.е. жму кнопку, друина говорит "До свидания!", записывает свое состояние в еепром, и тогда идет спать.

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

То есть, форматировать, и записываеть заного с тем моментом, что значение все таки изменилось???

Т.е. если значение изменилось, мы стирает данные еепром и записываем новые??? 

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

ТОЧНО!!!!! У меня же есть там такая отсылка на выключение !!!!! СПАСИБО ЗА ЭТУ ИНФОРМАЦИЮ!)))))) 

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

Т.е. епром безвозвратно гибнет? Или как то можно ее восстановить, просто для меня это очень неожиданно О_о

5N62V
Offline
Зарегистрирован: 25.02.2016

SSSRMaster пишет:

ОХ! СПАСИБО что сейчас об этом сказали!!! А то я бы точно убил бы ее. 

Вообще-то это сказал не я, а Печальный Человек в посте #20 еще утром. Зря Вы проигнорировали. Тут в перемешку с глумом присутствуют очень дельные советы. Если вдруг реплика была не понятна - переспросите, с Вас не убудет, а если поймете о чем говорят - прибудет, так точно!

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

Прошу прощения за недопонятый мной намек на ограниченное количесво ячеек EEPROM. Глупо вышло. Но я рад что такая вещь прозвучала. 

5N62V
Offline
Зарегистрирован: 25.02.2016

SSSRMaster пишет:

Т.е. епром безвозвратно гибнет? Или как то можно ее восстановить, просто для меня это очень неожиданно О_о

Ну как.... можно конечно старые ячейки высверлить, залить новые. Но нужно знать точное их расположение.

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

Это мой первый форум) По этому мне пока тяжело понять, какая система распознавания толковых коментариев тут работает)))

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

АБАЛДЕТЬ! ну его нафиг, я тогда лучше не поленюсь пальцами восстановить, то что было))) Уберу вообще эту функцию.

b707
Онлайн
Зарегистрирован: 26.05.2017

SSSRMaster пишет:

АБАЛДЕТЬ! ну его нафиг, я тогда лучше не поленюсь пальцами восстановить, то что было))) Уберу вообще эту функцию.

на счет высверлить - это шутка была. ЕЕПРОМ никак не восстанавливается. Менять вместе с ардуиной. Но при цене новой ардуины 100 рублей это не так уж и важно.

 

bwn
Offline
Зарегистрирован: 25.08.2014

SSSRMaster пишет:

Это мой первый форум) По этому мне пока тяжело понять, какая система распознавания толковых коментариев тут работает)))

Интуитивная. Надо взять ответ, покрутить в свете имеющейся информации, если она отсутствует, то поискать по ключевым словам, а потом уже делать выводы. Если вы чего то не знаете, сие не значит, что этого не существует.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

SSSRMaster пишет:

Это мой первый форум) По этому мне пока тяжело понять, какая система распознавания толковых коментариев тут работает)))

Очень сложно определить что за люди спрашивают. Их уровень адекватности и уровень знаний. Вот и приходится использовать говнотерапию. И это самой эффективный способ.

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

ЛАДНО НАРОД, СПАСИБО ВАМ ВСЕМ ЗА ПРОМЫВКУ МОЗГОВ И НАВЕДЕНИЕ НА ПУТЬ ИСТЕННЫЙ, ПОЙДУ РАЗВИВАТЬ, НЕ БУДУ ЗАБИВАТЬ ФОРУМ ЕРУНДОЙ, РАД ЧТО ВСЕ ТАКИ ОТВЕТИЛИ И ПОМОГЛИ ХОТЬ НЕ ТОМ ЧТО Я ТАК И НЕ РЕШИЛ, НО ВСЕ ТАКИ ОБОЗНАЧИЛИ НЕ МЕНЕЕ ВАЖНУЮ МЫСЛЬ С EEPROM!!!

arduinec
Offline
Зарегистрирован: 01.09.2015

SSSRMaster пишет:

Это был самый первый план, который я написал, исправил местами на return, проблема снова в том, что при работе в цикле эффектов, это разделы num1 num2 num3 num4 и т.д., он видит пульт, светодиоды на несколько миллисекунд замирают и снова продолжает крутить эту же функцию и лишь в тот момент когда она закончилась или началась, он понимает пульт и меняет что требую.

Всё правильно. Например, во время delay(150) программа вообще ничего не делает. Код пульта может прийти в любой момент и программа должна быть готова к этому.

На начальном этапе лучше: упростить скетч до 1-2 кнопок пульта, поиграться с примерами библиотеки IRermote, и только когда будет понимание усложнять скетч.

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

Дело еще в том, что у меня стоит в плане 48 диодов, первый раз, я составлял всю "программу" на 10 диодах и все работало хорошо, но чем больше диодов и добавляю, тем тупее он становится)

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

мне кажется это связано как то с тем, что программа при определении пулбта, видит его, но не может перейти по указанному пути.

Rootware
Offline
Зарегистрирован: 11.01.2018

SSSRMaster пишет:

мне кажется это связано как то с тем, что программа при определении пулбта, видит его, но не может перейти по указанному пути.

Что вам мешает отправить в Serial порт код команды с пульта и посмотрев в мониторе порта IDE значение сравнить то ли вы обрабатываете.

arduinec
Offline
Зарегистрирован: 01.09.2015

SSSRMaster пишет:

Дело еще в том, что у меня стоит в плане 48 диодов, первый раз, я составлял всю "программу" на 10 диодах и все работало хорошо, но чем больше диодов и добавляю, тем тупее он становится)

Не знаю что за диоды NeoPixel, но при выводе на ленту со светодиодами ws2812 в библиотеках даже прерывания отключаются. То есть во время вывода контроллер ничего не видит и не слышит -  и чем больше светодиодов, тем больше этот интервал.

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

да да светодиоды именно WS2812B Вот видимо эта проблема меня и застала в раслох, хотя, на 48 светодиодов, пульт, который подключен к пинам, цифровой, видится хорошо. Так как у меня все циклы в основном в for а прием пульта и кнопок стоит в каждом for, там работа идет на каждый диод через 1 оборот, при этом он считывает. Может я как то не так данные переношу. Или расположение строк неверное. На пульт, повторюсь, он реагирует, светодиоды приостанавливаются, и лишь в какой то момент, задача сменяется, после 5 - 10 нажатий ик пульта.

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

Я пытался через сериал прогнать, он не выходит из цикла. Лиш ьв какой то особенный момент

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

Все! Я видимо нашел проблему))) Она как и было сказанно связана с паузами, когда программа отправляет данные на диоды. Т.к. в пульт срабатывает только в пролетах этого времени. ВСЕМ СПАСИБО!!! РАД БЫЛ ПОГОВОРИТЬ СО ЗНАЮЩИМИ ЛЮДЬМИ. СПАСИБО ЗА ПОМОЩЬ!!!

SSSRMaster
Offline
Зарегистрирован: 25.12.2017

Ваша теория была верна) Я не учел, что паузы, подразумивающие отправление данных на диоды. Так масштабно затрагивает весь процесс работы.

arduinec
Offline
Зарегистрирован: 01.09.2015

SSSRMaster пишет:

Все! Я видимо нашел проблему))) Она как и было сказанно связана с паузами, когда программа отправляет данные на диоды. Т.к. в пульт срабатывает только в пролетах этого времени.

Наиболее эффективно эта проблема решается применением второй Ардуины:
Вторая Ардуина принимает код с пульта и выставляет нужные уровни на своих ногах, которые подключены к ногам первой Ардуины. Первая Ардуина мигает лентой со светодиодами, а в перерывах проверяет код на своих ногах, и при изменении кода выполняет полученную команду.