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

مستشعر الضوء (المقاوم الضوئي) مع Arduino في Tinkercad: 5 خطوات (بالصور)
مستشعر الضوء (المقاوم الضوئي) مع Arduino في Tinkercad: 5 خطوات (بالصور)

فيديو: مستشعر الضوء (المقاوم الضوئي) مع Arduino في Tinkercad: 5 خطوات (بالصور)

فيديو: مستشعر الضوء (المقاوم الضوئي) مع Arduino في Tinkercad: 5 خطوات (بالصور)
فيديو: محاكاة الدوائر الكهربائية والأردوينو في Tinkercad.com 2024, شهر نوفمبر
Anonim
مستشعر الضوء (المقاوم الضوئي) مع Arduino في Tinkercad
مستشعر الضوء (المقاوم الضوئي) مع Arduino في Tinkercad

مشاريع تينكركاد »

دعنا نتعلم كيفية قراءة المقاوم الضوئي ، وهو نوع حساس للضوء من المقاوم المتغير ، باستخدام مدخلات Arduino التناظرية. يطلق عليه أيضًا LDR (المقاوم المعتمد على الضوء).

لقد تعلمت حتى الآن التحكم في مصابيح LED من خلال إخراج Arduino التناظري ، وقراءة مقياس الجهد ، وهو نوع آخر من المقاومات المتغيرة ، لذلك سنبني على هذه المهارات في هذا الدرس. تذكر أن مدخلات Arduino التناظرية (المسامير التي تحمل علامة A0-A6) يمكنها اكتشاف إشارة كهربائية متغيرة تدريجيًا ، وترجمة هذه الإشارة إلى رقم بين 0 و 1023.

صورة
صورة

استكشف عينة الدائرة المضمنة هنا في طائرة العمل عن طريق النقر فوق بدء المحاكاة والنقر فوق المقاوم الضوئي (شكل بيضاوي بني بخط متعرج لأسفل في المنتصف) ، ثم اسحب منزلق السطوع لضبط إدخال الضوء المحاكى.

في هذا الدرس ، ستقوم ببناء هذه الدائرة المحاكاة بنفسك بجانب العينة. لبناء الدائرة المادية بشكل اختياري ، قم بتجميع لوحة Arduino Uno وكابل USB ولوح التجارب غير الملحوم ومصباح LED ومقاومات (220 أوم و 4.7 كيلو أوم) ومقاوم ضوئي وأسلاك لوح التجارب.

يمكنك المتابعة بشكل افتراضي باستخدام Tinkercad Circuits. يمكنك حتى مشاهدة هذا الدرس من داخل Tinkercad (يلزم تسجيل الدخول المجاني)! استكشف الدائرة النموذجية وقم ببناء حقك بجوارها. Tinkercad Circuits هو برنامج مجاني قائم على المستعرض يتيح لك إنشاء الدوائر ومحاكاتها. إنه مثالي للتعلم والتدريس والنمذجة.

الخطوة 1: بناء الدائرة

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

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

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

حدد المقاوم الضوئي و LED والمقاومات والأسلاك المتصلة بـ Arduino في لوحة عمل Tinkercad Circuits.

اسحب Arduino Uno ولوح التجارب من لوحة المكونات إلى طائرة العمل ، بجوار الدائرة الحالية.

قم بتوصيل قوة اللوح (+) والقضبان الأرضية (-) بـ Arduino 5V والأرضي (GND) ، على التوالي ، من خلال النقر لإنشاء الأسلاك.

قم بتمديد قضبان الطاقة والأرض إلى الحافلات الخاصة بها على الحافة المقابلة من اللوح (اختياري لهذه الدائرة ولكن ممارسة شائعة جيدة).

قم بتوصيل مؤشر LED بصفين مختلفين من اللوح بحيث يتصل الكاثود (السالب ، الساق الأقصر) بساق واحدة من المقاوم (أي مكان من 100-1K أوم على ما يرام). يمكن أن يذهب المقاوم في أي اتجاه لأن المقاومات ليست مستقطبة ، على عكس مصابيح LED التي يجب توصيلها بطريقة معينة لتعمل.

قم بتوصيل ساق المقاوم الأخرى بالأرض.

قم بتوصيل أنود LED (موجب ، ساق أطول) إلى دبوس Arduino 9.

اسحب المقاوم الضوئي من لوحة المكونات إلى اللوح الخاص بك ، بحيث يتم توصيل ساقيه في صفين مختلفين.

انقر لإنشاء سلك يربط ساق المقاوم الضوئي بالطاقة.

قم بتوصيل الساق الأخرى بدبوس Arduino التناظري A0.

اسحب المقاوم من لوحة المكونات لتوصيل ساق المقاوم الضوئي المتصل بـ A0 بالأرض ، واضبط قيمته على 4.7 كيلو أوم.

الخطوة 2: الكود مع الكتل

كود مع كتل
كود مع كتل

دعنا نستخدم محرر الكتل البرمجية للاستماع إلى حالة المقاوم الضوئي ، ثم نضبط مؤشر LED على سطوع نسبي بناءً على مقدار الضوء الذي يراه المستشعر. قد ترغب في تحديث ذاكرتك الخاصة بالإخراج التناظري LED في درس LED المتلاشي.

انقر فوق الزر "رمز" لفتح محرر التعليمات البرمجية. كتل التدوين الرمادية هي تعليقات لتدوين ما تنوي فعله في الكود الخاص بك ، لكن هذا النص لا يتم تنفيذه كجزء من البرنامج.

انقر فوق فئة المتغيرات في محرر الكود.

لتخزين قيمة المقاومة للمقاومة الضوئية ، قم بإنشاء متغير يسمى "sensorValue".

اسحب كتلة "مجموعة". سنخزن حالة المقاوم الضوئي في المتغير

مستشعر قيمة

انقر فوق فئة الإدخال واسحب كتلة "تثبيت قراءة تمثيلية" ، وضعها في كتلة "تعيين" بعد كلمة "إلى"

نظرًا لأن مقياس الجهد الخاص بنا متصل بـ Arduino على الدبوس A0 ، قم بتغيير القائمة المنسدلة إلى A0.

انقر فوق فئة الإخراج واسحب كتلة "طباعة إلى جهاز العرض التسلسلي".

انتقل إلى فئة المتغيرات واسحب قيمة المستشعر المتغير إلى كتلة "طباعة إلى جهاز العرض التسلسلي" ، وتأكد من تعيين القائمة المنسدلة للطباعة بخط جديد. اختياريًا ، ابدأ المحاكاة وافتح الشاشة التسلسلية للتحقق من وصول القراءات وتغييرها عند ضبط المستشعر. تتراوح قيم الإدخال التناظرية من 0-1023.

نظرًا لأننا نريد الكتابة إلى مؤشر LED برقم بين 0 (إيقاف) و 255 (سطوع كامل) ، فسنستخدم كتلة "الخريطة" لإجراء بعض عمليات الضرب التبادلية لنا. انتقل إلى فئة الرياضيات واسحب كتلة "الخريطة".

في الفتحة الأولى ، اسحب كتلة متغير sensorValue ، ثم اضبط النطاق من 0 إلى 255.

مرة أخرى في فئة الإخراج ، اسحب كتلة "مجموعة الدبوس" التناظرية ، والتي تقول افتراضيًا "اضبط الدبوس 3 على 0". اضبطه لضبط الرقم 9.

اسحب كتلة الخريطة التي قمت بإنشائها مسبقًا إلى حقل "مجموعة الدبوس" الخاص بـ "إلى" لكتابة الرقم المعدل إلى دبوس LED باستخدام PWM.

انقر فوق فئة التحكم واسحب كتلة الانتظار ، واضبطها لتأخير البرنامج لمدة 0.1 ثانية.

الخطوة 3: شرح كود اردوينو المقاوم الضوئي

عندما يكون محرر الكود مفتوحًا ، يمكنك النقر فوق القائمة المنسدلة الموجودة على اليسار وتحديد "Blocks + Text" للكشف عن كود Arduino الذي تم إنشاؤه بواسطة كتل التعليمات البرمجية. تابع معنا بينما نستكشف الكود بمزيد من التفصيل.

حساس intValue = 0 ؛

قبل

اقامة()

، نقوم بإنشاء متغير لتخزين القيمة الحالية المقروءة من مقياس الجهد. تسمى

int

لأنه عدد صحيح ، أو أي عدد صحيح.

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

{pinMode (A0، INPUT) ؛ pinMode (9 ، الإخراج) ؛ Serial.begin (9600) ؛ }

داخل الإعداد ، يتم تكوين المسامير باستخدام ملف

pinMode ()

وظيفة. تم تكوين الدبوس A0 كمدخل ، حتى نتمكن من "الاستماع" إلى الحالة الكهربائية لمقياس الجهد. تم تكوين Pin 9 كإخراج للتحكم في LED. لتتمكن من إرسال الرسائل ، يفتح Arduino قناة اتصال تسلسلي جديدة مع

Serial.begin ()

، والتي تأخذ وسيطة معدل الباود (ما هي سرعة الاتصال) ، في هذه الحالة 9600 بت في الثانية.

حلقة فارغة()

{// قراءة القيمة من المستشعر sensorValue = analogRead (A0) ؛ // اطبع قراءة المستشعر حتى تعرف نطاقه Serial.println (sensorValue) ؛

أي شيء بعد مجموعة من الخطوط المائلة

//

هو تعليق يساعد الناس على فهم ما هو المقصود من البرنامج بلغة واضحة ، ولكنه غير مدرج في البرنامج الذي يشغله Arduino. في الحلقة الرئيسية ، تسمى وظيفة

analogRead () ،

يتحقق من حالة الدبوس A0 (والذي سيكون عددًا صحيحًا من 0-1023) ، ويخزن هذه القيمة في المتغير

مستشعر قيمة

// قم بتعيين قراءة المستشعر إلى نطاق لمصباح LED

analogWrite (9 ، خريطة (sensorValue ، 0 ، 1023 ، 0 ، 255)) ؛ تأخير (100) ؛ // انتظر 100 مللي ثانية}

يقوم السطر الذي يلي التعليق التالي بعمل الكثير في وقت واحد. تذكر

analogWrite ()

يأخذ وسيطتين ، الرقم السري (9 في حالتنا) ، والقيمة المراد كتابتها ، والتي يجب أن تكون بين 0 و 255. الدالة المضمنة

خريطة()

يستغرق خمس وسائط: العدد المطلوب تقييمه (متغير المستشعر المتغير باستمرار) ، والحد الأدنى المتوقع والحد الأقصى المتوقع ، والحد الأدنى والحد الأقصى المطلوبين. لذلك

خريطة()

الوظيفة في حالتنا هي تقييم قيمة المستشعر الوارد ، والقيام ببعض الضرب التبادلي لتقليص الناتج من 0-1023 إلى 0-255. يتم إرجاع النتيجة إلى الوسيطة الثانية لـ

analogWrite () ،

، ضبط سطوع LED المتصل بالدبوس 9.

الخطوة 4: بناء دائرة أردوينو فعلية (اختياري)

بناء دائرة أردوينو فعلية (اختياري)
بناء دائرة أردوينو فعلية (اختياري)

لبرمجة Arduino Uno الفعلي ، ستحتاج إلى تثبيت البرنامج المجاني (أو البرنامج المساعد لمحرر الويب) ، ثم فتحه. تحتوي الخلايا الضوئية المختلفة على قيم مختلفة ، لذلك إذا كانت دائرتك الفيزيائية لا تعمل ، فقد تحتاج إلى تغيير المقاوم المقترن بها. تعرف على المزيد حول مقسمات الجهد في درس فئة إلكترونيات Instructables عن المقاومات.

قم بتوصيل دائرة Arduino Uno عن طريق توصيل المكونات والأسلاك لتتناسب مع التوصيلات الموضحة هنا في Tinkercad Circuits. للحصول على مزيد من التفاصيل حول العمل باستخدام لوحة Arduino Uno المادية الخاصة بك ، تحقق من فئة Instructables Arduino المجانية.

انسخ الكود من نافذة كود Tinkercad Circuits والصقه في رسم فارغ في برنامج Arduino ، أو انقر فوق زر التنزيل (السهم المتجه لأسفل) وافتح

الملف الناتج باستخدام Arduino يمكنك أيضًا العثور على هذا المثال في برنامج Arduino بالانتقال إلى File -> Examples -> 03. Analog -> AnalogInOutSerial.

قم بتوصيل كابل USB الخاص بك وحدد اللوحة والمنافذ في قائمة أدوات البرنامج.

قم بتحميل الكود واستخدم يدك لتغطية المستشعر من استقبال الضوء و / أو تسليط الضوء على المستشعر!

افتح الشاشة التسلسلية لمراقبة قيم المستشعر. من المحتمل ألا تمتد قيم العالم الحقيقي إلى 0 أو حتى 1023 ، اعتمادًا على ظروف الإضاءة الخاصة بك. لا تتردد في ضبط النطاق 0-1023 إلى الحد الأدنى الملحوظ والحد الأقصى الملحوظ من أجل الحصول على أقصى نطاق تعبير للسطوع على LED.

الخطوة 5: بعد ذلك ، حاول…

الآن بعد أن تعلمت قراءة المقاوم الضوئي وتعيين ناتجه للتحكم في سطوع مصباح LED ، فأنت جاهز لتطبيق تلك المهارات وغيرها من المهارات التي تعلمتها حتى الآن.

هل يمكنك تبديل مؤشر LED بنوع آخر من المخرجات ، مثل محرك مؤازر ، وإنشاء بعض التعليمات البرمجية لتعكس مستوى الضوء الحالي للمستشعر كموضع معين على طول مقياس؟

حاول استبدال المقاوم الضوئي الخاص بك بمدخلات تناظرية أخرى مثل مستشعر المسافة بالموجات فوق الصوتية أو مقياس الجهد.

تعرف على المزيد حول كيفية مراقبة مدخلات Arduino الرقمية والتناظرية من خلال الكمبيوتر باستخدام Serial Monitor.

موصى به: