|
int trigPin = 9; int echoPin = 10;
int button = 2;
int greenLed = 6; int redLed = 7;
long duration; int distance;
bool measuring = false; int lastButtonState = HIGH;
void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT);
pinMode(button, INPUT_PULLUP);
pinMode(greenLed, OUTPUT); pinMode(redLed, OUTPUT);
Serial.begin(9600);
digitalWrite(greenLed, LOW); digitalWrite(redLed, HIGH); }
void loop() { int buttonState = digitalRead(button);
if(buttonState == LOW && lastButtonState == HIGH) { measuring = !measuring;
if(measuring == true) { Serial.println(“Measurement Started”); digitalWrite(greenLed, HIGH); digitalWrite(redLed, LOW); } else { Serial.println(“Measurement Stopped”); Serial.print(“Final Length = “); Serial.print(distance); Serial.println(” cm”);
digitalWrite(greenLed, LOW); digitalWrite(redLed, HIGH); }
delay(300); }
lastButtonState = buttonState;
if(measuring == true) { digitalWrite(trigPin, LOW); delayMicroseconds(2);
digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print(“Length = “); Serial.print(distance); Serial.println(” cm”);
delay(500); } }
|