Добрый день! Подскажите , пожалуйста, пытаюсь сделать управление задержкой сервы (что то вроде клапана, пока приходится прошивать время в ручную), решил попробовать задержку регулировать энкодером с помощью библиотеки Гайвера. Не пойму как можно выцеплять данные из цикла энкодера и передавать их серве. Код приблизительно такой:
C++:
#include <Servo.h> // подключаем библиотеку для работы с сервоприводом
// объявляем переменную servo типа "servo1"
#define CLK 2
#define DT 3
#define SW 4
#include "GyverEncoder.h"
Encoder enc1(CLK, DT, SW);
int val = 0;
Servo servo1;
void setup() {
servo1.attach(11);
Serial.begin(9600);
enc1.setType(TYPE2);
}
void loop() {
servo1.write(0); //
delay(val); //
servo1.write(45); //
delay(val); //
// обязательная функция отработки. Должна постоянно опрашиваться
enc1.tick();
if (enc1.isTurn()) { // если был совершён поворот (индикатор поворота в любую сторону)
// ваш код
}
if (enc1.isRight()) val++; // если был поворот
if (enc1.isLeft()) val--;
}