#include const int stepsPerRevolution = 200; Stepper myStepper(stepsPerRevolution, 4, 5, 6, 7); int motorPin = 3; const int trigPin = 9; //bottom black const int echoPin = 10; const int trigPin2 = 11; //top white const int echoPin2 = 12; float duration; float distance; float duration2; float distance2; float ratio; void setup() { pinMode(motorPin, OUTPUT); myStepper.setSpeed(140); Serial.begin(9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); Serial.begin(9600); pinMode(trigPin2, OUTPUT); pinMode(echoPin2, INPUT); Serial.begin(9600); } void loop() { digitalWrite(motorPin, HIGH); //vibrate myStepper.step(-35*stepsPerRevolution); delay(20000); myStepper.step(35*stepsPerRevolution); digitalWrite(motorPin, LOW); //stop vibrating delay(1000); digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = (duration * 0.034 / 2); Serial.print("Dust Measurement: "); Serial.println(distance); digitalWrite(trigPin2, LOW); delayMicroseconds(2); digitalWrite(trigPin2, HIGH); delayMicroseconds(10); digitalWrite(trigPin2, LOW); duration2 = pulseIn(echoPin2, HIGH); distance2 = (duration2 * 0.034 / 2); Serial.print("grain measurement: "); Serial.println(distance2); ratio=distance2/distance; Serial.print("ratio: "); Serial.println(ratio); if (ratio>0.95) Serial.println("EXCESSIVE DUST"); else Serial.println("NORMAL"); delay(1000); }