ARDUINO 7

PHOTO EMBED

Mon Jan 08 2024 23:39:33 GMT+0000 (Coordinated Universal Time)

Saved by @马丽

#define echo 2
#define trig 3

#define LED8 11
#define LED7 10
#define LED6 9
#define LED5 8
#define LED4 7
#define LED3 6
#define LED2 5
#define LED1 4

float   duration;
float  distance;

void setup() {

  pinMode(trig, OUTPUT);
  pinMode(echo, INPUT);

  for (int i = 4; i <= 11; i++)
    pinMode(i, OUTPUT);


  Serial.begin(9600);

}

void loop() {

  time_Measurement();
  distance = duration * (0.0343) / 2;
  Serial.println(distance);

  led_Check();
  delay(10);

  for (int i = LED1; i <= LED8; i++) {
    digitalWrite(i, LOW);
  }
}


void time_Measurement()
{
  digitalWrite(trig, LOW);
  delayMicroseconds(2);

  digitalWrite(trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig, LOW);

  duration = pulseIn(echo, HIGH);
}

void led_Check() {
  
  if (11 < distance && distance <= 15)
    digitalWrite(LED8, HIGH);
  else if (10 < distance && distance <= 11)
    digitalWrite(LED7, HIGH);
  else if (9 < distance && distance <= 10)
    digitalWrite(LED6, HIGH);
  else if (8 < distance && distance <= 9)
    digitalWrite(LED5, HIGH);
  else if (7 < distance && distance <= 8)
    digitalWrite(LED4, HIGH);
  else if (6 < distance && distance <= 7)
    digitalWrite(LED3, HIGH);
  else if (5 < distance && distance <= 6)
    digitalWrite(LED2, HIGH);
  else if (1 < distance && distance <= 5)
    digitalWrite(LED1, HIGH);

  else {
    for (int i = LED1; i <= LED8; i++)
      digitalWrite(i, LOW);
  }

}
content_copyCOPY