#define TRIGGER_PIN 9 // 초음파 센서의 트리거 핀 #define ECHO_PIN 10 // 초음파 센서의 에코 핀 #define LED_PIN_1 2 // LED1 핀 #define LED_PIN_2 3 // LED2 핀 #define LED_PIN_3 4 // LED3 핀 #define MAX_DISTANCE 30 // 측정 가능한 최대 거리 (센서의 스펙에 따라 조절) void setup() { pinMode(LED_PIN_1, OUTPUT); pinMode(LED_PIN_2, OUTPUT); pinMode(LED_PIN_3, OUTPUT); pinMode(TRIGGER_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT); Serial.begin(9600); } void loop() { digitalWrite(TRIGGER_PIN, LOW); delayMicroseconds(2); digitalWrite(TRIGGER_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIGGER_PIN, LOW); unsigned long duration = pulseIn(ECHO_PIN, HIGH); int distance = duration / 58; // 거리를 센티미터로 변환 Serial.print("Distance: "); Serial.print(distance); Serial.println(" cm"); if (distance <= 10) { digitalWrite(LED_PIN_1, HIGH); digitalWrite(LED_PIN_2, LOW); digitalWrite(LED_PIN_3, LOW); } else if (distance <= 20) { digitalWrite(LED_PIN_1, LOW); digitalWrite(LED_PIN_2, HIGH); digitalWrite(LED_PIN_3, LOW); } else if (distance <= 30) { digitalWrite(LED_PIN_1, LOW); digitalWrite(LED_PIN_2, LOW); digitalWrite(LED_PIN_3, HIGH); } else { digitalWrite(LED_PIN_1, LOW); digitalWrite(LED_PIN_2, LOW); digitalWrite(LED_PIN_3, LOW); } delay(1000); // 1초마다 거리를 업데이트 }