اصنع آلة توزيع الحلوى باستخدام الاردوينو ومستشعر تجنب الحواجز

مبتدئ

image_pdf

مقدمة

في هذا الدرس ستتعلم كيف تصنع آلة توزيع الحلوى باستخدام الاردوينو ومحرك السيرفو ومستشعر تجنب الحواجز بالأشعة تحت الحمراء، بحيث يمكن توزيع الحلوى بدون لمس الجهاز مما يؤدي إلى تقليل احتمالية انتقال الفيروسات

توزيع الحلوى

المواد والأدوات

توزيع الحلوى

1× اردوينو اونو

توزيع الحلوى

1× سلك الاردوينو

arduino-automatic-candy-dispenser-machine

لوحة تجارب حجم صغير

توزيع الحلوى

×1 مستشعر تجنب الحواجز بالأشعة تحت الحمراء

arduino-automatic-candy-dispenser-machine

محرك سيرفو (TowerPro SG90 micro servo)

arduino-automatic-candy-dispenser-machine

حزمة أسلاك توصيل (ذكر – أنثى)

توزيع الحلوى

1× هيكل آلة توزيع الحلوى

توصيل الدائرة

 للمزيد حول محرك السيرفو يمكنك الرجوع للدرس التالي محرك السيرفو.

وللمزيد حول مستشعر تجنب الحواجز بالأشعة الحمراء يمكنك الرجوع للدرس مستشعر تجنب الحواجز بالأشعة الحمراء.

 

توزيع الحلوى

هيكل آلة توزيع الحلوى

في هذا الدرس تم استخدام قالب فليني لمحاكاة نموذج الآلة.

يمكنك اختيار شكل الهيكل المناسب لك سواء قالب فيليني أو كرتوني أو نموذج بالطابعة ثلاثية الأبعاد أو نموذج خشبي بجهاز الليزر.

هنا مراحل إعداد النموذج تم قص القالب الفليني بهذا الشكل.

توزيع الحلوى

وتم تثبيت الدائرة الكهربائية بهذا الشكل.

توزيع الحلوى

الكود البرمجي

ارفع الكود البرمجي التالي على لوحة الاردوينو باستخدام برنامج اردوينو (IDE).

#include <Servo.h>
Servo servo;
int pos;
int Signal = 8;
int servopin = 9;

void setup() 
{
pinMode(Signal, INPUT);
servo.attach(servopin);
servo.write(0); //close cap on power on
delay(1000);
servo.detach();
}

void loop() 
{
int buttonState = digitalRead(Signal);
delay(1);
if (buttonState == 0)
{
servo.attach(servopin);
delay(1);
servo.write(90);
delay(3000); //wait 5 seconds
servo.write(0);
delay(1000);
servo.detach();
}
}

شرح الكود البرمجي

في هذا السطر تم استدعاء مكتبة محرك السيرفو: <Servo.h>.

#include <Servo.h>

تم تعريف المتغير Signal  الخاص بمستشعر تجنب الحواجز بالأشعة تحت الحمراء وربطه بالمنفذ الرقمي 8 على لوحة الاردوينو.

int Signal = 8;

تم تعريف المتغير servopin الخاص بمحرك السيرفو وربطه بالمنفذ الرقمي 9 على لوحة الاردوينو.

int servopin = 9;

في الدالة ()setup يتم تعيين محرك السيرفو كمخرج ومستشعر تجنب الحواجز بالأشعة تحت الحمراء كمدخل.

وستكون الحالة الابتدائية لمحرك السيرفو تساوي صفر.

void setup() 
{
pinMode(Signal, INPUT);
servo.attach(servopin);
servo.write(0); //close cap on power on
delay(1000);
servo.detach();
}

في الدالة loop() يتم تعريف المتغير buttonState لقراء البيانات من مستشعر تجنب الحواجز بالأشعة تحت الحمراء.

void loop() 
{
int buttonState = digitalRead(Signal);

ستتم قراءة البيانات من مستشعر تجنب الحواجز إذا كان هناك حاجز أمام الحساس سيتحرك محرك السيرفو بزاوية 90.

servo.attach(servopin);
delay(1);
servo.write(90);

وإذا لم يكن هناك حاجز أمام مستشعر تجنب الحواجز سيتوقف محرك السيرفو عن العمل ويعود للزاوية صفر.

servo.write(0);
delay(1000);
servo.detach();

يمكنك اختبار آلة توزيع الحلوى بعد رفع الكود البرمجي للوحة الاردوينو.

 لا تنسَ فصل مصدر الطاقة بعد الانتهاء من استخدام النظام.

X
تم إضافة المنتج إلى السلة بنجاح