Създайте температурен монитор на Raspberry Pi с помощта на Sense HAT и показвайте редовни показания на неговата LED матрица.
Има няколко начина, по които можете да наблюдавате температурата на околната среда с помощта на едноплатков компютър Raspberry Pi, може би като част от настройката на метеорологична станция. Докато можете да използвате външен сензор, свързан към GPIO щифтовете на Raspberry Pi, тук ще ви обясним как да наблюдавате температурата с Raspberry Pi, оборудван със Sense HAT.
Какво е Sense HAT?
Официално ШАПКА Raspberry Pi (Hardware Attached on Top) допълнителна платка, проектирана и произведена от компанията Raspberry Pi, Sense HAT първоначално е създадена за използване от астронавти на борда на Международната космическа станция. От 2015 г. два компютъра Raspberry Pi, оборудвани със Sense HAT, са използвани в научни експерименти, проектирани от ученици, които са влезли в продължаващия Астро Пи предизвикателство Тези две устройства оттогава са заменени от надградени версии, базирани на Raspberry Pi 4 и оборудвани с висококачествена камера.
Въпреки че липсва специалният сребърен корпус, предназначен за използване в космоса, стандартната платка Sense HAT има точно същата функционалност. Съвместим с всеки Модел Raspberry Pi с 40-пинов GPIO конектор, той разполага с набор от вградени сензори, които му позволяват да наблюдава околната среда и също така да открива собствената си ориентация и движение. В допълнение, той има 8x8 RGB LED матрица за показване на текст, данни и изображения. Има и мини петпосочен джойстик.
Пълният набор от сензорни функции на Sense HAT е както следва:
- Влажност: Сензор STMicro HTS221 с обхват на относителна влажност от 0 до 100%, плюс измерване на температурата от 32°F до 149°F (0°C до 65°C ± 2°C).
- Барометрично налягане: Сензор STMicro LPS25HB с обхват от 260 до 1260 hPa, плюс измерване на температурата от 59°F до 104°F (15°C до 40°C ±0,5°C).
- температура: Това може да се прочете от сензора за влажност или налягане или да се измери чрез вземане на средна стойност от двете показания.
- Жироскоп: 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, който има 40-пинов GPIO конектор. Един от ключови ограничения на Raspberry Pi 400, обаче е, че неговият GPIO конектор се намира на гърба на интегрираната клавиатура. Това означава, че Sense HAT ще гледа назад, така че може да искате да използвате GPIO удължителен кабел, за да го свържете.
Стъпка 2: Настройте Raspberry Pi
Както при всеки друг проект, трябва да включите USB клавиатура и мишка и след това свържете своя Raspberry Pi към монитор или телевизор. Трябва също така да имате поставена microSD карта със стандартната Raspberry Pi OS на нея - ако още не сте го направили, проверете как да инсталирате операционна система на Raspberry Pi. След това сте готови да включите захранването.
Като алтернатива можете да използвате своя Raspberry Pi със Sense HAT в режим без глава, без свързан монитор и свържете се с Raspberry Pi дистанционно чрез SSH от друг компютър или устройство. Ако правите това, няма да можете да използвате Thonny Python IDE, купувате все още можете да редактирате програми с помощта на nano текстовия редактор и да ги стартирате от командния ред.
Фърмуерът Sense HAT трябва да бъде инсталиран по подразбиране. За да проверите отново, отворете прозорец на терминал и въведете:
sudo apt install sense-hat
След това, ако пакетът е току-що инсталиран, рестартирайте Raspberry Pi:
sudo reboot
Стъпка 3: Започнете да програмирате в Python
Въпреки че можете да използвате Raspberry Pi Sense HAT с програмния език, базиран на блок Scratch, ние ще използваме Python, за да четем и показваме показанията на неговите сензори.
Thonny IDE (интегрирана среда за разработка) е добър начин за програмиране на Python на Raspberry Pi, тъй като има много функционалности, включително полезни функции за отстраняване на грешки. В настолния GUI на Raspberry Pi OS отидете на Меню (икона с малина горе вляво) > Програмиране > Thonny IDE за да го стартирате.
Стъпка 4: Отчетете температурата
В главния прозорец на Thonny IDE въведете следните редове код:
from sense_hat import SenseHatsense = SenseHat()
sense.clear()
temp = sense.get_temperature()
print(temp)
Първият ред импортира SenseHat клас от разумна_шапка Python библиотека (която е предварително инсталирана в Raspberry Pi OS). След това това се възлага на смисъл променлива. Третият ред изчиства LED матрицата на Sense HAT.
След това отчитаме температурата и я отпечатваме в областта Shell на Thonny IDE. Това е в градуси по Целзий, така че е добре първо да го конвертирате във Фаренхайт:
temp = (sense.get_temperature() * 1.8 + 32)
Отчитането на температурния сензор ще има няколко цифри след десетичната запетая. Така че ще използваме кръгъл функция, за да го закръгли до един десетичен знак:
temp = round(temp, 1)
The sense.get_temperature() функция чете температурния сензор, вграден в сензора за влажност. Като алтернатива можете да отчитате температурата от сензора за налягане sense.get_temperature_from_pressure() или дори вземете и двете показания и изчислете средна средна стойност (като ги съберете и разделите на две).
Стъпка 5: Покажете температурата на Sense HAT
Отпечатването на едно отчитане на температурата в Python Shell е малко скучно, така че вместо това нека редовно да правим ново отчитане и да го показваме на RGB LED матрицата на Sense HAT. За да покажем превъртащо се текстово съобщение, използваме покажи_съобщение функция. Ще използваме и a докато: Вярно цикъл, за да продължите да правите ново отчитане на всеки 10 секунди - за което използваме сън функция от време библиотека.
Ето и пълната програма:
from sense_hat import SenseHat
from time import sleepsense = SenseHat()
sense.clear()
whileTrue:
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 за наблюдение на температурата
Докато вместо това можете да използвате самостоятелен температурен сензор за този проект, Sense HAT улеснява наблюдението на температурата с вашия Raspberry Pi. Можете също да го използвате, за да вземете множество други показания на сензори, като барометрично налягане и относителна влажност, и да ги покажете на неговия светодиод матрица.