8.9 KiB
Мерење температуре - Raspberry Pi
У овом делу лекције, додаћете сензор за температуру вашем Raspberry Pi уређају.
Хардвер
Сензор који ћете користити је DHT11 сензор за влажност и температуру, који комбинује два сензора у једном пакету. Ово је прилично популаран сензор, а постоји велики број комерцијално доступних сензора који комбинују мерење температуре, влажности, а понекад и атмосферског притиска. Компонента за мерење температуре је термистор са негативним температурним коефицијентом (NTC), што значи да отпор опада како температура расте.
Ово је дигитални сензор, што значи да има уграђени АД конвертор (ADC) који креира дигитални сигнал са подацима о температури и влажности, које микроконтролер може да прочита.
Повежите сензор за температуру
Grove сензор за температуру може се повезати са Raspberry Pi уређајем.
Задатак
Повежите сензор за температуру
-
Уметните један крај Grove кабла у прикључак на сензору за влажност и температуру. Кабл може бити уметнут само у једном смеру.
-
Док је Raspberry Pi искључен, повежите други крај Grove кабла са дигиталним прикључком означеним као D5 на Grove Base hat-у који је повезан са Pi уређајем. Овај прикључак је други с лева у реду прикључака поред GPIO пинова.
Програмирање сензора за температуру
Сада можете програмирати уређај да користи повезани сензор за температуру.
Задатак
Програмирајте уређај.
-
Укључите Raspberry Pi и сачекајте да се покрене.
-
Покрените VS Code, било директно на Pi уређају или се повежите преко Remote SSH екстензије.
⚠️ Можете се подсетити упутстава за подешавање и покретање VS Code-а у лекцији 1 ако је потребно.
-
Из терминала, креирајте нови фолдер у кућном директоријуму корисника
pi
под називомtemperature-sensor
. У овом фолдеру креирајте датотеку под називомapp.py
:mkdir temperature-sensor cd temperature-sensor touch app.py
-
Отворите овај фолдер у VS Code-у.
-
Да бисте користили сензор за температуру и влажност, потребно је инсталирати додатни Pip пакет. Из терминала у VS Code-у, покрените следећу команду да бисте инсталирали овај Pip пакет на Pi уређај:
pip3 install seeed-python-dht
-
Додајте следећи код у
app.py
датотеку како бисте увезли потребне библиотеке:import time from seeed_dht import DHT
Изјава
from seeed_dht import DHT
увозиDHT
класу сензора за интеракцију са Grove сензором за температуру изseeed_dht
модула. -
Додајте следећи код након претходног како бисте креирали инстанцу класе која управља сензором за температуру:
sensor = DHT("11", 5)
Овим се декларише инстанца
DHT
класе која управља Digital Humidity and Temperature сензором. Први параметар указује да се користи DHT11 сензор - библиотека коју користите подржава и друге варијанте овог сензора. Други параметар указује да је сензор повезан на дигитални портD5
на Grove Base hat-у.✅ Запамтите, сви прикључци имају јединствене бројеве пинова. Пинови 0, 2, 4 и 6 су аналогни пинови, док су пинови 5, 16, 18, 22, 24 и 26 дигитални пинови.
-
Додајте бесконачну петљу након претходног кода како бисте очитавали вредности сензора за температуру и исписивали их у конзолу:
while True: _, temp = sensor.read() print(f'Temperature {temp}°C')
Позив
sensor.read()
враћа тјупл са вредностима влажности и температуре. Потребна вам је само вредност температуре, па се вредност влажности игнорише. Вредност температуре се затим исписује у конзолу. -
Додајте кратку паузу од десет секунди на крају
loop
петље, јер није потребно континуирано проверавати ниво температуре. Паузирање смањује потрошњу енергије уређаја.time.sleep(10)
-
Из терминала у VS Code-у, покрените следећу команду да бисте покренули вашу Python апликацију:
python3 app.py
Требало би да видите вредности температуре које се исписују у конзолу. Искористите нешто да загрејете сензор, као што је притисак палца на њега или коришћење вентилатора, како бисте видели промене у вредностима:
pi@raspberrypi:~/temperature-sensor $ python3 app.py Temperature 26°C Temperature 26°C Temperature 28°C Temperature 30°C Temperature 32°C
💁 Овај код можете пронаћи у фолдеру code-temperature/pi.
😀 Ваш програм за сензор температуре је успешно завршен!
Одрицање од одговорности:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције Co-op Translator. Иако се трудимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати меродавним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода.