квест код
- Войдите на сайт для отправки комментариев
Доброго времени суток всем))начал писать код под квест и столкнулся с проблемами,а именно:
1.НЕ получается записать несколько действий на одну ардуино,т.е. например нужно чтобы при обнаружении человека-датчиком двжиения,загорелись 3 светодиода,затем нужно передвинуть цифру(геркон+магнит) и повернется серво на 180 градусов.Но при этом нужно чтобы датчик двжиения и серво с герконом были независимы.то есть мне наверно надо несколько void loop но как я понял так нельзя?
2. Тут же вытекает вторая проблема,как сделать так чтобы серво только открывался,а закрывлася обратно когда сделаю перезагрузку?так как магнит с герконом останутся включенными,и серво будет крутиться целый час пока геркон и магнит не разъединят то ест ьпока не пройдут квест.Это же касается и пешалки(пьезлоэлемента) нужно чтобы он попещал ненмого и выключился)то есть нажму на кнопку пещалка поиграет ,я отпущу кнопку оан все еще будет играть сек 20)))
Помогите кто меня понял,очень нужна ваша помощь)))Заранее огромнео спасибо))
Почитайте blink without delay.
Если Вы это поняли, то, думаю, не составить труда в одном цикле (loop) поочередно вызывать процедуры управления всеми устройствами.
Для каждого из устройств используется своя переменная состояния, при этом на каждом проходе цикла анализируется ситуация и в зависимости от внешних условий (поступления сигналда с датчика, наступления определеннго времени...) и текущего состояния вычисляется новое состояние, а уже по номеру состояния - реакция на него (управление звуком, светом, механическими устройствами).
Andriano, там вроде через милс используется?)ну то есть там только через время будет меняться поочерёдность?или я неправильно понял?)спасибо большое))))
И ещё вопрос а если мне нужно просто выполнять последовательно разные действия?))
Может нужно писать вместо void loop, void...?или же через if ... сделать все последовательно?))
Распишите набор приборов для подключения к дуне и пример действий. Тогда будет много проще вам помочь.
А то из той тирады я например весьма смутно понял что вы пытаетесь сделать.
Хорошо,сейчас пока не дома,приду распишу подробно последовательность и что к чему)
1)Пройдя в определенном месте сработает датчик движения и замигают 3 светодиода на картине на определенных предметах (датчик движения и 3 светодиода)
2)нужно перевернуть число в дате рождения геркон+магнит +серво(т.е. Магнит соприкоснется с герконом и сработает и серво -повернется на 180 градусов)тут тоже момент(лучше оставить его в том же положении и потом как пройдут квест перезагрузить ардуину и все?))
3)дальше суть та же, дальше фонариком светим на фоторезистор и срабатывает другой серво)затем зажимаем 3 кнопки(простые) и снова срабатывает ещё один серво)всего около 9 серво))
подскажите пожалуйста как лучше сделать?я уже думаю может это все через if сделать,последовательно и все?)
Пройдя в определенном месте сработает датчик движения и замигают 3 светодиода на картине на определенных предметах (датчик движения и 3 светодиода)
2)нужно перевернуть число в дате рождения геркон+магнит +серво(т.е. Магнит соприкоснется с герконом и сработает и серво -повернется на 180 градусов)тут тоже момент(лучше оставить его в том же положении и потом как пройдут квест перезагрузить ардуину и все?))
3)дальше суть та же, дальше фонариком светим на фоторезистор и срабатывает другой серво)затем зажимаем 3 кнопки(простые) и снова срабатывает ещё один серво)всего около 9 серво))
подскажите пожалуйста как лучше сделать?я уже думаю может это все через if сделать,последовательно и все?)
Можно использовать while и выход из него по условию.