как остановить Loop ??
- Войдите на сайт для отправки комментариев
Пнд, 17/12/2018 - 20:36
Ребя помогите не множко подсказкой . Нужно при подачи тока на Д2 - Ардуина делала один определенный эффект и после этого Д2 - он остается под нагрузкой , но нужно, что бы она эффект сделала только один раз при самой подачи, а после выключила и не повторяла.
Затем снова при новой подачи Д2 - она вновь делает тот же эффект и вновь забывает о нем до след. раза
Эффект прописан, пробовал прописывать эффект в void - не работает. В лупе - повторяет постояяно. Может есть комада через луп, дабы она его останавливала ?
Спасибо большое вам!! за ответы)
Нужно вместо лупа использовать таймер. По Д2 он будет включаться на время эффекта, а потом выключаться до следующего включения. Таймер можно остановить а луп нет.
При чем тут void я честно говоря не понял.
Ребя помогите не множко подсказкой . Нужно при подачи тока на Д2 - Ардуина делала один определенный эффект и после этого Д2 - он остается под нагрузкой , но нужно, что бы она эффект сделала только один раз при самой подачи, а после выключила и не повторяла.
задействуйте флаг процедуры
Достаточно одного while() ;) Или двух... Мозг уж гонит прочь программный код.
как остановить Loop ??
Как остановить тёщу, когда она "завелась"? Никак! Только выключением питания.
Впрочем, можно ещё попробоавать что-нибудь прописать в struct.
delay стопицот
ого) спасибо за ответы , ребят !) буду думать!)
а нельзя сделать на пример так по алгоритму?
проверяет - HIGH
делает цикл один раз
снова проверяет , если всё еще HIGH
стоп цикл
Нужно, чтобы МК:
1) "Ждал" низкого уровня на входе (нажатие кнопки);
2) Что-то делал;
3) "Ждал" высокого уровня на входе (отпускание);
4) Заходил на новый круг.
С while (LOW == digitalRead(2)); МК ждет низкого уровня. Дальше разберетесь, думаю.
"Да что тут думать! Трясьти надо."
ибо простой вариант прописать эффект В setup if - D2 HIGH и сам эффект - не работает к сожалению :/
В setup if - D2 HIGH и сам эффект - не работает к сожалению :/
Ужас! Это у сетапа такие ограничения? Буду знать.
В сетапе можно запустить цикл, из сетапа можно запустить функцию с циклом и вернуться обратно, а можно loop оставить пустым - тогда система остановится и больше ничего выполнять не будет. Объясните толком чего Вы хотите в целом. Вы вырываете из общей задачи Вашу мелкую хотелку и пытаетесь ее куда-то засунуть. Или это у Вас экзерсис такой?
ибо простой вариант прописать эффект В setup if - D2 HIGH и сам эффект - не работает к сожалению :/
ибо простой вариант прописать эффект В setup if - D2 HIGH и сам эффект - не работает к сожалению :/
Именно так мне посоветовал кто то на этом форуме :)
Вы бы код выложили, что там у вас не работает, а то троллинг так и будет прололжаться
Как красиво называется тема:) А еще красивее было бы спросить - как порвать этот порочный круг.
Попробуйте "return" !
http://www.c-cpp.ru/content/abort
Вы бы код выложили, что там у вас не работает, а то троллинг так и будет прололжаться
Код простой - при подаче на контакт (вставка ключа в зажигание) Д2 на ардуино нано - Лента загорелась буквально на секунды 3 , затем Д2 все еще находится под напряжением ибо выключается только , когда выбираешь ключ из машины . Потом опять вставляю ключ в машине - питание подалось на Д2 сработал эффект и погас ,напруга останется на Д2 до тех пор, пока не выберешь ключ. Но нужно,что бы лента гасла и не загоралась больше , пока есть питание на Д2. То есть срабатывала только в начале.. ВСе вроде бы просто , но на этой самой же ленте имеются и другие циклы не заивисмые от Д2. То есть нужно завершить цикл и что бы ардуинка забыла о нем :) до следующий подачи тока
Спасибо ребята всем за ответы, вижу тема интересная , понимаю что правильно сформулиолвать не смог желанное, заранее извиняюсь :) Я не силен в формулировках ардуины , но признаюсь читаю литературу и вникаю как и что сделать, не задаю вопросов от балды) Каждый ответ анализирую и пытаюсь понять как то или иное реализовать. Конечно сложно без опыта , поэтому и спрашиваю и более опытных ребят ;)
Спасибо еще раз.
Вы бы код выложили, что там у вас не работает, а то троллинг так и будет прололжаться
Код простой
Ну, простой или сложный - выкладывайте.
Как вариант
Загрузи этот скетч и посмотри что у тебя печатается в Мониторе Порта
Загрузи этот скетч и посмотри что у тебя печатается в Мониторе Порта
Это мне было адресованно?
Грузить не буду… будет показывать состояние порта. В чем мессадж?
Мессадж в том, что бы посмотреть что у тебя с портом происходит.
Ну не хочешь грузить - не надо. За сим откланиваюсь.
я бы посоветовал вынести разовую процедуру в setup
Мессадж в том, что бы посмотреть что у тебя с портом происходит.
Ну не хочешь грузить - не надо. За сим откланиваюсь.
У меня при отсутствии "ключа" 0, а при наличии 1. А у тебя?
я бы посоветовал вынести разовую процедуру в setup
Это вы о чём?
я бы посоветовал вынести разовую процедуру в setup
О том, что из техзадания ТС следует, что такая функция должна отработать один раз, при включении, всё, что отрабатывается один раз, как правило, выносится в SETUP
О том, что из техзадания ТС следует, что такая функция должна отработать один раз, при включении, всё, что отрабатывается один раз, как правило, выносится в SETUP
Я не увидел, где ТС говорит о том, что ардуино включается вместе с вставкой ключа. Зачем тогда вообще этот пин D2? Прям в сетапе включить ленту на нужное время и всё.
Loop, стой! раз-два.
abort() остановит всё что хочешь, включая loop, только принесет ли это радость?
А зачем видеть, доп. устройства подключаются через контакт 30 замка зажигания или аналогично, вытащили ключ, обесточили всё, кроме штатных устройств, у приятеля авто сгорело от замыкания + провода прикуривателя на массу, предохранитель был заменён на вставку (в автосервисе однако), так как перед этим три раза перегорал, а приятель приезжал по гарантии (((
А зачем видеть, доп. устройства подключаются через контакт 30 замка зажигания или аналогично, вытащили ключ, обесточили всё, кроме штатных устройств, у приятеля авто сгорело от замыкания + провода прикуривателя на массу, предохранитель был заменён на вставку (в автосервисе однако), так как перед этим три раза перегорал, а приятель приезжал по гарантии (((
Вообще идея не плоха как факт реализации придумал так:
прописываем эффект в сетапе, теперь при каждом включении ардуинка будет воспроизводить этот эффект. Как бы работает, но одна не доработка. Если включишь аварийки и вынимаешь ключ из зажигания - ардуинка тухнет и аварийки будут не рабочими. Не зная как правильно за программировать , но все работает через сетап) Можно просто провести дополнительно питание на ардуинку от аварийки (правда куда подводить я еще не осознал до конца ) но можно на тот же самый контакт при этом поставить с двух сторон по диоду, что бы не распространялась фаза (имея ввиду фаза не шла на аварийку сразу) их разделить диодами.
Тогда вопрос . Идет контакт на ардуинку от магнитолы при вставки ключа - (я приобрел УСБ преобразователь ну с 12 волт на 5 волт он работает с 22в макс на 3А) ардуинка будет питаться через усб а запитка на магнитоле, и туда же проведу фазу от аварийки (дабы ардуинка запитывалась от аварийки, когда та работает) тут у меня глупые предположения ибо забыл банальный курс напряжния и его закон :)) будет ли это как то сказываться или конфликтовать ток от зажигания и аварийки, если одновременно включить аварийку? диоды как бы поставлю же.. собвственно, если нет останется найти фазу аварийек и все) думаю это в кнопке)
Как вы думаете? теоретически же адекватно ?
ну если ключ уже на д2, запустите наконец в прерывании по фронту свою хотелку
Как вы думаете? теоретически же адекватно ?
Мне кажется, всё неадекватно… определитесь, что хотите вообще. Название темы одно, по факту хотели другое, на эту хотелку код вам привёл, а теперь вообще разговор о третьем…
Не, всё норм. Просто, приколы палаты номер 6.)))
Как вы думаете? теоретически же адекватно ?
Есть цель, а каким способом - не важно , скетч не работает да и кто му же я и половины ваших сленгов тут не понимаю. Почему я не могу найти обходной путь,если не получается таким путем ? Я же написал я не прогер.
скетч не работает
я и половины ваших сленгов тут не понимаю.
не получается
Вы сильно ошиблись форумом, или по крайней мере разделом. Здесь пытаются помогать людям, которые хотят учиться, а не тем, кто ищет обходные пути, если ничего не понятно в 10 строках кода с комментариями.
скетч не работает
я и половины ваших сленгов тут не понимаю.
не получается
все очень даже понятно, только вот у меня 4 ленты :) и с этим возникли сложности. Результат был таков - я включаю на ХАЙ - загораются на 1 ленте пару диодов. Выключаю - загораются дополнительно пару диодов и предыдущие не выключаются. Включаю снова - вновь загораются еще новые диоды, предыдущие не гаснут. Выключаю - еще плюсуются. Так вот скажите мне, не выглядит ли это бредом ? выглядит :) я не отрицаю, что скетч рабочий, мейби я где то накосячил, но результат был именно таким . Я ну оочень много чего перепробывал , есть мысли может просто заплатить кому денюжку , но с переводом денег будут проблемы :) проблема не в деньгах а в переводе.
Посему важна сама реализация и результат, у меня в скетче все работает, прописано и подлатано мною , но конкретно реально ваши сленги мне не понятны , ребят не сижу я 3 года здесь, нет у меня опыта понять ваши сленги . "ну если ключ уже на д2, запустите наконец в прерывании по фронту" - откуда мне новичку вообще понять о чем он говорит ? вот умничать мастера, ибо вы мастера. Может быть вы будучи новечком уже понимали о чем речь ? Единственный совет, что я переворил и понял это про разовую процедуру в сетап. Именно по нему я и комбинирую.
ВестернЮнион есть везде кроме, наверное Антарктиды. Вы же не оттуда, полагаю, пишете. А задачу такую (или схожую) тут почти каждый решал раз по ндцать - всякие там подсветки спидометров, дверей и пр.
Так что, ситуация тут вовсе не безвыходная и с кучей альтернативных обходных путей.
"ну если ключ уже на д2, запустите наконец в прерывании по фронту" - откуда мне новичку вообще понять о чем он говорит ? вот умничать мастера, ибо вы мастера. Может быть вы будучи новечком уже понимали о чем речь ? Единственный совет, что я переворил и понял это про разовую процедуру в сетап. Именно по нему я и комбинирую.
беда в том, что вы совершенно не умеете напрягать свой ум и не способны даже при наличии КЛЮЧЕВЫХ слов сформировать банальный запрос в поисковик типа "ардуино прерывание по фронту"
где вываливается куча ссылок с расшифровкой самого понятия "прерывание", как оно работает, как подключается, примеров и т.д.
остальное вам коллеги уже написали
"ну если ключ уже на д2, запустите наконец в прерывании по фронту" - откуда мне новичку вообще понять о чем он говорит ? вот умничать мастера, ибо вы мастера. Может быть вы будучи новечком уже понимали о чем речь ? Единственный совет, что я переворил и понял это про разовую процедуру в сетап. Именно по нему я и комбинирую.
беда в том, что вы совершенно не умеете напрягать свой ум и не способны даже при наличии КЛЮЧЕВЫХ слов сформировать банальный запрос в поисковик типа "ардуино прерывание по фронту"
где вываливается куча ссылок с расшифровкой самого понятия "прерывание", как оно работает, как подключается, примеров и т.д.
остальное вам коллеги уже написали
окей, так может давайте поговорим на тему, где я имею большой опыт , а вы нет. Буду вот так же умничать, кидаться не понятными названиями , а вы пытатся переводить каждое слово в гугле и понять вообще что я пытаюсь сказать ? Насмехаться над тем, чего вы не знаете в том,где я приуспел гораздо больше, обвинять в криворукости и в недостатке ума иными словами "троллить"?
Однако за помощь спасибо
окей, так может давайте поговорим на тему, где я имею большой опыт , а вы нет.
так здесь же инженера в основном тусуются, инженера отличает от обычного человека умение искать и распоряжаться информацией, а в какой отрасли - неважно...
окей, так может давайте поговорим на тему, где я имею большой опыт , а вы нет.
а такая тема есть? - сомневаюсь... гляжу на дискуссию со стороны - вы не только в ардуине ничего не понимаете - вы вообще своих мыслей выражать толком не умееете, и других слушать не приучены. Похоже, что в обычной жизни вы мозги используете редко - наверно ваша работа особых раздумий не требует, что-то на армию похоже...
окей, так может давайте поговорим на тему, где я имею большой опыт , а вы нет. Буду вот так же умничать, кидаться не понятными названиями , а вы пытатся переводить каждое слово в гугле и понять вообще что я пытаюсь сказать ? Насмехаться над тем, чего вы не знаете в том,где я приуспел гораздо больше, обвинять в криворукости и в недостатке ума иными словами "троллить"?
Дорогой, Вас никто не троллит. Попробуйте понять, что я сейчас скажу.
Если Вы хоть в чём-то специалист, то должны понимать, что чайник может задать вопросы, на которые ответить невозможно, т.к. вопросы являются полным, абсолютным, рафинированным бредом.
Вот если бы Вы были специалистом, скажем в автомобилях, а я бы спросил: «Какую свечу мне надо поставить в тормозную колодку, чтобы карбюратор ремня безопасности обеспечил правильный угол развала?» Что бы Вы ответили? Если бы Вы меня послали, я бы сказал, что Вы сноб, которому влом помочь новичку. А если бы начали что-то объяснять, я бы ничерта не понял, и сказал бы, что Вы меня троллите, и издеваетесь, вместо того чтобы просто и понятно объяснить «какой суппорт нужно засунуть в бензобак, чтобы в дворниках была правильная компрессия наклона фар?», вопрос-то для специалиста простой, а некоторые умники надувают щёки и цену себе набивают.
Так вот, если Вы хоть в чём-то специалист, то поверьте мне (говорю Вам как специалист специалисту) в этой области Вы задаёте именно такого типа вопросы, как я привёл выше. Т.е. у Вас не хватает знаний ни на то, чтобы задать вопрос, ни на то, чтобы понять ответ.
Само по себе это не страшно, прокачивайте знания хотя бы до минимального уровня, когда сможете задавать вопросы и понимать ответы. Кстати, тогда и вопросов поубавится. Ну, а если не хотите прокачивать (или времени нет), попробуйте заказать работу тому, у кого было время прокачаться.
Если что, то всё это написано абсолютно без стёба и доброжелательно. Цели унизить или обидеть не было – отвечаю.
окей, так может давайте поговорим на тему, где я имею большой опыт , а вы нет.
а такая тема есть? - сомневаюсь... гляжу на дискуссию со стороны - вы не только в ардуине ничего не понимаете - вы вообще своих мыслей выражать толком не умееете, и других слушать не приучены. Похоже, что в обычной жизни вы мозги используете редко - наверно ваша работа особых раздумий не требует, что-то на армию похоже...
Ну, думайте как хотите Ваше мнение обо мне в то время как мы с Вами даже не знакомы - никак не повлияет на мою дальнейшую жизнь ;)
Меня осуждают тут за то, что я не поняв каким образом это реализовать, стал комбиновать иные способы достигнуть желаемого, обходя программные.
Это как минимум странно видеть это от "инженеров" , как Вы выразились. У меня не хватает знаний , дабы сделать это программно, но открыв первый раз ардуину и вообще впервые , не видя множество примеров скетчев я сумел написать себе вполне работающий скетч , но запаровшись на 1 месте, не зная ваших скленгов и прочего. Не зная всех команд ардуины , да мне они ни к чему , это по сути мой первый и последний скетч , а тут напали траглодиты.
А насчет "выражения своих мыслей". У вас родной язык русский ? и общаетесь вы на русском ? У меня вот тоже. но между нами одна небольшая разница. Вы его используете в повседневной жизни, а мне в моей реальной жизни не с кем на русском даже поговорить. Мой день состоит из двух языков иностраных никак не похожих на друг друга. ак что уважаемый инженер, прежде чем судить - узнайте человека.
А насчет "выражения своих мыслей". У вас родной язык русский ? и общаетесь вы на русском ? У меня вот тоже. но между нами одна небольшая разница. Вы его используете в повседневной жизни, а мне в моей реальной жизни не с кем на русском даже поговорить. Мой день состоит из двух языков иностраных никак не похожих на друг друга.
А какие сложности, берёте радиолюбительскую лицензию той страны, где Вы проживаете и общаетесь на русском сколько душе угодно, цена вопроса - стоимость простого трансивера, к примеру YAESU FT-897
По языкам, всё абсолютно аналогично, книжка по изучению в ПЕСОЧНИЦЕ, зная три языка любой последующий в два раза легче, то-есть речь идёт уже о порядке, за один вечер основные азы можно освоить
я говорил о разговорных языках реальной жизни:) А вот про трансивер не много бредово:)) поглядел бы я на это)
О языке программирования - само собой информацию каждой команды приходилось проверять и уточнять:)
за один вечер основные азы можно освоить
а вот , если идет речь об азах иностранных языков . не согласен.