في هذا المشروع ، سنقوم بواجهة LDR مع متحكم ATMEGA8 ، وبهذا يمكننا قياس شدة الضوء في المنطقة. في ATMEGA8 ، سنستخدم ميزة 10 بت ADC (التحويل التناظري إلى الرقمي) لقياس شدة الضوء.
Am LDR هو محول يغير مقاومته عندما يتغير الضوء على سطحه. مستشعر LDR متوفر بأحجام وأشكال مختلفة.
تصنع LDRs من مواد شبه موصلة لتمكينها من الحصول على خصائصها الحساسة للضوء. هناك العديد من أنواع المواد المستخدمة ، ولكن أحد الأنواع الشائعة هو كبريتيد الكادميوم (CdS). تعمل LDRs أو PHOTO REISTORS على مبدأ "موصلية الصورة". الآن ما يقوله هذا المبدأ هو عندما يسقط الضوء على سطح LDR (في هذه الحالة) تزداد موصلية العنصر أو بعبارة أخرى تقل مقاومة LDR عندما يسقط الضوء على سطح LDR. تتحقق خاصية الانخفاض في مقاومة LDR لأنها خاصية لمواد أشباه الموصلات المستخدمة على السطح. يستخدم LDR في معظم الأحيان للكشف عن وجود الضوء أو لقياس شدة الضوء.
هناك أنواع مختلفة من LDR كما هو موضح في الشكل أعلاه ولكل منها مواصفات مختلفة. عادةً ما يكون LDR 1MΩ-2MΩ في ظلام دامس ، 10-20KΩ عند 10 LUX ، 2-5KΩ عند 100 LUX. تظهر المقاومة النموذجية للرسم البياني LUX لـ LDR في الشكل.
كما هو موضح في الشكل أعلاه ، تقل المقاومة بين جهتي اتصال المستشعر مع شدة الضوء أو زيادة التوصيل بين جهتي اتصال للمستشعر.
الآن لتحويل هذا التغيير في المقاومة للتغيير في الجهد ، سنستخدم دائرة مقسم الجهد. في هذه الشبكة المقاومة لدينا مقاومة ثابتة ومقاومة متغيرة أخرى. كما هو موضح في الشكل ، R1 هنا مقاومة ثابتة و R2 هو مستشعر القوة الذي يعمل كمقاومة.
يتم أخذ نقطة منتصف الفرع للقياس. عندما تتغير المقاومة R2 ، يتغير Vout معها خطيًا. لذلك لدينا جهد يتغير مع الوزن.
الآن الشيء المهم الذي يجب ملاحظته هنا هو أن الإدخال الذي تم التقاطه بواسطة وحدة التحكم لتحويل ADC منخفض يصل إلى 50 أوم. يعد تأثير التحميل لمقسم الجهد القائم على المقاومة مهمًا لأن التيار المسحوب من مقسم الجهد يزيد من نسبة الخطأ الزائدة ، في الوقت الحالي لا داعي للقلق بشأن تأثير التحميل.
ما سنفعله هنا هو أننا سنأخذ مقاومين ونشكل دائرة فاصل بحيث نحصل على 5Volt Vout من أجل 25Volts Vin. لذلك كل ما يتعين علينا القيام به هو مضاعفة قيمة Vout بالرقم "5" في البرنامج للحصول على جهد الدخل الحقيقي.
مكونات
الأجهزة: ATMEGA8 ، مصدر طاقة (5 فولت) ، AVR-ISP PROGRAMMER ، JHD_162ALCD (16 * 2LCD) ، مكثف 100 فائق التوهج ، مكثف 100nF (5 قطع) ، مقاوم 10KΩ ، LDR (مقاوم يعتمد على الضوء).
سوفواري: Atmel studio 6.1 ، progisp أو flash magic.
مخطط الدائرة وشرح العمل
في الدائرة PORTD من ATMEGA8 متصل بمنفذ بيانات LCD. في 16 * 2 LCD ، يوجد 16 دبوسًا في الكل إذا كان هناك ضوء خلفي ، إذا لم يكن هناك ضوء خلفي ، فسيكون هناك 14 دبوسًا. يمكن للمرء أن يغادر أو يترك دبابيس الضوء الخلفي. يوجد الآن في 14 دبابيس 8 دبابيس بيانات (7-14 أو D0-D7) ، دبابيس إمداد طاقة (1 & 2 أو VSS & VDD أو gnd & + 5v) ، 3 دبوس rd للتحكم في التباين (يتحكم VEE في مدى سماكة الأحرف معروض) و 3 دبابيس تحكم (RS & RW & E)
في الدائرة ، يمكنك ملاحظة أنني أخذت دبابيس تحكم فقط. لا يتم استخدام بت التباين والقراءة / الكتابة في كثير من الأحيان حتى يمكن تقصيرها إلى الأرض. هذا يضع LCD في أعلى وضع التباين والقراءة نحتاج فقط إلى التحكم في دبابيس ENABLE و RS لإرسال الأحرف والبيانات وفقًا لذلك.
فيما يلي توصيلات شاشة LCD:
PIN1 أو VSS ------------------ الأرض
PIN2 أو VDD أو VCC ------------ + طاقة 5 فولت
PIN3 أو VEE --------------- أرضي (يعطي أقصى تباين أفضل للمبتدئين)
PIN4 أو RS (اختيار التسجيل) --------------- PB0 من uC
PIN5 أو RW (قراءة / كتابة) ----------------- أرضي (وضع شاشة LCD في وضع القراءة يسهل الاتصال للمستخدم)
PIN6 أو E (تمكين) ------------------- PB1 من uC
PIN7 أو D0 ----------------------------- PD0 of uC
PIN8 أو D1 ----------------------------- PD1 of uC
PIN9 أو D2 ----------------------------- PD2 of uC
PIN10 أو D3 ----------------------------- PD3 من uC
PIN11 أو D4 ----------------------------- PD4 of uC
PIN12 أو D5 ----------------------------- PD5 of uC
PIN13 أو D6 ----------------------------- PD6 of uC
PIN14 أو D7 ----------------------------- PD7 of uC
في الدائرة يمكنك أن ترى أننا استخدمنا اتصال 8 بت (D0-D7) ولكن هذا ليس إلزاميًا ، يمكننا استخدام اتصال 4 بت (D4-D7) ولكن مع برنامج اتصال 4 بت يصبح معقدًا بعض الشيء. لذلك من مجرد الملاحظة من الجدول أعلاه ، نقوم بتوصيل 10 دبابيس من شاشة LCD بوحدة التحكم ، حيث تكون 8 دبابيس عبارة عن دبابيس بيانات و 2 دبابيس للتحكم.
الجهد عبر R2 ليس خطيًا تمامًا ؛ ستكون صاخبة. لتصفية مكثفات الضوضاء توضع عبر كل مقاوم في دائرة الفاصل كما هو موضح في الشكل.
في ATMEGA8 ، يمكننا إعطاء مدخلات تناظرية لأي من قنوات PORTC الأربع ، لا يهم القناة التي نختارها لأن جميعها متشابهة. سنختار القناة 0 أو PIN0 من PORTC. في ATMEGA8 ، تكون دقة ADC 10 بت ، لذلك يمكن لوحدة التحكم اكتشاف الحد الأدنى من التغيير Vref / 2 ^ 10 ، لذلك إذا كان الجهد المرجعي 5 فولت ، نحصل على زيادة خرج رقمية لكل 5/2 ^ 10 = 5mV. لذلك لكل زيادة 5mV في الإدخال ، سيكون لدينا زيادة واحدة في الإخراج الرقمي.
نحتاج الآن إلى ضبط سجل ADC بناءً على الشروط التالية:
1. أولاً وقبل كل شيء نحتاج إلى تمكين ميزة ADC في ADC.
2. هنا سنحصل على أقصى جهد دخل لتحويل ADC هو + 5V. حتى نتمكن من إعداد الحد الأقصى لقيمة أو مرجع ADC إلى 5V.
3. تحتوي وحدة التحكم على ميزة تحويل المشغل التي تعني أن تحويل ADC لا يحدث إلا بعد مشغل خارجي ، لأننا لا نريد أن نحتاج إلى ضبط السجلات لتشغيل ADC في وضع التشغيل الحر المستمر.
4. بالنسبة لأي ADC ، فإن تردد التحويل (القيمة التناظرية إلى القيمة الرقمية) ودقة الإخراج الرقمي يتناسبان عكسياً. لذلك من أجل دقة أفضل للإخراج الرقمي ، يتعين علينا اختيار تردد أقل. بالنسبة لساعة ADC العادية ، نقوم بضبط البيع المسبق لـ ADC على القيمة القصوى (2). نظرًا لأننا نستخدم الساعة الداخلية 1 ميجا هرتز ، فستكون ساعة ADC (1000000/2).
هذه هي الأشياء الأربعة الوحيدة التي نحتاج إلى معرفتها للبدء في ADC.
يتم تعيين جميع الميزات الأربعة المذكورة أعلاه بواسطة سجلين ،
أحمر (عدن): يجب تعيين هذا البت لتمكين ميزة ADC في ATMEGA.
الأزرق (REFS1 ، REFS0): يتم استخدام هاتين البتتين لضبط الجهد المرجعي (أو أقصى جهد دخل سنقدمه). نظرًا لأننا نريد الحصول على جهد مرجعي 5 فولت ، يجب ضبط REFS0 ، بواسطة الجدول.
أصفر (ADFR): يجب تعيين هذا البت لكي يعمل ADC بشكل مستمر (وضع التشغيل الحر).
PINK (MUX0-MUX3): هذه البتات الأربع لإخبار قناة الإدخال. نظرًا لأننا سنستخدم ADC0 أو PIN0 ، فلن نحتاج إلى تعيين أي بتات كما هو موضح في الجدول.
BROWN (ADPS0-ADPS2): هذه البتات الثلاث مخصصة لضبط مقياس القيمة المسبقة لـ ADC. نظرًا لأننا نستخدم قيمة prescalar من 2 ، يتعين علينا تعيين بت واحد.
DARK GREEN (ADSC): مجموعة البت هذه لـ ADC لبدء التحويل. يمكن تعطيل هذا الشيء في البرنامج عندما نحتاج إلى إيقاف التحويل.
لذلك مع مقاومة LDR على شاشة LCD مقاس 16 × 2 ، يمكننا مطابقتها مع الرسم البياني LUX للحصول على كثافة الضوء.