Доброго времени суток, ребят, подскажите как можно провернуть серву в обе стороны на 30 градусов с привязкой к таймеру(грубо говоря 1 раз в сутки) с возможностью задать время в интерфейсе blynk. Будет работать кормушка для аквариума. С delay() встанет выполнение остальной части программы, да и необходима привязка к времени суток. Как можно реализовать?
Добрый день. Ну есть таймер виджет и тайм инпут виджет. Оба подойдут для решения задачи.
Спасибо за быстрый ответ, как я понял, таймер виджет берёт реальное время с сервера а тайм инпут виджет задаёт время? Но как привязать событие
void loop()
{
// поворот от 30 до 140 градусов
for(angle = 30; angle < 140; angle++)
{
servo.write(angle);
delay(5);
}
// теперь в обратном направлении от 140 до 30 градусов
for(angle = 140; angle > 30; angle--)
{
servo.write(angle);
delay(5);
к таймеру?
В ручную дрыгать сервой можно слайдером, но хочется автоматически по времени. И нужно ли уводить серву в сон или можно держать как есть?
Да.
Есть много разных вариантов.
Если через таймер, то каждое событие (поворот серва) вешаете на хедлер BLYNK_WRITE(). Например, поворот 1 BLYNK_WRITE(V1), поворот 2 BLYNK_WRITE(V1). Тогда, когда будет срабатывать таймер он будет вызывать BLYNK_WRITE(V1) c определенным значением, которое вы сетаете в виджете (1, 0 в простейшем случае). Так же, если железо будет спать, то при выходе из слипа вы можете сделать Blynk.sync(V1) и сервер вызовет BLYNK_WRITE(V1) с последниим значением таймера.
С тайм инпутом все немного сложнее.