أصبحت أجهزة Raspberry Pi مؤخرًا خيارًا مثاليًا وشائعًا لإنشاء مشاريع إلكترونية مُتعددة الاستخدامات. واحدة من هذه المشاريع هي مراقبة درجات الحرارة باستخدام Raspberry Pi ولوحة Sense HAT. إذا كنت تبحث عن كيفية تنفيذ هذا المشروع بأفضل الطرق والاستفادة القصوى من أدواتك، فأنت في المكان المُناسب.
هناك عدة طرق يُمكنك من خلالها مراقبة درجة الحرارة المُحيطة باستخدام كمبيوتر Raspberry Pi ذو اللوحة المُفردة، ربما كجزء من إعداد محطة الطقس. بينما يُمكنك استخدام مستشعر خارجي متصل بدبابيس GPIO المُضمَّنة، سنشرح هنا كيفية مراقبة درجة الحرارة باستخدام Raspberry Pi المُجهز بلوحة Sense HAT. تحقق من دليل تكوين Raspberry Pi للاستخدام في الهواء الطلق: الخطوات الأساسية.
روابط سريعة
ما هي Sense HAT؟
لوحة إضافية رسمية لـ Raspberry Pi HAT (الأجهزة المُرفقة في الأعلى) تم تصميمها وإنتاجها من قبل شركة Raspberry Pi، تم إنشاء Sense HAT في الأصل ليستخدمها رواد الفضاء على متن محطة الفضاء الدولية. منذ عام 2015، تم استخدام جهازي Raspberry Pi مُزوَّدين بـ Sense HAT في التجارب العلمية التي صممها أطفال المدارس الذين شاركوا في تحدي Astro Pi المُستمر. ومنذ ذلك الحين تم استبدال هاذين الجهازين بإصدارات مُطورة تعتمد على Raspberry Pi 4 ومُجهزة بآلة تصوير بجودة عالية.
في حين أنها تفتقر إلى العلبة الفضية الخاصة المُصممة للاستخدام في الفضاء، فإنَّ لوحة Sense HAT القياسية لديها نفس الوظيفة تمامًا. وهي مُتوافقة مع أي طراز Raspberry Pi مُزوَّد بموصل GPIO ذو 40 سنًا، ويتميز بمجموعة من المستشعرات المدمجة التي تُمكنه من مراقبة البيئة المحيطة وكذلك اكتشاف اتجاهه وحركته. بالإضافة إلى ذلك، فهي تحتوي على مصفوفة 8×8 RGB LED لعرض النصوص والبيانات والصور. هناك أيضًا عصا تحكم صغيرة بخمسة اتجاهات.
المجموعة الكاملة من الوظائف الحسية لـ Sense HAT هي كما يلي:
- الرطوبة: مُستشعر STMicro HTS221 مع نطاق رطوبة نسبية من 0 إلى 100%، بالإضافة إلى استشعار درجة الحرارة من 32 درجة فهرنهايت إلى 149 درجة فهرنهايت (0 درجة مئوية إلى 65 درجة مئوية ± 2 درجة مئوية).
- الضغط الجوي: مُستشعر STMicro LPS25HB بنطاق من 260 إلى 1260 hPa، بالإضافة إلى استشعار درجة الحرارة من 59 درجة فهرنهايت إلى 104 درجة فهرنهايت (15 درجة مئوية إلى 40 درجة مئوية ± 0.5 درجة مئوية).
- درجة الحرارة: يُمكن قراءتها من جهاز استشعار الرطوبة أو الضغط، أو قياسها عن طريق أخذ متوسط القراءتين.
- الجيروسكوب: يُمكن لـ STMicro LSM9DS1 IMU قياس دوران Sense HAT بالنسبة لسطح الأرض (ومدى سرعة دورانها).
- مقياس التسارع: وظيفة أخرى لـ IMU، يُمكنها قياس قوة التسارع في اتجاهات متعددة.
- مقياس المغناطيسية: من خلال استشعار المجال المغناطيسي للأرض، تستطيع IMU تحديد اتجاه الشمال المغناطيسي وبالتالي إعطاء قراءة البوصلة.
الآن بعد أن حصلت على المعلومات الداخلية حول ما يمكن أن تفعله لوحة Raspberry Pi HAT مُتعددة الأغراض، فقد حان الوقت لبدء المشروع.
الخطوة 1: تركيب لوحة Sense HAT
لتوصيل Sense HAT، تأكد أولاً من إيقاف تشغيل جهاز Raspberry Pi وفصله عن الطاقة. ثم ادفع Sense HAT (مع موسع الرأس الأسود المرفق) بعناية على رأس GPIO المُكوَّن من 40 سنًا في Raspberry Pi بحيث يتم وضع لوحة Sense HAT فوق لوحة Raspberry Pi. تأكد من أن جميع المسامير تصطف بشكل صحيح وأن كلا الصفين متصلان. يمكنك أيضًا استخدام مواضع التثبيت الملولبة للمساعدة في تأمينها.
يُمكنك استخدام أي نموذج Raspberry Pi قياسي يحتوي على رأس GPIO ذو 40 سنًا. ومع ذلك، فإنَّ أحد القيود الرئيسية لـ Raspberry Pi 400 هو أنَّ رأس GPIO الخاص به يقع في الجزء الخلفي من لوحة المفاتيح المدمجة. وهذا يعني أنَّ Sense HAT ستواجه الخلف، لذا قد ترغب في استخدام كابل تمديد GPIO لتوصيلها. تحقق من دليل تدريس أطفالك البرمجة باستخدام Raspberry Pi: استراتيجيات تعليمية مُحسّنة.
الخطوة 2: إعداد Raspberry Pi
كما هو الحال مع أي مشروع آخر، يجب عليك توصيل لوحة مفاتيح وماوس USB ثم توصيل Raspberry Pi بشاشة أو تلفزيون. يجب أن يكون لديك أيضًا بطاقة microSD تتضمن نظام التشغيل Raspberry Pi القياسي — إذا لم تكن قد قمت بذلك بالفعل، فراجع كيفية تثبيت نظام تشغيل على Raspberry Pi. أنت بعد ذلك جاهز لتشغيل الطاقة.
وبدلاً من ذلك، يُمكنك استخدام Raspberry Pi مع Sense HAT في وضع دون توصيل شاشة والاتصال بـ Raspberry Pi عن بُعد باستخدام SSH من كمبيوتر أو جهاز آخر. إذا قمت بذلك، فلن تتمكن من استخدام Thonny Python IDE، ولا يزال بإمكانك تعديل البرمجيات باستخدام مُحرِّر النصوص النانوي وتشغيلها من سطر الأوامر.
يجب تثبيت البرنامج الثابت Sense HAT بشكل افتراضي. للتحقق مرة أخرى، افتح نافذة Terminal وأدخل:
sudo apt install sense-hat
بعد ذلك، إذا تم تثبيت الحزمة حديثًا، فأعد تشغيل Raspberry Pi:
sudo reboot
الخطوة 3: بدء البرمجة في Python
بينما يُمكنك استخدام Raspberry Pi Sense HAT مع لغة البرمجة المبنية على كتلة Scratch، سنستخدم لغة Python لقراءة وعرض قراءات المُستشعر التي تُوفرها.
تُعد Thonny IDE (بيئة التطوير المتكاملة) طريقة جيدة للقيام ببرمجة Python على Raspberry Pi، حيث أنها تحتوي على الكثير من الوظائف بما في ذلك ميزات تصحيح الأخطاء المفيدة. في واجهة المستخدم الرسومية لسطح المكتب لـ Raspberry Pi OS، انتقل إلى القائمة
-> البرمجة -> Thonny IDE
لتشغيله.
الخطوة 4: قراءة درجة الحرارة
في النافذة الرئيسية لـ Thonny IDE، أدخل سطور التعليمات البرمجية التالية:
from sense_hat import SenseHat
sense = SenseHat()
sense.clear()
temp = sense.get_temperature()
print(temp)
يستورد السطر الأول فئة SenseHat من مكتبة Sens_hat Python (المُثبتة مسبقًا في Raspberry Pi OS). ثم يتم تعيينها إلى مُتغيِّر sense. يمحو السطر الثالث مصفوفة LED الخاصة بـ Sense HAT.
ثم نأخذ قراءة درجة الحرارة ونطبعها في منطقة Shell في Thonny IDE. والتي تُعرض بالدرجات المئوية، لذا قد ترغب أولاً في تحويلها إلى فهرنهايت:
temp = (sense.get_temperature() * 1.8 + 32)
ستحتوي قراءة مستشعر درجة الحرارة على عدة أرقام بعد العلامة العشرية. لذا، سنستخدم الدالة round لتقريبها إلى منزلة عشرية واحدة:
temp = round(temp, 1)
ملاحظة: تقوم الدالة Sens.get_temperature() بقراءة بيانات مُستشعر درجة الحرارة المُدمج في مستشعر الرطوبة. بدلًا من ذلك، يُمكنك الحصول على قراءة لدرجة الحرارة من مستشعر الضغط باستخدام Sens.get_temperature_from_pressure() أو حتى أخذ القراءتين وحساب المتوسط (عن طريق جمعهما والقسمة على اثنين).
الخطوة 5: عرض درجة الحرارة على Sense HAT
إنَّ طباعة قراءة واحدة لدرجة الحرارة على Python Shell أمر مُمل بعض الشيء، لذا بدلاً من ذلك دعونا نأخذ قراءة جديدة بانتظام ونعرضها على مصفوفة RGB LED الخاصة بـ Sense HAT. لعرض رسالة نصية قابلة للتمرير، نستخدم دالة show_message. سنستخدم أيضًا while: True Loop للاستمرار في أخذ قراءة جديدة كل 10 ثوانٍ، والتي نستخدم من أجلها وظيفة السكون من مكتبة الوقت.
إليك البرنامج الكامل:
from sense_hat import SenseHat
from time import sleep
sense = SenseHat()
sense.clear()
while True:
temp = (sense.get_temperature() * 1.8 + 32)
temp = round(temp, 1)
message = "Temp: " + str(temp)
sense.show_message(message)
sleep (10)
قم بتشغيل هذا الكود وسترى كل قراءة جديدة لدرجة الحرارة يتم تمريرها عبر مصفوفة LED. حاول النفخ على Sense HAT لمعرفة ما إذا كانت درجة الحرارة تتغير.
ملحوظة: قد تتأثر قراءات درجة الحرارة بالحرارة المنقولة من وحدة المعالجة المركزية الخاصة بـ Raspberry Pi الموجودة أدناه مباشرةً، لذلك قد تكون هناك حاجة إلى تعديل للحصول على رقم أكثر دقة. الحل الآخر هو استخدام رأس التراص لرفع Sense HAT إلى أعلى قليلًا فوق Raspberry Pi. تحقق من الأسباب التي تجعلك تحتاج إلى Raspberry Pi 5 لمشروعك المُتعلق بالألعاب القديمة.
الأسئلة الشائعة
س1. ما هو Raspberry Pi وSense HAT؟
Raspberry Pi هو كمبيوتر صغير على شكل لوحة يُمكن استخدامه لمجموعة متنوعة من المشاريع. Sense HAT هي إضافة تضم مجموعة من الأجهزة الاستشعارية بما في ذلك مستشعر درجة الحرارة. يُمكن استخدامهما لإنشاء مراقب درجة الحرارة.
س2. ما هي الخطوات الأساسية لإعداد Raspberry Pi وSense HAT لمراقبة درجات الحرارة؟
الخطوات الأساسية تشمل توصيل Sense HAT بـ Raspberry Pi، تثبيت البرمجيات الضرورية، وكتابة برنامج لقراءة بيانات درجة الحرارة.
س3. ما هي لغة البرمجة المُستخدمة لمراقبة درجات الحرارة باستخدام Sense HAT؟
يُمكن استخدام لغات البرمجة المتعددة مثل Python لقراءة بيانات درجة الحرارة من Sense HAT.
س4. كيف يمكن عرض البيانات المقاسة؟
يمكن عرض البيانات المقاسة على شاشة Raspberry Pi أو عرضها على مصفوفة RGB LED الخاصة بـ Sense HAT.
س5. هل يُمكن استخدام هذا المشروع لأغراض أخرى غير مراقبة الحرارة؟
نعم، يمكن استخدام Raspberry Pi وSense HAT لمشاريع متنوعة بما في ذلك مراقبة الرطوبة، الضغط الجوي، تسجيل البيانات، والمزيد.
استخدام Raspberry Pi لمراقبة درجة الحرارة
بينما يُمكنك استخدام مستشعر درجة حرارة مستقل بدلاً من ذلك لهذا المشروع، فإنَّ Sense HAT تجعل من السهل مُراقبة درجة الحرارة باستخدام Raspberry Pi. يُمكنك أيضًا استخدامها لالتقاط مجموعة من قراءات المستشعرات الأخرى، مثل الضغط الجوي والرطوبة النسبية، وإظهارها على مصفوفة LED الخاصة به. يُمكنك الإطلاع الآن على استكشاف مشاريع الذكاء الاصطناعي المُثيرة التي يُمكن تنفيذها باستخدام Raspberry Pi.