واجهة مستشعر LDR مع Arduino Nano

Wajht Mstsh R Ldr M Arduino Nano



يحتوي المقاوم المعتمد على الضوء على تطبيق واسع في المشاريع المعتمدة على الضوء. بمساعدة متحكم دقيق مثل Arduino Nano ، يمكن استخدام LDR للتحكم في الأجهزة المختلفة بناءً على مستوى شدة الضوء. يغطي هذا الدليل أساسيات LDR وتطبيقاته باستخدام Arduino Nano.

تتضمن محتويات هذه المقالة:







1: مقدمة إلى مستشعر LDR



2: تطبيقات LDR مع Arduino Nano



3: ربط LDR مع Arduino Nano





خاتمة

1: مقدمة إلى مستشعر LDR

أ إل ثمانية د مستقل ص esistor (LDR) هو نوع من المقاوم يغير مقاومته بناءً على شدة الضوء الذي يتعرض له. في الظلام ، تكون مقاومته عالية جدًا ، بينما تكون مقاومته منخفضة جدًا في الضوء الساطع. هذا التغيير في المقاومة يجعلها الأفضل لمشاريع استشعار الضوء.




يعطي LDR خرج الجهد التمثيلي الذي سيتم قراءته بواسطة Arduino ADC عند المسامير التناظرية. يستخدم دبوس الإدخال التناظري الموجود في Arduino ADC لتحويل الجهد التمثيلي من LDR إلى قيمة رقمية. يتراوح نطاق ADC من 0 إلى 1023 ، حيث يمثل 0 0V و 1023 يمثل الحد الأقصى لجهد الدخل (عادةً 5V لـ Arduino).

سيقرأ Arduino القيم التناظرية باستخدام امتداد القراءة التناظرية () تعمل في التعليمات البرمجية الخاصة بك. تأخذ الدالة analogRead () رقم طرف الإدخال التمثيلي كوسيطة وتعيد القيمة الرقمية.


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

2: تطبيقات LDR مع Arduino Nano

فيما يلي قائمة ببعض التطبيقات الشائعة لـ LDR مع Arduino:

    • التحكم الآلي في الإضاءة
    • مفتاح تفعيل الضوء
    • مؤشر مستوى الضوء
    • الوضع الليلي في الأجهزة
    • أنظمة الأمن الخفيفة

3: ربط LDR مع Arduino Nano

لاستخدام LDR مع Arduino Nano ، يجب إنشاء دائرة بسيطة. تتكون الدائرة من LDR ، ومقاوم ، و Arduino Nano. يتم توصيل LDR والمقاوم في سلسلة ، مع توصيل LDR بدبوس الإدخال التناظري لـ Arduino Nano. ستتم إضافة مؤشر LED إلى الدائرة التي يمكنها اختبار عمل LDR.

3.1: تخطيطي

الصورة التالية هي الرسم التخطيطي لـ Arduino Nano مع مستشعر LDR.

3.2: كود

بمجرد إعداد الدائرة ، فإن الخطوة التالية هي كتابة رمز Arduino Nano. سيقرأ الرمز الإدخال التناظري من LDR ويستخدمه للتحكم في LED أو أي جهاز آخر بناءً على مستويات الإضاءة المختلفة.

int LDR_Val = 0 ؛ / * متغير لتخزين قيمة المقاوم الضوئي * /
مستشعر int = A0 ؛ / * دبوس تناظري ل المقاوم الضوئي * /
int قاد = 12 ؛ / * خرج LED دبوس * /
الإعداد باطل ( ) {
المسلسل ( 9600 ) ؛ / * معدل الباود ل الاتصال التسلسلي * /
pinMode ( أدى ، الإخراج ) ؛ / * دبوس LED تعيين مثل انتاج * /
}
حلقة فارغة ( ) {
LDR_Val = القراءة التناظرية ( المستشعر ) ؛ / * التناظرية يقرأ قيمة LDR * /
المسلسل ( 'قيمة إخراج LDR:' ) ؛
المسلسل. println ( LDR_Val ) ؛ / * عرض LDR Output Val على الشاشة التسلسلية * /
لو ( LDR_Val > 100 ) { / * إذا كانت شدة الضوء عالية * /
المسلسل. println ( ' كثافة عالية ' ) ؛
الكتابة الرقمية ( أدى ، منخفض ) ؛ / * LED لا يزال مطفأ * /
}
آخر {
/ * آخر لو شدة الضوء هي LOW LED ستبقى قيد التشغيل * /
المسلسل. println ( 'كثافة منخفضة ' ) ؛
الكتابة الرقمية ( أدى ، عالية ) ؛ / * قيمة LED Turn ON LDR هي أقل من 100 * /
}
تأخير ( 1000 ) ؛ / * يقرأ القيمة بعد كل 1 ثانية * /
}


في الكود أعلاه ، نستخدم LDR مع Arduino Nano الذي سيتحكم في LED باستخدام الإدخال التناظري القادم من LDR.

تعلن الأسطر الثلاثة الأولى من التعليمات البرمجية عن متغيرات لتخزين ملف قيمة المقاوم الضوئي ، ال دبوس تمثيلي للمقاوم الضوئي ، و قاد دبوس الإخراج.

في ال يثبت() وظيفة ، يتم بدء الاتصال التسلسلي بمعدل باود 9600 ويتم تعيين دبوس LED D12 كإخراج.

في ال حلقة() وظيفة ، تتم قراءة قيمة المقاوم الضوئي باستخدام وظيفة analogRead () ، التي يتم تخزينها في ملف LDR_Val عامل. ثم يتم عرض قيمة المقاوم الضوئي على الشاشة التسلسلية باستخدام وظيفة Serial.println ().

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

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

3.3: الإخراج تحت الضوء الخافت

شدة الضوء أقل من 100 لذا سيظل LED قيد التشغيل.

3.4: الإخراج تحت الضوء الساطع

مع زيادة شدة الضوء ، ستزداد قيمة LDR وستنخفض مقاومة LDR ، لذا سيتم إيقاف تشغيل LED.

خاتمة

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