مشروع:قمامة ذكية باستخدام أردوينو

المهمة الرئيسية للمشروع هي اكتشاف واستشعار الكائن مثل اليد ، مما يجعل صندوق القمامة يفتح ويغلق باستخدام جهاز الاستشعار بالموجات فوق الصوتية والمحرك المؤازر. يستخدم مستشعر الموجات فوق الصوتية لاستشعار الكائن (اليد) عن طريق استشعار المسافة من هذا المستشعر. يحتوي المستشعر بالموجات فوق الصوتية على أربعة دبابيس ، وهي عبارة عن مصدر طاقة بجهد 5 فولت ، وأرضي ، ودبوس مثلث ، ودبوس صدى. يتم أخذ دبوس الزناد كمدخلات ويتم أخذ دبوس الصدى كإخراج. يستخدم محرك سيرفو لتدوير المحرك خطوة بخطوة عن طريق ضبط الزاوية على المحرك. يحتوي محرك سيرفو على ثلاثة دبابيس ، وهي دبوس 5 فولت ودبوس أرضي.

 

مخطط المشروع


كود المشروع:

#include <Servo.h> // basic library for servo motor 
Servo myservo; // create object for function
int pos = 20; // declare initial angle for motor
const int trigPin = 6; // ultrasonic sensor pin (output)
const int echoPin = 5; // ultrasonic sensor pin (input)
const int led = 13; // led pin
long duration; // variables for usage
float distance;
5
void setup()
{
myservo.attach(11); // servo pin pin
pinMode(trigPin, OUTPUT); // trig pin taken as output pinMode(echoPin, INPUT); // echo pin taken as input pinMode(led, OUTPUT);
myservo.write(pos);
}
void loop()
{
//Serial.begin(9600);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = 0.034*(duration)/2;
//Serial.println(distance);
6

if (distance < 27)
{
digitalWrite(led,HIGH); // led in on state
myservo.write(pos+160); // motor rotate to angle 180 (20+160) delay(1000);
}
else
{
digitalWrite(led,LOW); // led in off state
myservo.write(pos); // motor rotates to angle 20 }
delay(300);
}


 
 

 

إرسال تعليق

أحدث أقدم