#include void setup() { Serial.begin(9600); } float ultrasonic(int Trig, int Echo) { pinMode(Trig, OUTPUT); pinMode(Echo, INPUT); digitalWrite(Trig, LOW); delayMicroseconds(2); digitalWrite(Trig, HIGH); delayMicroseconds(10); digitalWrite(Trig, LOW); float dist = pulseIn(Echo, HIGH) / 58; // 由HIGH轉LOW所需時間 Serial.println(dist); return dist; } void alarm() { int i = 200; while (i < 800) { i += 20; tone(8, i); // tone(pin, frequency, duration) delay(5); } delay(100); noTone(8); } void loop() { float d = ultrasonic(3, 2); // Trig發動, Echo收回 if (d<10) alarm(); delay(250); }