یک نمایشگر دمای Raspberry Pi با استفاده از Sense HAT ایجاد کنید و خوانشهای منظم را روی ماتریس LED آن نشان دهید.
روشهای مختلفی وجود دارد که میتوانید دمای محیط را با استفاده از رایانه تکبرد Raspberry Pi، شاید به عنوان بخشی از راهاندازی ایستگاه هواشناسی، کنترل کنید. در حالی که میتوانید از یک سنسور خارجی متصل به پینهای GPIO Raspberry Pi استفاده کنید، در اینجا نحوه نظارت بر دما را با Raspberry Pi مجهز به Sense HAT توضیح میدهیم.
کلاه حس چیست؟
Sense HAT یک برد الحاقی رسمی Raspberry Pi HAT (سخت افزار متصل به بالا) که توسط شرکت Raspberry Pi طراحی و تولید شده است، Sense HAT در ابتدا برای استفاده فضانوردان در ایستگاه فضایی بین المللی ساخته شد. از سال 2015، دو کامپیوتر Raspberry Pi مجهز به Sense HAT در آزمایشهای علمی طراحی شده توسط دانشآموزانی که وارد چالش Astro Pi شدهاند، استفاده شده است. دوربین.
در حالی که فاقد قاب نقره ای ویژه طراحی شده برای استفاده در فضا است، برد استاندارد Sense HAT دقیقاً همان عملکرد را دارد. سازگار با هر مدل Raspberry Pi با هدر 40 پین GPIO، دارای مجموعه ای از حسگرهای داخلی است که به آن امکان می دهد محیط اطراف را نظارت کند و جهت گیری و حرکت خود را نیز تشخیص دهد. علاوه بر این، دارای ماتریس LED RGB 8×8 برای نمایش متن، داده و تصاویر است. یک جوی استیک مینی پنج طرفه نیز وجود دارد.
آرایه کامل توابع حسی Sense HAT به شرح زیر است:
- رطوبت: یک سنسور STMicro HTS221 با محدوده رطوبت نسبی 0 تا 100٪، به علاوه سنجش دما از 32 درجه فارنهایت تا 149 درجه فارنهایت (0 درجه سانتی گراد تا 2 ± 65 درجه سانتی گراد).
- فشار هوا: یک حسگر 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 را با دقت روی هدر 40 پین GPIO Raspberry Pi فشار دهید (با تعبیه کننده هدر مشکی عرضه شده) به طوری که برد Sense HAT روی برد Raspberry Pi قرار گیرد. اطمینان حاصل کنید که تمام پین ها به درستی ردیف شده اند و هر دو ردیف به هم وصل شده اند. همچنین میتوانید از پایههای پیچی برای کمک به ایمن کردن آن استفاده کنید.
می توانید از هر مدل استاندارد Raspberry Pi که دارای هدر GPIO 40 پین است استفاده کنید. یکی از محدودیت های کلیدی Raspberry Pi 400 این است که هدر GPIO آن در پشت صفحه کلید یکپارچه قرار دارد. این بدان معناست که Sense HAT رو به عقب خواهد بود، بنابراین ممکن است بخواهید از یک کابل داخلی GPIO برای اتصال آن استفاده کنید.
مرحله 2: Raspberry Pi را راه اندازی کنید
مانند هر پروژه دیگری، باید یک صفحه کلید و ماوس USB را وصل کنید و سپس Raspberry Pi خود را به مانیتور یا تلویزیون وصل کنید. همچنین باید یک کارت میکرو اسدی با سیستمعامل استاندارد Raspberry Pi در آن قرار داده شود – اگر قبلاً این کار را انجام ندادهاید، نحوه نصب یک سیستمعامل بر روی Raspberry Pi را بررسی کنید. سپس برای روشن کردن برق آماده هستید.
از طرف دیگر، میتوانید از Raspberry Pi با Sense HAT در حالت هدلس، بدون اتصال مانیتور استفاده کنید و از راه دور با استفاده از SSH از رایانه یا دستگاه دیگری به Raspberry Pi متصل شوید. اگر این کار را انجام دهید، نمی توانید از Thonny Python IDE استفاده کنید، خرید همچنان می تواند برنامه ها را با استفاده از ویرایشگر متن نانو ویرایش کند و آنها را از خط فرمان اجرا کند.
سیستم عامل Sense HAT باید به طور پیش فرض نصب شود. برای بررسی مجدد، یک پنجره ترمینال را باز کنید و وارد کنید:
sudo apt install sense-hat
سپس، اگر بسته به تازگی نصب شده است، Raspberry Pi را مجددا راه اندازی کنید:
sudo reboot
مرحله 3: برنامه نویسی را در پایتون شروع کنید
در حالی که میتوانید از Raspberry Pi Sense HAT با زبان برنامهنویسی مبتنی بر بلوک Scratch استفاده کنید، ما از Python برای خواندن و نمایش خوانشهای حسگر آن استفاده میکنیم.
Thonny IDE (محیط توسعه یکپارچه) راه خوبی برای انجام برنامه نویسی پایتون در Raspberry Pi است، زیرا دارای عملکردهای زیادی از جمله ویژگی های اشکال زدایی مفید است. در رابط کاربری گرافیکی دسکتاپ Raspberry Pi OS، به منو (نماد تمشک بالا سمت چپ) > Programming > Thonny IDE بروید تا آن را راه اندازی کنید.
مرحله 4: اندازه گیری دما
در پنجره اصلی Thonny IDE، خطوط کد زیر را وارد کنید:
from sense_hat import SenseHat
sense = SenseHat()
sense.clear()
temp = sense.get_temperature()
print(temp)
خط اول کلاس SenseHat را از کتابخانه sense_hat پایتون (که در سیستم عامل Raspberry Pi از قبل نصب شده است) وارد می کند. سپس این به متغیر حس نسبت داده می شود. خط سوم ماتریس LED Sense HAT را پاک می کند.
سپس دما را می گیریم و آن را در ناحیه Shell Thonny IDE چاپ می کنیم. این بر حسب درجه سانتیگراد است، بنابراین ممکن است بخواهید ابتدا آن را به فارنهایت تبدیل کنید:
temp = (sense.get_temperature() * 1.8 + 32)
قرائت سنسور دما چندین رقم بعد از نقطه اعشار خواهد داشت. بنابراین از تابع round برای گرد کردن آن به یک رقم اعشار استفاده می کنیم:
temp = round(temp, 1)
تابع sense.get_temperature() سنسور دمای تعبیه شده در سنسور رطوبت را می خواند. از طرف دیگر، میتوانید از سنسور فشار با sensor.get_temperature_from_pressure() یک قرائت دما بگیرید یا حتی هر دو قرائت را بگیرید و میانگین میانگین را محاسبه کنید (با جمع آنها و تقسیم بر دو).
مرحله 5: نمایش دما در Sense HAT
چاپ یک عدد دمای واحد در پوسته پایتون کمی کسل کننده است، بنابراین در عوض بیایید مرتباً یک قرائت جدید انجام دهیم و آن را در ماتریس RGB LED Sense HAT نشان دهیم. برای نمایش پیام متنی اسکرول از تابع show_message استفاده می کنیم. ما همچنین از مقداری استفاده خواهیم کرد: حلقه واقعی برای ادامه خواندن هر 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 را باد بزنید تا ببینید دما تغییر می کند یا خیر.
خوانش دما ممکن است تحت تأثیر گرمای منتقل شده از CPU Raspberry Pi درست در زیر قرار گیرد، بنابراین ممکن است برای بدست آوردن یک رقم دقیق تر نیاز به تنظیم باشد. راه حل دیگر استفاده از هدر انباشته برای بالا بردن Sense HAT بالاتر از Raspberry Pi است.
از Raspberry Pi برای نظارت بر دما استفاده کنید
در حالی که می توانید به جای آن از یک سنسور دمای مستقل برای این پروژه استفاده کنید، Sense HAT نظارت بر دما را با Raspberry Pi خود آسان می کند. همچنین میتوانید از آن برای گرفتن مجموعهای از خوانشهای حسگر دیگر، مانند فشار هوا و رطوبت نسبی، استفاده کنید و آنها را روی ماتریس LED خود نشان دهید.