# Измерване на температура - 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.bg.png) 1. Поставете единия край на кабела Grove в гнездото на сензора за влажност и температура. Кабелът може да бъде поставен само в една посока. 1. С изключен Raspberry Pi свържете другия край на кабела Grove към цифровото гнездо, обозначено като **D5** на Grove Base hat, прикрепен към Pi. Това гнездо е второто отляво, в реда от гнезда до GPIO пиновете. ![Температурният сензор Grove, свързан към гнездото A0](../../../../../translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.bg.png) ## Програмиране на температурния сензор Устройството вече може да бъде програмирано за използване на свързания температурен сензор. ### Задача Програмирайте устройството. 1. Включете 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 и **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). 😀 Вашата програма за температурния сензор беше успешна! --- **Отказ от отговорност**: Този документ е преведен с помощта на AI услуга за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за недоразумения или погрешни интерпретации, произтичащи от използването на този превод.