int pulPin = 8; int dirPin = 9; int ledPin = 5; int stepDelay = 700; boolean on = false; int sensor=A7; int sensorValue=0; void setup() { Serial.begin(115200); pinMode(ledPin, OUTPUT); pinMode(pulPin, OUTPUT); digitalWrite(pulPin, LOW); } void loop() { while (Serial.available()) { String cmd = Serial.readStringUntil(';'); int comma = cmd.indexOf(','); String stepVal = cmd.substring(0, comma); if (stepVal == "H") { on = true; } else if (stepVal == "J") { on = false; } String stepSpeed = cmd.substring(comma + 1, cmd.length()); int val=stepSpeed.toInt(); if (val > 1) { stepDelay = stepSpeed.toInt(); break; } } sensorValue=analogRead(sensor); if(sensorValue>300){ on=false; } if (on) { digitalWrite(pulPin, LOW); digitalWrite(ledPin, LOW); delayMicroseconds(stepDelay); digitalWrite(pulPin, HIGH); digitalWrite(ledPin, HIGH); delayMicroseconds(stepDelay); } }