8.8 KiB
Вимірювання температури - Raspberry Pi
У цій частині уроку ви додасте датчик температури до вашого Raspberry Pi.
Апаратне забезпечення
Датчик, який ви будете використовувати, — це датчик вологості та температури DHT11, який об'єднує два датчики в одному корпусі. Це досить популярний датчик, і багато комерційно доступних датчиків об'єднують вимірювання температури, вологості, а іноді й атмосферного тиску. Компонент датчика температури — це термістор з негативним температурним коефіцієнтом (NTC), тобто термістор, у якого опір зменшується зі збільшенням температури.
Це цифровий датчик, тому він має вбудований АЦП (аналогово-цифровий перетворювач), який створює цифровий сигнал, що містить дані про температуру та вологість, які може зчитувати мікроконтролер.
Підключення датчика температури
Датчик температури Grove можна підключити до Raspberry Pi.
Завдання
Підключіть датчик температури
-
Вставте один кінець кабелю Grove у роз'єм на датчику вологості та температури. Він вставляється лише в одному напрямку.
-
З вимкненим Raspberry Pi підключіть інший кінець кабелю Grove до цифрового роз'єму, позначеного D5, на Grove Base Hat, підключеному до Pi. Цей роз'єм є другим зліва в ряду роз'ємів поруч із GPIO-пінами.
Програмування датчика температури
Тепер пристрій можна запрограмувати для використання підключеного датчика температури.
Завдання
Програмуйте пристрій.
-
Увімкніть 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. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.