123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #define DISTANCE 15
-
- // defines pins numbers
- const int trigPin = 2; //D4
- const int echoPin = 0; //D3
-
- // defines variables
- long duration;
- int distance;
- int bool1 = 0;
-
- void setup() {
- pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
- pinMode(echoPin, INPUT); // Sets the echoPin as an Input
- Serial.begin(9600); // Starts the serial communication
- }
-
- void loop() {
- // Clears the trigPin
- digitalWrite(trigPin, LOW);
- delayMicroseconds(2);
-
- // Sets the trigPin on HIGH state for 10 micro seconds
- digitalWrite(trigPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(trigPin, LOW);
-
- // Reads the echoPin, returns the sound wave travel time in microseconds
- duration = pulseIn(echoPin, HIGH);
-
- // Calculating the distance
- distance = duration * 0.034 / 2;
- // Prints the distance on the Serial Monitor
- if (bool1 == 0) {
- //if ((distance != (DISTANCE - 1)) && (distance != (DISTANCE)) && (distance != (DISTANCE + 1))) { //+-1
- if(((DISTANCE+2)<distance)|| ((DISTANCE-2)>distance)){ //darf +- 2 um festgelegte entfernung schwanken, um störungen herauszufiltern
- Serial.print("Motion detected: ");
- Serial.println(distance);
- bool1 = 1;
-
- }
- }
- else if(bool1==1){
- if(((DISTANCE+2)<distance)|| ((DISTANCE-2)>distance)){ //darf +- 2 um festgelegte entfernung schwanken, um störungen herauszufiltern
- Serial.print("Still motion detected: ");
- Serial.println(distance);
- }
- else{
- //Flag wieder auf 0
- bool1=0;
- }
- }
- delay(100);
- }
|