Blynk Stepper Code
Blynk Stepper Code
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <AccelStepper.h>
// WiFi credentials
const char ssid[] = "Moto";
const char pass[] = "anas@1234";
// Virtual pins
#define buttonClockwisePin V1
#define buttonCounterclockwisePin V2
// Initialize AccelStepper
AccelStepper stepper(AccelStepper::HALF4WIRE, IN1, IN3, IN2, IN4);
void setup() {
Serial.begin(115200);
Blynk.config(BLYNK_AUTH_TOKEN);
while (!Blynk.connect()) {
Serial.println("Connecting to Blynk...");
delay(1000);
}
Serial.println("Blynk connected");
// Motor setup
stepper.setMaxSpeed(500);
stepper.setAcceleration(100);
}
void loop() {
Blynk.run();
stepper.runSpeed(); // Non-blocking
}
// Clockwise rotation
BLYNK_WRITE(buttonClockwisePin) {
int state = param.asInt();
if (state == 1) {
stepper.setSpeed(500);
stepper.enableOutputs();
Serial.println("Clockwise");
} else {
stepper.setSpeed(0);
stepper.disableOutputs();
Serial.println("Motor Stopped");
}
}
// Counterclockwise rotation
BLYNK_WRITE(buttonCounterclockwisePin) {
int state = param.asInt();
if (state == 1) {
stepper.setSpeed(-500);
stepper.enableOutputs();
Serial.println("Counterclockwise");
} else {
stepper.setSpeed(0);
stepper.disableOutputs();
Serial.println("Motor Stopped");
}
}