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

مبتدئ

image_pdf

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

ارفع الكود البرمجي التالي على لوحة الاردوينو باستخدام برنامج اردوينو (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
Product added to the cart