使用 HC-SR04 超聲波感測器、LED 和蜂鳴器來模擬倒車雷達。
距離遠,蜂鳴器頻率低,右燈亮。
距離中,蜂鳴器頻率中,中燈亮。
距離近,蜂鳴器頻率高,左燈亮。
#define m1 294
#define m5 440
#define h5 880
int red = 2;
int yellow = 3;
int green = 4;
int v = 5;
int trigPin = 12;
int echoPin = 11;
float duration, distance;
void setup() {
Serial.begin(9600);
while (!Serial) {}
pinMode(red, OUTPUT);
pinMode(yellow, OUTPUT);
pinMode(green, OUTPUT);
pinMode(v, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(20);
digitalWrite(trigPin, HIGH);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.0170;
if (distance >= 25 ) {
digitalWrite(green, HIGH);
digitalWrite(yellow, LOW);
digitalWrite(red, LOW);
tone(v, m1, 200);
delay(250);
} else if (distance >= 10 and distance <= 25) {
digitalWrite(yellow, HIGH);
digitalWrite(green, LOW);
digitalWrite(red, LOW);
tone(v, m5, 150);
delay(200);
} else {
digitalWrite(red, HIGH);
digitalWrite(green, LOW);
digitalWrite(yellow, LOW);
tone(v, h5, 100);
delay(150);
}
Serial.flush();
delayMicroseconds(duration * 1.5);
}