Направите Распберри Пи монитор температуре користећи Сенсе ХАТ и покажите редовна очитавања на његовој ЛЕД матрици.
Постоји неколико начина на које можете пратити температуру околине користећи Распберри Пи рачунар са једном плочицом, можда као део подешавања метеоролошке станице. Иако бисте могли да користите екстерни сензор повезан на ГПИО пинове Распберри Пи-а, овде ћемо објаснити како да надгледате температуру помоћу Распберри Пи-а опремљеног Сенсе ХАТ-ом.
Шта је Сенсе ХАТ?
Званични Распберри Пи шешир (Хардваре Аттацхед он Топ) додатна плоча коју је дизајнирала и произвела компанија Распберри Пи, Сенсе ХАТ је првобитно креиран да га користе астронаути на Међународној свемирској станици. Од 2015. два Распберри Пи рачунара опремљена Сенсе ХАТ-ом коришћена су у научним експериментима које су осмислили школарци који су ушли у текућу Астро Пи изазов Ове две јединице су од тада замењене надограђеним верзијама заснованим на Распберри Пи 4 и опремљеним висококвалитетном камером.
Иако јој недостаје специјално сребрно кућиште дизајнирано за употребу у свемиру, стандардна Сенсе ХАТ плоча има потпуно исту функционалност. Компатибилан са било којим Распберри Пи модел са 40-пинским ГПИО заглављем, поседује низ уграђених сензора који му омогућавају да надгледа околину и такође детектује сопствену оријентацију и кретање. Поред тога, има 8к8 РГБ ЛЕД матрицу за приказ текста, података и слика. Ту је и мини петосмерни џојстик.
Комплетан низ сензорних функција Сенсе ХАТ је следећи:
- Влажност: Сензор СТМицро ХТС221 са опсегом релативне влажности од 0 до 100%, плус сензор температуре од 32°Ф до 149°Ф (0°Ц до 65°Ц ± 2°Ц).
- Притисак на барометру: СТМицро ЛПС25ХБ сензор са опсегом од 260 до 1260 хПа, плус сензор температуре од 59°Ф до 104°Ф (15°Ц до 40°Ц ±0,5°Ц).
- температура: Ово се може очитати са сензора влажности или притиска, или мерити узимањем просека оба очитавања.
- жироскоп: СТМицро ЛСМ9ДС1 ИМУ може да мери ротацију Сенсе ХАТ-а у односу на површину Земље (и колико брзо се ротира).
- Акцелерометар: Још једна функција ИМУ-а, ово може мерити силу убрзања у више праваца.
- Магнетометар: Осјећајући Земљино магнетно поље, ИМУ може одредити смјер магнетног сјевера и тако дати очитавање компаса.
Сада када сте схватили шта овај вишенаменски Распберри Пи ХАТ може да уради, време је да почнете са пројектом.
Корак 1: Монтирајте Сенсе ХАТ
Да бисте повезали Сенсе ХАТ, прво се уверите да је ваш Распберри Пи искључен и искључен из напајања. Затим пажљиво гурните Сенсе ХАТ (са приложеним црним продужним заглављем) на Распберри Пи 40-пински ГПИО заглавље тако да Сенсе ХАТ плоча буде постављена преко Распберри Пи плоче. Уверите се да су све игле правилно постављене и да су оба реда повезана. Такође можете да користите држаче са шрафовима да бисте га осигурали.
Можете користити било који стандардни Распберри Пи модел који има 40-пински ГПИО хеадер. Један од кључна ограничења Распберри Пи 400међутим, његово ГПИО заглавље се налази на задњој страни интегрисане тастатуре. То значи да ће Сенсе ХАТ бити окренут уназад, тако да ћете можда желети да користите ГПИО продужни кабл да га повежете.
Корак 2: Подесите Распберри Пи
Као и код сваког другог пројекта, требало би да прикључите УСБ тастатуру и миш, а затим повежите свој Распберри Пи са монитором или ТВ-ом. Такође би требало да имате уметнуту мицроСД картицу са стандардним Распберри Пи ОС-ом - ако то већ нисте урадили, погледајте како инсталирати оперативни систем на Распберри Пи. Тада сте спремни да укључите напајање.
Алтернативно, можете да користите свој Распберри Пи са Сенсе ХАТ у режиму без главе, без прикљученог монитора и повежите се на Распберри Пи даљински користећи ССХ са другог рачунара или уређаја. Ако то урадите, нећете моћи да користите Тхонни Питхон ИДЕ, буи и даље може да уређује програме помоћу уређивача нано текста и покреће их из командне линије.
Сенсе ХАТ фирмвер би требало да буде инсталиран подразумевано. Да бисте још једном проверили, отворите прозор терминала и унесите:
sudo apt install sense-hat
Затим, ако је пакет управо инсталиран, поново покрените Распберри Пи:
sudo reboot
Корак 3: Започните програмирање у Питхон-у
Док можете да користите Распберри Пи Сенсе ХАТ са програмским језиком заснованим на блоковима Сцратцх, ми ћемо користити Питхон за читање и приказ његових очитавања сензора.
Тхонни ИДЕ (интегрисано развојно окружење) је добар начин за Питхон програмирање на Распберри Пи-у, јер има много функционалности укључујући корисне функције за отклањање грешака. У графичком корисничком интерфејсу Распберри Пи ОС-а, идите на Мени (горе лево икона малине) > Програмирање > Тхонни ИДЕ да га покрене.
Корак 4: Очитајте температуру
У главном прозору Тхонни ИДЕ-а унесите следеће редове кода:
from sense_hat import SenseHatsense = SenseHat()
sense.clear()
temp = sense.get_temperature()
print(temp)
Прва линија увози СенсеХат разред из смисао_шешир Питхон библиотека (која је унапред инсталирана у Распберри Пи ОС). Ово се затим додељује смисао променљива. Трећи ред брише ЛЕД матрицу Сенсе ХАТ-а.
Затим узимамо очитавање температуре и штампамо га у Схелл област Тхонни ИДЕ. Ово је у степенима Целзијуса, тако да бисте могли прво да га конвертујете у Фаренхајт:
temp = (sense.get_temperature() * 1.8 + 32)
Очитавање сензора температуре имаће неколико цифара после децималне запете. Зато ћемо користити округли функција за заокруживање на једну децималу:
temp = round(temp, 1)
Тхе сенсе.гет_температуре() функција очитава температурни сензор уграђен у сензор влажности. Алтернативно, можете очитати температуру са сензора притиска помоћу сенсе.гет_температуре_фром_прессуре() или чак узмите оба очитавања и израчунајте средњи просек (сабирањем и дељењем са два).
Корак 5: Прикажите температуру на Сенсе ХАТ-у
Штампање једног очитавања температуре на Питхон Схелл-у је мало досадно, па уместо тога хајде да редовно читамо ново очитавање и приказујемо га на РГБ ЛЕД матрици Сенсе ХАТ-а. Да бисмо приказали текстуалну поруку која се помера, користимо схов_мессаге функција. Такође ћемо користити а док: Истина петљу да наставите са новим очитавањем сваких 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)
Покрените овај код и видећете да се свако ново очитавање температуре помера по ЛЕД матрици. Покушајте да дуните на Сенсе ХАТ да видите да ли се температура мења.
На очитавања температуре може утицати топлота која се преноси са Распберри Пи ЦПУ-а одмах испод, тако да ће можда бити потребно подешавање да би се добила тачнија цифра. Друго решење је да користите заглавље за слагање да бисте подигли Сенсе ХАТ више изнад Распберри Пи.
Користите Распберри Пи за праћење температуре
Иако бисте уместо тога могли да користите самостални температурни сензор за овај пројекат, Сенсе ХАТ олакшава праћење температуре помоћу вашег Распберри Пи. Такође можете да га користите да узмете мноштво других очитавања сензора, као што су барометарски притисак и релативна влажност, и да их прикажете на ЛЕД-у матрица.