Здравствуйте!
В кодинге не сильно разбираюсь, в основном делаю все на примерах и по наитию, и вот столкнулся с такой проблемой, которую сам не могу решить:
То есть суть скетча: получить значение с виртуального пина V1 в приложении и передать его в stepper.setTarget() для перемещения на указанное значение.
Такой вариант самый простой и он работает, например, с сервой и другими библиотеками для шаговиков, но с GyverStepper почему-то нет. Видимо он не хочет работать внутри функции BLYNK_WRITE().
Добавлял для проверки "качалку" мотора туда-сюда
Работает, значит глобального конфликта библиотек нет.
Возможно есть какой-то вариант применить значение переменной pinValue за пределами функции BLYNK_WRITE() и добавить, например, stepper.setTarget(pinValue) в void loop()?
Очень хочу чтобы эта связка заработала, т.к. Blynk очень удобен, а библиотека GyverStepper наверное единственная, с которой удобно работать с TMC2208.
Буду рад любой помощи! Заранее благодарю!
В кодинге не сильно разбираюсь, в основном делаю все на примерах и по наитию, и вот столкнулся с такой проблемой, которую сам не могу решить:
скетч:
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <GyverStepper.h>
GStepper<STEPPER2WIRE> stepper(800, D8, D7, D6);
char auth[] = "...";
char ssid[] = "...";
char pass[] = "...";
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
stepper.setRunMode(FOLLOW_POS);
stepper.setMaxSpeed(1000);
stepper.setAcceleration(1000);
}
BLYNK_WRITE(V1)
{
int pinValue = param.asInt();
stepper.setTarget(pinValue);
}
void loop()
{
Blynk.run();
}
Такой вариант самый простой и он работает, например, с сервой и другими библиотеками для шаговиков, но с GyverStepper почему-то нет. Видимо он не хочет работать внутри функции BLYNK_WRITE().
Добавлял для проверки "качалку" мотора туда-сюда
C++:
void loop() {
Blynk.run();
// просто крутим туды-сюды
if (!stepper.tick()) {
static bool dir;
dir = !dir;
stepper.setTarget(dir ? -400 : 400);
}
Возможно есть какой-то вариант применить значение переменной pinValue за пределами функции BLYNK_WRITE() и добавить, например, stepper.setTarget(pinValue) в void loop()?
Очень хочу чтобы эта связка заработала, т.к. Blynk очень удобен, а библиотека GyverStepper наверное единственная, с которой удобно работать с TMC2208.
Буду рад любой помощи! Заранее благодарю!