//Juniad Ashraf // This Sketch receives a byte from serial port represents the //delay time value between stepping sequence pulses // It still works till another byte is sent to arduino’s serial port. // It also Calculates Motor speed and sends it to another Serial Port. byte labview; unsigned int wait; byte go; void setup() { Serial.begin(9600); Serial1.begin(9600); pinMode(7,OUTPUT); pinMode(8,OUTPUT); pinMode(9,OUTPUT); pinMode(10,OUTPUT);} void loop(){ start: if (Serial.available()) { labview = Serial.read(); if(labview!='0') { wait = (labview-48); show();} else {brake(); goto start;}} else { digitalWrite(7,HIGH); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); delay(wait); digitalWrite(7,LOW); digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,LOW); delay(wait); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); delay(wait); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,HIGH); delay(wait);}} void show() { Serial1.write(254); Serial1.write(1); delay(4); Serial1.print("Speed = "); Serial1.print(300/wait); Serial1.print(" rpm"); } void brake() { digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,LOW); }