#include #include #include #include #define SSID "WIFI_ENV" #define PASS "PASS_ENV" Servo myservo1; int pos = 80; #define motorInterfaceType 1 const int dirPin1 = 22; const int stepPin1 = 23; const int stepSpeed = 1700; const int stepsPerRevolution = 200; AccelStepper myStepper1(motorInterfaceType, stepPin1, dirPin1); const int dirPin2 = 19; const int stepPin2 = 21; AccelStepper myStepper2(motorInterfaceType, stepPin2, dirPin2); int minUs = 500; int maxUs = 2400; WebServer server(80); void setup() { Serial.begin(115200); myservo1.setPeriodHertz(50); myservo1.attach(5, minUs, maxUs); myservo1.write(80); myservo2.setPeriodHertz(50); myservo2.attach(17, minUs, maxUs); myservo3.setPeriodHertz(50); myservo3.attach(16, minUs, maxUs); myservo4.setPeriodHertz(50); myservo4.attach(4, minUs, maxUs); pinMode(stepPin1, OUTPUT); pinMode(dirPin1, OUTPUT); pinMode(stepPin2, OUTPUT); pinMode(dirPin2, OUTPUT); connectWiFi(); server.on("/", handleRoot); server.on("/nothing", nothing); server.on("/charcol", charcol); server.on("/notcharcol", notcharcol); server.on("/plastic", plastic); server.begin(); Serial.println("HTTP server started"); } void loop() { server.handleClient(); } void connectWiFi() { WiFi.begin(SSID, PASS); Serial.println(); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(); Serial.println("WiFi connected"); Serial.println(WiFi.localIP()); } void handleRoot() { server.send(200, "text/plain", "Hello"); } void charcol() { Serial.println("charcol"); myStepper1.setMaxSpeed(1000); myStepper1.setAcceleration(50); myStepper1.setSpeed(200); myStepper1.moveTo(2800); myStepper1.runToPosition(); myStepper2.setMaxSpeed(1000); myStepper2.setAcceleration(50); myStepper2.setSpeed(200); myStepper2.moveTo(-150); myStepper2.runToPosition(); delay(500); for (pos = 80; pos < 140; pos += 1) { myservo1.write(pos); delay(50); } for (pos = 140; pos >= 80; pos -= 1) { myservo1.write(pos); delay(50); } myStepper2.setMaxSpeed(1000); myStepper2.setAcceleration(50); myStepper2.setSpeed(200); myStepper2.moveTo(10); myStepper2.runToPosition(); myStepper1.setMaxSpeed(1000); myStepper1.setAcceleration(50); myStepper1.setSpeed(200); myStepper1.moveTo(0); myStepper1.runToPosition(); server.send(200, "text/plain", "charcol"); } void notcharcol() { Serial.println("notcharcol"); myStepper1.setMaxSpeed(1000); myStepper1.setAcceleration(50); myStepper1.setSpeed(200); myStepper1.moveTo(1700); myStepper1.runToPosition(); myStepper2.setMaxSpeed(1000); myStepper2.setAcceleration(50); myStepper2.setSpeed(200); myStepper2.moveTo(-150); myStepper2.runToPosition(); for (pos = 80; pos < 140; pos += 1) { myservo1.write(pos); delay(50); } for (pos = 140; pos >= 80; pos -= 1) { myservo1.write(pos); delay(50); } delay(500); myStepper2.setMaxSpeed(1000); myStepper2.setAcceleration(50); myStepper2.setSpeed(200); myStepper2.moveTo(10); myStepper2.runToPosition(); myStepper1.setMaxSpeed(1000); myStepper1.setAcceleration(50); myStepper1.setSpeed(200); myStepper1.moveTo(0); myStepper1.runToPosition(); server.send(200, "text/plain", "notcharcol"); } void plastic() { Serial.println("plastic"); myStepper1.setMaxSpeed(1000); myStepper1.setAcceleration(50); myStepper1.setSpeed(200); myStepper1.moveTo(500); myStepper1.runToPosition(); myStepper2.setMaxSpeed(1000); myStepper2.setAcceleration(50); myStepper2.setSpeed(200); myStepper2.moveTo(-150); myStepper2.runToPosition(); delay(500); for (pos = 80; pos < 140; pos += 1) { myservo1.write(pos); delay(50); } for (pos = 140; pos >= 80; pos -= 1) { myservo1.write(pos); delay(50); } myStepper2.setMaxSpeed(1000); myStepper2.setAcceleration(50); myStepper2.setSpeed(200); myStepper2.moveTo(10); myStepper2.runToPosition(); myStepper1.setMaxSpeed(1000); myStepper1.setAcceleration(50); myStepper1.setSpeed(200); myStepper1.moveTo(0); myStepper1.runToPosition(); server.send(200, "text/plain", "plastic"); }