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

التتبع التلقائي لمصدر الضوء باستخدام 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) ؛

}

موصى به: