#include <Servo.h>
#define TRIG_PIN 7 // 초음파 센서 Trig 핀
#define ECHO_PIN 6 // 초음파 센서 Echo 핀
#define SERVO_PIN 9 // 서보 모터 핀
Servo myServo; // 서보 모터 객체 생성
void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
myServo.attach(SERVO_PIN);
myServo.write(0); // 기본 상태: 뚜껑 닫힘 (0도)
Serial.begin(9600);
}
void loop() {
long duration;
int distance;
// 초음파 센서로 거리 측정
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
// 거리 변환 (음속 기준)
distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// 15cm 이내에서 손 감지되면 뚜껑 열기
if (distance > 0 && distance < 15) {
myServo.write(90); // 뚜껑 열기
delay(3000); // 3초 유지
myServo.write(0); // 다시 닫기
}
delay(500); // 센서 안정화
}