#include <Servo.h> // Servo মোটর লাইব্রেরি ইনক্লুড
// Ultrasonic সেন্সরের পিন সংজ্ঞা
#define trigPin 9
#define echoPin 10
// Servo মোটরের পিন সংজ্ঞা
Servo myServo; // Servo মোটরের অবজেক্ট তৈরি
long duration;
int distance;
int openPosition = 90; // ঢাকনা খোলার অবস্থান (ডিগ্রি)
int closedPosition = 0; // ঢাকনা বন্ধ অবস্থান (ডিগ্রি)
void setup() {
Serial.begin(9600); // সিরিয়াল মনিটরের মাধ্যমে আউটপুট দেখানোর জন্য
myServo.attach(11); // Servo মোটর Arduino পিন 11 তে সংযুক্ত
pinMode(trigPin, OUTPUT); // Trig পিন আউটপুট হিসেবে সেট করা
pinMode(echoPin, INPUT); // Echo পিন ইনপুট হিসেবে সেট করা
}
void loop() {
// Ultrasonic সেন্সরের মাধ্যমে দূরত্ব মাপা
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH); // Echo পিন থেকে পলস রিড করা
distance = duration * 0.0344 / 2; // দূরত্ব বের করা (সেন্সর থেকে বস্তু পর্যন্ত)
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// যদি দূরত্ব ২০ সেন্টিমিটারের মধ্যে থাকে, ঢাকনা খুলবে
if (distance < 20) {
myServo.write(openPosition); // ঢাকনা খোলা
}
else {
myServo.write(closedPosition); // ঢাকনা বন্ধ
}
delay(500); // 500 মিলিসেকেন্ড বিরতি
}