From d639f2dada60cf148e8a1383f1f19dde6a31b1ab Mon Sep 17 00:00:00 2001 From: alicegetm <aliceg3@illinois.edu> Date: Tue, 29 Nov 2022 17:25:11 -0600 Subject: [PATCH] double switches --- .../test_webpage_sensors.ino | 108 ++++++++++-------- 1 file changed, 61 insertions(+), 47 deletions(-) diff --git a/arduino_code/test_webpage_sensors/test_webpage_sensors.ino b/arduino_code/test_webpage_sensors/test_webpage_sensors.ino index e1eed60..598a54c 100644 --- a/arduino_code/test_webpage_sensors/test_webpage_sensors.ino +++ b/arduino_code/test_webpage_sensors/test_webpage_sensors.ino @@ -34,9 +34,6 @@ const char* input_parameter2 = "state"; #define PRESSURE1GOAL 41 #define PRESSURE2GOAL 39 -#define MOTOR1GOAL -#define MOTOR2GOAL - Stepper motor1(200, motor1IN1, motor1IN2, motor1IN3, motor1IN4); Stepper motor2(200, motor2IN1, motor2IN2, motor2IN3, motor2IN4); @@ -51,6 +48,8 @@ String pressure1status = "NOT YET..."; String pressure2status = "NOT YET..."; String motor1status = "just started"; String motor2status = "just started"; +int motor1goal; +int motor2goal; // Create AsyncWebServer object on port 80 AsyncWebServer server(80); @@ -87,10 +86,14 @@ const char index_html[] PROGMEM = R"rawliteral( body {max-width: 600px; margin:0px auto; padding-bottom: 25px;} .switch {position: relative; display: inline-block; width: 120px; height: 68px} .switch input {display: none} - .slider {position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; border-radius: 6px} - .slider:before {position: absolute; content: ""; height: 52px; width: 52px; left: 8px; bottom: 8px; background-color: #fff; -webkit-transition: .4s; transition: .4s; border-radius: 3px} - input:checked+.slider {background-color: #b30000} - input:checked+.slider:before {-webkit-transform: translateX(52px); -ms-transform: translateX(52px); transform: translateX(52px)} + .sliderON {position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; border-radius: 6px} + .sliderON:before {position: absolute; content: ""; height: 52px; width: 52px; left: 8px; bottom: 8px; background-color: #fff; -webkit-transition: .4s; transition: .4s; border-radius: 3px} + input:checked+.sliderON {background-color: #20A110} + input:checked+.sliderON:before {-webkit-transform: translateX(52px); -ms-transform: translateX(52px); transform: translateX(52px)} + .sliderOFF {position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; border-radius: 6px} + .sliderOFF:before {position: absolute; content: ""; height: 52px; width: 52px; left: 8px; bottom: 8px; background-color: #fff; -webkit-transition: .4s; transition: .4s; border-radius: 3px} + input:checked+.sliderOFF {background-color: #b30000} + input:checked+.slideroFF:before {-webkit-transform: translateX(52px); -ms-transform: translateX(52px); transform: translateX(52px)} </style> </head> <body> @@ -120,13 +123,13 @@ const char index_html[] PROGMEM = R"rawliteral( <i class="fas fa-wrench" style="color:#4a32a8;"></i> <span class="sensorlabel">motor1 Status</span> <span id="motor1status">%motor1STATUS%</span> - <sup class="units">torque</sup> +// <sup class="units">torque</sup> </p> <p> <i class="fas fa-wrench" style="color:#4a32a8;"></i> <span class="sensorlabel">motor2 Status</span> <span id="motor2status">%motor2STATUS%</span> - <sup class="units">torque</sup> +// <sup class="units">torque</sup> </p> %BUTTONPLACEHOLDER% <script>function toggleCheckbox(element) { @@ -238,7 +241,8 @@ String processor(const String& var){ } else if(var == "BUTTONPLACEHOLDER"){ String buttons = ""; - buttons += "<h4>Motor 1 Control</h4><label class=\"switch\"><input type=\"checkbox\" onchange=\"toggleCheckbox(this)\" id=\"2\" " + outputState(2) + "><span class=\"slider\"></span></label>"; + buttons += "<h4>TIGHTEN Boot</h4><label class=\"switch\"><input type=\"checkbox\" onchange=\"toggleCheckbox(this)\" id=\"1\" " + outputState(2) + "><span class=\"sliderON\"></span></label>"; + buttons += "<h4>Release Boot</h4><label class=\"switch\"><input type=\"checkbox\" onchange=\"toggleCheckbox(this)\" id=\"2\" " + outputState(2) + "><span class=\"sliderOFF\"></span></label>"; return buttons; } return String(); @@ -305,38 +309,27 @@ void setup(){ Serial.print(" - Set to: "); Serial.println(inputMessage2); - if (inputMessage2.toInt() == 1){ -// delay(200); - motor1status = "motor1 running"; // doesn't work idk why - motor2status = "awaiting..."; -// motor11111.setSpeed(60); -// motor11111.step(500); -//// motor11111.setSpeed(0); -// digitalWrite(motor11111IN1, LOW); -// digitalWrite(motor11111IN2, LOW); -// digitalWrite(motor11111IN3, LOW); -// digitalWrite(motor11111IN4, LOW); -// delay(200); - -// motor1status = "reset"; -// motor11111.setCurrentPosition(0); -// motor11111.setAcceleration(10); -// -// motor11111.moveTo(2000); -// -// while(motor11111.distanceToGo() <= 1000) { -// motor11111.setSpeed(80); -// motor11111.runToPosition(); -// } -// motor1status = "motor11111 stop"; + if (inputMessage1.toInt() == 1){ + if (inputMessage2.toInt() == 1){ + motor1status = "Ankle motor tightening..."; // doesn't work idk why + motor2status = "Waiting..."; + } + if (inputMessage2.toInt() == 0){ + motor1status = "Off"; + motor2status = "Off"; + } } -// - if (inputMessage2.toInt() == 0){ -// motor11111.setSpeed(0); - motor1status = "reset"; - motor2status = "reset"; + + if (inputMessage1.toInt() == 2) { + if (inputMessage2.toInt() == 1){ + motor1status = "Ankle motor loosening..."; // doesn't work idk why + motor2status = "Waiting..."; + } + if (inputMessage2.toInt() == 0){ + motor1status = "Off"; + motor2status = "Off"; + } } - request->send(200, "text/plain", "OK"); @@ -358,28 +351,49 @@ void loop(){ int intervals2[7] = {0,0,0,0,0,0,0}; int intervalValues2[7] = {0,0,0,0,0,0,0}; - if (motor1status == "motor1 running"){ + if (motor1status == "Ankle motor tightening..."){ motor1.setSpeed(60); motor1.step(500); -// motor11111.setSpeed(0); + digitalWrite(motor1IN1, LOW); digitalWrite(motor1IN2, LOW); digitalWrite(motor1IN3, LOW); digitalWrite(motor1IN4, LOW); - motor1status = "stop"; + motor1status = "Tightened"; - motor2status = "running..."; + motor2status = "Foot motor tightening..."; motor2.setSpeed(60); motor2.step(-500); -// motor11111.setSpeed(0); + digitalWrite(motor2IN1, LOW); digitalWrite(motor2IN2, LOW); digitalWrite(motor2IN3, LOW); digitalWrite(motor2IN4, LOW); - motor2status = "stop"; + motor2status = "Tightened"; + } + + if (motor1status == "Ankle motor loosening ..."){ + motor1.setSpeed(60); + motor1.step(500); + + digitalWrite(motor1IN1, LOW); + digitalWrite(motor1IN2, LOW); + digitalWrite(motor1IN3, LOW); + digitalWrite(motor1IN4, LOW); + motor1status = "Loosened"; + + motor2status = "Foot motor loosening..."; + + motor2.setSpeed(60); + motor2.step(-500); + + digitalWrite(motor2IN1, LOW); + digitalWrite(motor2IN2, LOW); + digitalWrite(motor2IN3, LOW); + digitalWrite(motor2IN4, LOW); + motor2status = "Loosened"; } - for(int counter = 0; counter < 10; counter ++) { int a1 = analogRead(PRESSUREPIN1); -- GitLab