# Мерење температуре - Raspberry Pi У овом делу лекције, додаћете сензор за температуру вашем Raspberry Pi уређају. ## Хардвер Сензор који ћете користити је [DHT11 сензор за влажност и температуру](https://www.seeedstudio.com/Grove-Temperature-Humidity-Sensor-DHT11.html), који комбинује два сензора у једном пакету. Ово је прилично популаран сензор, а постоји велики број комерцијално доступних сензора који комбинују мерење температуре, влажности, а понекад и атмосферског притиска. Компонента за мерење температуре је термистор са негативним температурним коефицијентом (NTC), што значи да отпор опада како температура расте. Ово је дигитални сензор, што значи да има уграђени АД конвертор (ADC) који креира дигитални сигнал са подацима о температури и влажности, које микроконтролер може да прочита. ### Повежите сензор за температуру Grove сензор за температуру може се повезати са Raspberry Pi уређајем. #### Задатак Повежите сензор за температуру ![Grove сензор за температуру](../../../../../translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.sr.png) 1. Уметните један крај Grove кабла у прикључак на сензору за влажност и температуру. Кабл може бити уметнут само у једном смеру. 1. Док је Raspberry Pi искључен, повежите други крај Grove кабла са дигиталним прикључком означеним као **D5** на Grove Base hat-у који је повезан са Pi уређајем. Овај прикључак је други с лева у реду прикључака поред GPIO пинова. ![Grove сензор за температуру повезан на прикључак A0](../../../../../translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.sr.png) ## Програмирање сензора за температуру Сада можете програмирати уређај да користи повезани сензор за температуру. ### Задатак Програмирајте уређај. 1. Укључите Raspberry Pi и сачекајте да се покрене. 1. Покрените VS Code, било директно на Pi уређају или се повежите преко Remote SSH екстензије. > ⚠️ Можете се подсетити [упутстава за подешавање и покретање VS Code-а у лекцији 1 ако је потребно](../../../1-getting-started/lessons/1-introduction-to-iot/pi.md). 1. Из терминала, креирајте нови фолдер у кућном директоријуму корисника `pi` под називом `temperature-sensor`. У овом фолдеру креирајте датотеку под називом `app.py`: ```sh mkdir temperature-sensor cd temperature-sensor touch app.py ``` 1. Отворите овај фолдер у VS Code-у. 1. Да бисте користили сензор за температуру и влажност, потребно је инсталирати додатни Pip пакет. Из терминала у VS Code-у, покрените следећу команду да бисте инсталирали овај Pip пакет на Pi уређај: ```sh pip3 install seeed-python-dht ``` 1. Додајте следећи код у `app.py` датотеку како бисте увезли потребне библиотеке: ```python import time from seeed_dht import DHT ``` Изјава `from seeed_dht import DHT` увози `DHT` класу сензора за интеракцију са Grove сензором за температуру из `seeed_dht` модула. 1. Додајте следећи код након претходног како бисте креирали инстанцу класе која управља сензором за температуру: ```python sensor = DHT("11", 5) ``` Овим се декларише инстанца `DHT` класе која управља **D**igital **H**umidity and **T**emperature сензором. Први параметар указује да се користи *DHT11* сензор - библиотека коју користите подржава и друге варијанте овог сензора. Други параметар указује да је сензор повезан на дигитални порт `D5` на Grove Base hat-у. > ✅ Запамтите, сви прикључци имају јединствене бројеве пинова. Пинови 0, 2, 4 и 6 су аналогни пинови, док су пинови 5, 16, 18, 22, 24 и 26 дигитални пинови. 1. Додајте бесконачну петљу након претходног кода како бисте очитавали вредности сензора за температуру и исписивали их у конзолу: ```python while True: _, temp = sensor.read() print(f'Temperature {temp}°C') ``` Позив `sensor.read()` враћа тјупл са вредностима влажности и температуре. Потребна вам је само вредност температуре, па се вредност влажности игнорише. Вредност температуре се затим исписује у конзолу. 1. Додајте кратку паузу од десет секунди на крају `loop` петље, јер није потребно континуирано проверавати ниво температуре. Паузирање смањује потрошњу енергије уређаја. ```python time.sleep(10) ``` 1. Из терминала у VS Code-у, покрените следећу команду да бисте покренули вашу Python апликацију: ```sh python3 app.py ``` Требало би да видите вредности температуре које се исписују у конзолу. Искористите нешто да загрејете сензор, као што је притисак палца на њега или коришћење вентилатора, како бисте видели промене у вредностима: ```output 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](../../../../../2-farm/lessons/1-predict-plant-growth/code-temperature/pi). 😀 Ваш програм за сензор температуре је успешно завршен! --- **Одрицање од одговорности**: Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције [Co-op Translator](https://github.com/Azure/co-op-translator). Иако се трудимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати меродавним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода.