جدول المحتويات:
- الخطوة 1: بناء الدائرة
- الخطوة 2: الكود مع الكتل
- الخطوة 3: شرح كود اردوينو المقاوم الضوئي
- الخطوة 4: بناء دائرة أردوينو فعلية (اختياري)
- الخطوة 5: بعد ذلك ، حاول…
فيديو: مستشعر الضوء (المقاوم الضوئي) مع Arduino في Tinkercad: 5 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
مشاريع تينكركاد »
دعنا نتعلم كيفية قراءة المقاوم الضوئي ، وهو نوع حساس للضوء من المقاوم المتغير ، باستخدام مدخلات 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.
موصى به:
كيفية استخدام المقاوم الضوئي لإضاءة LED باستخدام Aurduino: 12 خطوة
كيفية استخدام المقاوم الضوئي لإضاءة LED مع Aurduino: صباح الخير / بعد الظهر / المساء لجميع عشاق Arduino! اليوم ، سأقوم بشرح كيفية استخدام المقاوم الضوئي (الخلية الكهروضوئية) لإضاءة LED. سيسمح الرمز المقدم مع Instructable هذا بإضاءة LED بشكل خافت بشكل طبيعي ، ولكنها ستومض أثناء
مفتاح الضوء الذي يتم التحكم فيه عن بعد بتقنية البلوتوث - التعديل التحديثي. مفتاح الضوء لا يزال يعمل ، لا توجد كتابة إضافية: 9 خطوات (بالصور)
مفتاح الضوء الذي يتم التحكم فيه عن بعد بتقنية البلوتوث - التعديل التحديثي. مفتاح الضوء لا يزال يعمل ، لا توجد كتابة إضافية: تحديث 25 نوفمبر 2017 - للحصول على إصدار عالي الطاقة من هذا المشروع يمكنه التحكم في كيلووات من الحمل ، راجع التعديل التحديثي للتحكم في BLE لأحمال الطاقة العالية - لا يلزم وجود أسلاك إضافية - تحديث 15 نوفمبر 2017 & ndash؛ بعض لوحات BLE / أكوام البرامج تقدم
مستشعر اللمس المقاوم بـ 5 أسلاك: 10 خطوات
مستشعر اللمس المقاوم بـ 5 أسلاك: مرحبًا ، لقد مر وقت طويل منذ أن عملت على هذا الموقع وقد تغير الكثير على ما يبدو! أنا مستعد أخيرًا للعودة خلف عجلة القيادة من أجل مشروع آخر ، وأعتقد أن الوقت قد حان لتغيير الأمور قليلاً بنفسي
مفتاح الضوء المنشط بالحركة مع مستشعر الضوء: 5 خطوات
مفتاح الضوء المنشط بالحركة مع مستشعر الضوء: يحتوي مفتاح الضوء المنشط بالحركة على العديد من التطبيقات سواء في المنزل أو في المكتب. ومع ذلك ، فقد أضاف هذا ميزة دمج مستشعر الضوء ، بحيث لا يمكن تشغيل هذا الضوء إلا في الليل
مصباح LED لاسلكي متوافق مع ضوء Arduino باستخدام المقاوم الضوئي: 4 خطوات
مصباح LED المتوافق مع الضوء اللاسلكي من Arduino باستخدام مقاوم ضوئي: يوضح هذا التوجيه بالتفصيل الخطوات اللازمة لإنشاء مصباح LED بدائي لاسلكي مستشعر للضوء باستخدام Arduino Unos ومقاوم ضوئي. قد يكون أحد التطبيقات الممكنة لهذا الجهاز هو إضاءة غرفة لا تحتوي على نوافذ بها صُنع