|
|
<!--
|
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
|
{
|
|
|
"original_hash": "59263d094f20b302053888cd236880c3",
|
|
|
"translation_date": "2025-08-28T18:11:44+00:00",
|
|
|
"source_file": "2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md",
|
|
|
"language_code": "uk"
|
|
|
}
|
|
|
-->
|
|
|
# Вимірювання температури - Wio Terminal
|
|
|
|
|
|
У цій частині уроку ви додасте датчик температури до вашого Wio Terminal і зчитуватимете значення температури з нього.
|
|
|
|
|
|
## Апаратне забезпечення
|
|
|
|
|
|
Wio Terminal потребує датчика температури.
|
|
|
|
|
|
Датчик, який ви будете використовувати, — це [датчик вологості та температури DHT11](https://www.seeedstudio.com/Grove-Temperature-Humidity-Sensor-DHT11.html), який об'єднує два датчики в одному корпусі. Це досить популярний датчик, і багато комерційно доступних датчиків об'єднують вимірювання температури, вологості, а іноді й атмосферного тиску. Компонент датчика температури — це термістор із негативним температурним коефіцієнтом (NTC), термістор, у якого опір зменшується зі збільшенням температури.
|
|
|
|
|
|
Це цифровий датчик, тому він має вбудований АЦП для створення цифрового сигналу, що містить дані про температуру та вологість, які може зчитувати мікроконтролер.
|
|
|
|
|
|
### Підключення датчика температури
|
|
|
|
|
|
Датчик температури Grove можна підключити до цифрового порту Wio Terminal.
|
|
|
|
|
|
#### Завдання - підключіть датчик температури
|
|
|
|
|
|
Підключіть датчик температури.
|
|
|
|
|
|

|
|
|
|
|
|
1. Вставте один кінець кабелю Grove у роз'єм на датчику вологості та температури. Він вставляється лише в одному напрямку.
|
|
|
|
|
|
1. З Wio Terminal, відключеним від комп'ютера або іншого джерела живлення, підключіть інший кінець кабелю Grove до правого роз'єму Grove на Wio Terminal, якщо дивитися на екран. Це роз'єм, який знаходиться найдалі від кнопки живлення.
|
|
|
|
|
|

|
|
|
|
|
|
## Програмування датчика температури
|
|
|
|
|
|
Тепер Wio Terminal можна запрограмувати для використання підключеного датчика температури.
|
|
|
|
|
|
### Завдання - запрограмуйте датчик температури
|
|
|
|
|
|
Запрограмуйте пристрій.
|
|
|
|
|
|
1. Створіть абсолютно новий проєкт Wio Terminal за допомогою PlatformIO. Назвіть цей проєкт `temperature-sensor`. Додайте код у функцію `setup` для налаштування послідовного порту.
|
|
|
|
|
|
> ⚠️ Ви можете звернутися до [інструкцій зі створення проєкту PlatformIO в проєкті 1, урок 1, якщо це необхідно](../../../1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md#create-a-platformio-project).
|
|
|
|
|
|
1. Додайте залежність бібліотеки для бібліотеки датчика вологості та температури Seeed Grove до файлу `platformio.ini` проєкту:
|
|
|
|
|
|
```ini
|
|
|
lib_deps =
|
|
|
seeed-studio/Grove Temperature And Humidity Sensor @ 1.0.1
|
|
|
```
|
|
|
|
|
|
> ⚠️ Ви можете звернутися до [інструкцій із додавання бібліотек до проєкту PlatformIO в проєкті 1, урок 4, якщо це необхідно](../../../1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md#install-the-wifi-and-mqtt-arduino-libraries).
|
|
|
|
|
|
1. Додайте наступні директиви `#include` у верхній частині файлу, під існуючим `#include <Arduino.h>`:
|
|
|
|
|
|
```cpp
|
|
|
#include <DHT.h>
|
|
|
#include <SPI.h>
|
|
|
```
|
|
|
|
|
|
Це імпортує файли, необхідні для взаємодії з датчиком. Заголовковий файл `DHT.h` містить код для самого датчика, а додавання заголовка `SPI.h` забезпечує зв'язок із датчиком під час компіляції програми.
|
|
|
|
|
|
1. Перед функцією `setup` оголосіть датчик DHT:
|
|
|
|
|
|
```cpp
|
|
|
DHT dht(D0, DHT11);
|
|
|
```
|
|
|
|
|
|
Це оголошує екземпляр класу `DHT`, який керує **D**igital **H**umidity and **T**emperature датчиком. Він підключений до порту `D0`, правого роз'єму Grove на Wio Terminal. Другий параметр повідомляє код, що використовується датчик *DHT11* — бібліотека, яку ви використовуєте, підтримує інші варіанти цього датчика.
|
|
|
|
|
|
1. У функції `setup` додайте код для налаштування послідовного з'єднання:
|
|
|
|
|
|
```cpp
|
|
|
void setup()
|
|
|
{
|
|
|
Serial.begin(9600);
|
|
|
|
|
|
while (!Serial)
|
|
|
; // Wait for Serial to be ready
|
|
|
|
|
|
delay(1000);
|
|
|
}
|
|
|
```
|
|
|
|
|
|
1. Наприкінці функції `setup`, після останнього `delay`, додайте виклик для запуску датчика DHT:
|
|
|
|
|
|
```cpp
|
|
|
dht.begin();
|
|
|
```
|
|
|
|
|
|
1. У функції `loop` додайте код для виклику датчика та виведення температури на послідовний порт:
|
|
|
|
|
|
```cpp
|
|
|
void loop()
|
|
|
{
|
|
|
float temp_hum_val[2] = {0};
|
|
|
dht.readTempAndHumidity(temp_hum_val);
|
|
|
Serial.print("Temperature: ");
|
|
|
Serial.print(temp_hum_val[1]);
|
|
|
Serial.println ("°C");
|
|
|
|
|
|
delay(10000);
|
|
|
}
|
|
|
```
|
|
|
|
|
|
Цей код оголошує порожній масив із 2 чисел із плаваючою точкою та передає його виклику `readTempAndHumidity` на екземплярі `DHT`. Цей виклик заповнює масив двома значеннями — вологість потрапляє в 0-й елемент масиву (пам'ятайте, що в C++ масиви починаються з 0, тому 0-й елемент є "першим" елементом масиву), а температура потрапляє в 1-й елемент.
|
|
|
|
|
|
Температура зчитується з 1-го елемента масиву та виводиться на послідовний порт.
|
|
|
|
|
|
> 🇺🇸 Температура зчитується в градусах Цельсія. Для американців, щоб перетворити її у Фаренгейти, розділіть значення Цельсія на 5, потім помножте на 9 і додайте 32. Наприклад, значення температури 20°C перетворюється на ((20/5)*9) + 32 = 68°F.
|
|
|
|
|
|
1. Зберіть і завантажте код на Wio Terminal.
|
|
|
|
|
|
> ⚠️ Ви можете звернутися до [інструкцій зі створення проєкту PlatformIO в проєкті 1, урок 1, якщо це необхідно](../../../1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md#write-the-hello-world-app).
|
|
|
|
|
|
1. Після завантаження ви можете контролювати температуру за допомогою послідовного монітора:
|
|
|
|
|
|
```output
|
|
|
> Executing task: platformio device monitor <
|
|
|
|
|
|
--- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
|
|
|
--- More details at http://bit.ly/pio-monitor-filters
|
|
|
--- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 ---
|
|
|
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
|
|
|
Temperature: 25.00°C
|
|
|
Temperature: 25.00°C
|
|
|
Temperature: 25.00°C
|
|
|
Temperature: 24.00°C
|
|
|
```
|
|
|
|
|
|
> 💁 Ви можете знайти цей код у папці [code-temperature/wio-terminal](../../../../../2-farm/lessons/1-predict-plant-growth/code-temperature/wio-terminal).
|
|
|
|
|
|
😀 Ваша програма для датчика температури була успішною!
|
|
|
|
|
|
---
|
|
|
|
|
|
**Відмова від відповідальності**:
|
|
|
Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу. |