جدول المحتويات:

التتبع التلقائي لمصدر الضوء باستخدام ARDUINO UNO R3: 5 خطوات
التتبع التلقائي لمصدر الضوء باستخدام ARDUINO UNO R3: 5 خطوات

فيديو: التتبع التلقائي لمصدر الضوء باستخدام ARDUINO UNO R3: 5 خطوات

فيديو: التتبع التلقائي لمصدر الضوء باستخدام ARDUINO UNO R3: 5 خطوات
فيديو: اردوينو - حساس الضوء مع الاردوينو Light sensor with Arduino 2024, يوليو
Anonim
تتبع مصدر الضوء تلقائيًا باستخدام ARDUINO UNO R3
تتبع مصدر الضوء تلقائيًا باستخدام ARDUINO UNO R3

في هذا الدرس ، سوف نستخدم محرك مؤازر ومقاوم ضوئي ومقاوم منسدل لتجميع نظام مصدر ضوء التتبع تلقائيًا.

الخطوة 1: المكونات

- لوحة اردوينو أونو * 1

- كابل USB * 1

- محرك سيرفو * 1

- المقاوم الضوئي * 1

- المقاوم (10 كيلو) * 1

- اللوح * 1

- أسلاك توصيل

الخطوة 2: المبدأ

محرك سيرفو ومقاومة الضوء والبحث عن مصدر الضوء بزاوية 180 درجة وتسجيل موقع مصدر الضوء. بعد الانتهاء من المسح ، يتوقف محرك سيرفو والمقاوم الضوئي في اتجاه مصدر الضوء.

الخطوة 3: رسم تخطيطي

رسم تخطيطى
رسم تخطيطى

الخطوة 4: الإجراءات

إجراءات
إجراءات
إجراءات
إجراءات

الخطوة 1:

بناء الدائرة.

الخطوة 2:

قم بتنزيل الكود من

الخطوه 3:

قم بتحميل الرسم التخطيطي على لوحة Arduino Uno

انقر فوق أيقونة تحميل لتحميل الرمز إلى لوحة التحكم.

إذا ظهر "تم التحميل" أسفل النافذة ، فهذا يعني أنه تم تحميل الرسم التخطيطي بنجاح.

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

الخطوة 5: الكود

/********************************************************************

* اسم:

تتبع مصدر الضوء تلقائيًا

* وظيفة

: إذا كنت تستخدم مصباحًا يدويًا لإضاءة المقاوم الضوئي ،

* سوف ترى

محرك سيرفو والمقاوم الضوئي يدوران ،

* وأخيرا

توقف في اتجاه مصدر الضوء.

***********************************************************************

/ البريد الإلكتروني: [email protected]

// الموقع: www.primerobotics.in

#يشمل

const int photocellPin = A0 ؛

/************************************************/

Servo myservo؛ // إنشاء كائن مؤازر للتحكم في المؤازرة

int outputValue = 0 ؛

زاوية int = {0 ، 10 ، 20 ، 30 ، 40 ، 50 ، 60 ، 70 ، 80 ، 90 ،

100, 110, 120, 130, 140, 150, 160, 170, 180};

int maxVal = 0 ؛

int maxPos = 0 ؛

/*************************************************/

الإعداد باطل()

{

Serial.begin (9600) ؛

myservo.attach (9)؛ // يعلق المؤازرة على الدبوس 9 لكائن المؤازرة

}

/*************************************************/

حلقة فارغة()

{

لـ (int i = 0 ؛

أنا <19 ؛ أنا ++)

{

myservo.write (زاوية ) ؛ // اكتب الزاوية إلى المؤازرة

قيمة الانتاج

= analogRead (photocellPin) ؛ // اقرأ قيمة A0

Serial.println (outputValue) ؛ // اطبعها

if (outputValue> maxVal) // إذا كانت القيمة الحالية لـ A0 أكبر من السابقة

{

maxVal = outputValue ؛ // اكتب القيمة

ماكس

= أنا ؛ //

}

تأخير (200) ؛

}

myservo.write (زاوية [maxPos]) ؛ // اكتب الزاوية إلى المؤازرة التي لها A0 أكبر قيمة

بينما (1) ؛

}

موصى به: