الكود البرمجي
ارفع الكود البرمجي التالي على لوحة الاردوينو باستخدام برنامج اردوينو (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();
يمكنك اختبار آلة توزيع الحلوى بعد رفع الكود البرمجي للوحة الاردوينو.
لا تنسَ فصل مصدر الطاقة بعد الانتهاء من استخدام النظام.