Загрузка данных


const int trigPin=9, echoPin=10, buzzerPin=6;

long distanceCm() {
  digitalWrite(trigPin, LOW); delayMicroseconds(2);
  digitalWrite(trigPin, HIGH); delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  unsigned long t=pulseIn(echoPin, HIGH, 25000);
  if (t==0) return 0;
  return t*0.0343/2.0;
}

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(buzzerPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  long cm=distanceCm();
  Serial.println(cm);
  if (cm==0 || cm>50) {
    digitalWrite(buzzerPin, LOW); delay(100); return;
  }
  digitalWrite(buzzerPin, HIGH); delay(80);
  digitalWrite(buzzerPin, LOW);
  if (cm>20) delay(650); else delay(120);
}