سنتعلّم في هذا المقال كيفيّةَ برمجة حساس درجة الحرارة LM35 وربطه بالأردوينو.
بعد أن نوصّلَ الحساسَ بالأردوينو توصيلًا صحيحًا؛ سنعرضُ درجة الحرارة المقاسة بالأردوينو على شاشة العرض  (LCD(16*2.
حيث تُعرض درجة الحرارة التي يتحسّسها الحسّاس باستمرارٍ على شاشة LCD.
LM35 هو حسّاس تشابهي خطّي يتغيّر جهدُ خرجه تغيّرًا خطّيًّا وَفْقًا لتغيّر درجة الحرارة.
للحساس LM35 ثلاثةُ أطراف (أرجُل) يصنع في شركة “National semiconductors”يتراوحُ مجال استشعار الحرارة لهذا الحسّاس بين (55- ، +155) درجةً مئويّة.

تُقدّر الزيادةُ في جهد الخرج للحسّاس بـ (10mV) لكلِّ درجة مئويّة واحدة.
يُمكن تغذية الحسّاس من منبع جهدِ 5V+ ويكون تيّار الاستعداد (التيار المستهلك في الأجهزة عندما تكون مطفأة أو عند عدم وجود حمل) أقل من 60 ميكروأمبيرًا.

الآن سننتقل إلى مرحلةِ ربط الحسّاس بالأردوينو. سنستخدم في هذه التجربة Arduino UNO.

ملاحظة :

LM35 هو حساس حرارةٍ تشابهيٌّ. بمعنى آخر، تكون الإشارة على خرج الحسّاس تماثليّة (تشابهية)، وكما نعلمُ فإن المتحكّمات الدّقيقة Microcontrollers لا تستقبل الإشاراتِ التّشابهيّةَ استقبالًا مباشَرًا على دخلها.

لذلك نحن نحتاج إلى تحويل هذه الإشارة التّشابهيّة إلى إشارةٍ رقميّة قبلَ أن تُغذّى إلى دخل المتحكّم لذا نستخدام محوّلًا تماثليًّا-رقميًّا (ADC- Analog to Digital Converter).

في حال كنّا نستخدمُ متحكّمًا بدائيًّا مثلَ 8051 فإننا نحتاج إلى مبدلٍ خارجي لتحويل إشارة الخرج التشابهيّة لـLM35 إلى إشارة رقميّة، ثمّ نُغذّي دخلَ المتحكّم الصّغري 8051 من خرج المحوّل الخارجي(القيمة الرّقميّة المحوّلة). لكنّ اللوحات الحديثة مثلَ الأردوينو ولوحات المتحكّمات الدقيقة الأحدث في أيامنا هذه تمتلك محوّلَ ADC مُدمجًا.
الأردوينو الذي نستخدمه Arduino UNO لديه محوّل (10 bit) مدمج (6 قنوات – 6 channels).

يُستخدم هذا المحوّل المدمج لتحويلِ إشارة خرج الحسّاس التماثليّة إلى إشارة خرج رقمية.

بما أن Arduino UNO لديه محوّلُ ADC بـ 6 قنوات فهو حينئذٍ يمتلكُ 6  أطراف (PINs) مرقّمة
من A0 إلى A5 وعليه، نوصّل خرج الـ LM35 التشابهي بأحد أطراف الدخل التشابهية في الأردوينو.

مخطط دارة LM35 مع الأردوينو
مخطط دارة LM35 مع الأردوينو (مصدر الصورة: موقع circuitstoday)

يُربط الحسّاس LM35 بالأردوينو كما هو موضح في الشّكل السّابق.
جهد التغذية 5V+ للحساس يمكن أن يؤخذ من 5V(output pin)+ للأردوينو، كما يمكن أن يُوصل التأريض للحساس بـGND (أرضيّ) في الأردوينو.
نصل الـ Vout (الخرج التشابهيّ لـLM35 ) بأي pin دخل تشابهيّ في Arduino UNO وقد وصّلنا الـ Vout بالـpin ذي الرمز A1 في هذا المخططِ.

ملاحظة: يتوفّر LM35 في الأسواق ضمنَ ثلاث سلاسل (عائلات) هي:
LM35A , LM35C , LM35D
الاختلاف الرئيس بينَ هذه النُّسخ الثلاث من الدارة المتكاملة للحساس يكمنُ في مجال قياس درجة الحرارة حيثُ إن سلسلة LM35D مصممة لقياس درجاتِ الحرارة من 0 درجة مئوية حتّى 100 درجة مئوية.
في حين نجدُ أن سلسلة LM35A تقيس مجالًا أكبرَ يتراوح بين (155+ -55,) درجة مئوية.
بينما تقيس سلسلة LM35C درجاتِ الحرارة بين (-40, +110) درجة مئوية.

في المثال الذي ندرسُه نستخدم حساس LM35Dz الذي ينتمي إلى عائلةِ LM35D.  لذلك الحدود الدنيا والعليا التي نتعامل مَعها هي  0 , 100 درجة مئوية.

الكود البرمجي : التحميل من هنا

يُستخدم الكود السّابق لقراءة قيم درجات الحرارة وعرضِها مقدرةً بالدرجة المئوية والفهرنهايت عن طريق الأردوينو وحساس LM35.

لقطة شاشة تظهر قيم درجات الحرارة
لقطة شاشة تظهر قيم درجات الحرارة (مصدر الصورة: موقع circuitstoday)

 

 عرض درجة الحرارة على شاشة (LCD(16*2 باستخدامِ الأردوينو و LM35:

بعد أن عرضنا كيفيةَ ربط الأردوينو وحساسَ الحرارة LM35 ، الآن سنضيف إلى الدارة السّابقة شاشةَ العرض
(LCD(16*2 وستظهر قيمُ درجات الحرارة المقاسة على هذه الشاشة بدلًا من Serial Monitor وذلك بمساعدةِ الأردوينو.

عرض درجة الحرارة على LCD باستخدام LM35 والأردوينو
عرض درجة الحرارة على LCD باستخدام LM35 والأردوينو (مصدر الصورة: موقع circuitstoday)

فيما يلي برنامج الأردوينو المخصوصُ بهذه الدارة:

الكود البرمجي: التحميل من هنا


المصدر: هنا

ترجمة:حنين غاليه, مراجعة:علي العلي , تدقيق لغوي:محمد بابكر, تصميم:علي العلي, تحرير:قحطان غانم.