gabbyshimoni icon

Backards distance sensor

gabbyshimoni | PRO | 09/27/22 09:53:22 AM UTC | 0 ⭐ | 1127 👁️ | Never ⏰ | []
C++ |

1.42 KB

|

Source Code

|

0 👍

/

0 👎

#define redLed 3
#define yellowLed 4
#define greenLed 5
#define pbPin 6
int pbState = 0;
#define TRIG 7
#define ECHO 8
long distance, duration;
#define buzPin 9
 
void setup() {
  pinMode(redLed, OUTPUT);
  pinMode(yellowLed, OUTPUT);
  pinMode(greenLed, OUTPUT);
  pinMode(pbPin, INPUT);
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
  pinMode(buzPin, OUTPUT);
  Serial.begin(9600);
  digitalWrite(greenLed, LOW);
  digitalWrite(yellowLed, LOW);
  digitalWrite(redLed, LOW);
}
 
void loop() {
  pbState = digitalRead(pbPin);
  if (pbState == HIGH) {
    digitalWrite(TRIG, LOW);
    delayMicroseconds(2);
    digitalWrite(TRIG, HIGH);
    delayMicroseconds(10);
    digitalWrite(TRIG, LOW);
    duration = pulseIn(ECHO, HIGH);
    distance = duration / 2 / 29;
 
    if (distance >= 100) {
      digitalWrite(greenLed, HIGH);
      digitalWrite(yellowLed, LOW);
      digitalWrite(redLed, LOW);
    } else if (distance >= 50) {
      digitalWrite(greenLed, LOW);
      digitalWrite(yellowLed, HIGH);
      digitalWrite(redLed, LOW);
      tone(buzPin, 4000);
      delay(1000);
      noTone(buzPin);
    } else {
      digitalWrite(greenLed, LOW);
      digitalWrite(yellowLed, LOW);
      digitalWrite(redLed, HIGH);
      tone(buzPin, 4000);
      delay(500);
      digitalWrite(redLed, LOW);
      noTone(buzPin);
    }
 
    Serial.print("distance=");
    Serial.println(distance);
  }
}

Comments