Як використовувати Raspberry Pi для моніторингу температури за допомогою Sense HAT

Є кілька способів, за допомогою яких ви можете контролювати температуру навколишнього середовища за допомогою одноплатного комп’ютера Raspberry Pi, можливо, як частину налаштування метеостанції. Хоча ви можете використовувати зовнішній датчик, підключений до контактів GPIO Raspberry Pi, тут ми пояснимо, як контролювати температуру за допомогою Raspberry Pi, оснащеного Sense HAT.

Що таке Sense HAT?

Автор зображення: Raspberry Pi

Офіційна додаткова плата Raspberry Pi HAT (Hardware Attached on Top), розроблена та виготовлена ​​компанією Raspberry Pi, Sense HAT спочатку була створена для використання астронавтами на борту Міжнародної космічної станції. З 2015 року два комп’ютери Raspberry Pi, оснащені Sense HAT, використовувалися в наукових експериментах, розроблених школярами, які вступили до Астро Пі З тих пір ці два пристрої були замінені оновленими версіями на основі Raspberry Pi 4 і оснащені високоякісною камерою.

Автор зображення: Raspberry Pi

Незважаючи на відсутність спеціального сріблястого корпусу, призначеного для використання в космосі, стандартна плата Sense HAT має точно такі ж функції. Сумісний з будь-якою моделлю Raspberry Pi з 40-контактним роз’ємом GPIO, він має низку вбудованих датчиків, які дозволяють контролювати навколишнє середовище, а також виявляти власну орієнтацію та рух. Крім того, він має світлодіодну матрицю 8×8 RGB для відображення тексту, даних і зображень. Також є міні-джойстик із п’ятьма положеннями.

Повний набір сенсорних функцій Sense HAT такий:

  • Вологість: датчик STMicro HTS221 із діапазоном відносної вологості від 0 до 100%, плюс датчик температури від 32°F до 149°F (0°C до 65°C ± 2°C).
  • Барометричний тиск: датчик STMicro LPS25HB із діапазоном від 260 до 1260 гПа, а також вимірювання температури від 59°F до 104°F (15°C до 40°C ±0,5°C).
  • Температура: це можна прочитати з датчика вологості чи тиску або виміряти, взявши середнє значення обох показників.
  • Гіроскоп: STMicro LSM9DS1 IMU може вимірювати обертання Sense HAT відносно поверхні Землі (і швидкість його обертання).
  • Акселерометр: ще одна функція IMU, вона може вимірювати силу прискорення в кількох напрямках.
  • Магнітометр: сприймаючи магнітне поле Землі, IMU може визначити напрямок магнітної півночі та таким чином дати показання компаса.
  Як встановити обмеження вмісту на Xbox One

Тепер, коли ви знаєте, на що здатний цей багатофункціональний Raspberry Pi HAT, настав час розпочати проект.

Крок 1: Встановіть Sense HAT

Щоб підключити Sense HAT, спочатку переконайтеся, що ваш Raspberry Pi вимкнено та від’єднано від джерела живлення. Потім обережно вставте Sense HAT (з установленим чорним подовжувачем роз’єму) на 40-контактний роз’єм GPIO Raspberry Pi так, щоб плата Sense HAT розташувалась над платою Raspberry Pi. Переконайтеся, що всі шпильки вирівняні правильно й обидва ряди з’єднані. Ви також можете використовувати гвинтові опори, щоб закріпити його.

Ви можете використовувати будь-яку стандартну модель Raspberry Pi, яка має 40-контактний роз’єм GPIO. Однак одним із ключових обмежень Raspberry Pi 400 є те, що його роз’єм GPIO розташований на задній панелі вбудованої клавіатури. Це означає, що Sense HAT буде дивитися назад, тому ви можете використовувати подовжувач GPIO, щоб підключити його.

Крок 2. Налаштуйте Raspberry Pi

Як і в будь-якому іншому проекті, вам слід підключити USB-клавіатуру та мишу, а потім підключити Raspberry Pi до монітора або телевізора. У вас також має бути вставлена ​​карта microSD зі стандартною ОС Raspberry Pi — якщо ви ще цього не зробили, подивіться, як встановити операційну систему на Raspberry Pi. Після цього можна ввімкнути живлення.

  Як виправити помилку Adobe Save for Web у Photoshop

Крім того, ви можете використовувати свій Raspberry Pi із Sense HAT у безголовому режимі, без підключеного монітора, і підключитися до Raspberry Pi віддалено за допомогою SSH з іншого комп’ютера чи пристрою. Якщо ви зробите це, ви не зможете використовувати Thonny Python IDE, buy усе одно зможете редагувати програми за допомогою нано-текстового редактора та запускати їх із командного рядка.

Прошивка Sense HAT повинна бути встановлена ​​за замовчуванням. Щоб ще раз перевірити, відкрийте вікно терміналу та введіть:

 sudo apt install sense-hat

Потім, якщо пакет щойно встановлено, перезавантажте Raspberry Pi:

 sudo reboot

Крок 3: Почніть програмувати на Python

Хоча ви можете використовувати Raspberry Pi Sense HAT із блочною мовою програмування Scratch, ми використовуватимемо Python для читання та відображення показань датчиків.

Thonny IDE (інтегроване середовище розробки) є хорошим способом програмування на Python на Raspberry Pi, оскільки воно має багато функціональних можливостей, включаючи корисні функції налагодження. У графічному інтерфейсі робочого столу ОС Raspberry Pi перейдіть до «Меню» (малиновий значок угорі ліворуч) > Програмування > Thonny IDE, щоб запустити його.

Крок 4: Виміряйте температуру

У головному вікні Thonny IDE введіть такі рядки коду:

 
from sense_hat import SenseHat

sense = SenseHat()
sense.clear()

temp = sense.get_temperature()
print(temp)

Перший рядок імпортує клас SenseHat з бібліотеки Python sense_hat (яка попередньо встановлена ​​в ОС Raspberry Pi). Потім це призначається змінній сенсу. Третій рядок очищає світлодіодну матрицю Sense HAT.

Потім ми беремо показання температури та друкуємо його в області оболонки Thonny IDE. Це в градусах Цельсія, тож ви можете спочатку перетворити його у Фаренгейт:

 temp = (sense.get_temperature() * 1.8 + 32) 

Показання датчика температури міститиме кілька цифр після коми. Тому ми скористаємося функцією round, щоб округлити його до одного знака після коми:

 temp = round(temp, 1) 

Функція sense.get_temperature() зчитує датчик температури, вбудований у датчик вологості. Крім того, ви можете взяти показання температури з датчика тиску за допомогою sense.get_temperature_from_pressure() або навіть взяти обидва показання та обчислити середнє значення (додавши їх і поділивши на два).

  Як увімкнути 120 Гц на Xbox Series X і S

Крок 5: Покажіть температуру на Sense HAT

Друкувати одне вимірювання температури в Python Shell трохи нудно, тож замість цього давайте регулярно зніматимемо нове показання та показуватимемо його на світлодіодній матриці RGB Sense HAT. Щоб відобразити текстове повідомлення, що прокручується, ми використовуємо функцію show_message. Ми також будемо використовувати a while: True loop, щоб продовжувати зчитувати нове значення кожні 10 секунд, для чого ми використовуємо функцію сну з бібліотеки часу.

Ось повна програма:

 from sense_hat import SenseHat
from time import sleep

sense = SenseHat()
sense.clear()

while True:
 temp = (sense.get_temperature() * 1.8 + 32)
 temp = round(temp, 1)
 message = "Temp: " + str(temp)
 sense.show_message(message)
 sleep (10)

Запустіть цей код, і ви побачите кожне нове показання температури, що прокручується на світлодіодній матриці. Спробуйте подути на Sense HAT, щоб побачити, чи зміниться температура.

На показники температури може впливати тепло, яке передається від центрального процесора Raspberry Pi трохи нижче, тому може знадобитися коригування, щоб отримати точнішу цифру. Іншим рішенням є використання заголовка стека, щоб підняти Sense HAT вище над Raspberry Pi.

Використовуйте Raspberry Pi для моніторингу температури

Хоча замість цього для цього проекту можна використовувати окремий датчик температури, Sense HAT дозволяє легко контролювати температуру за допомогою Raspberry Pi. Ви також можете використовувати його для зняття безлічі показань інших датчиків, таких як барометричний тиск і відносна вологість, і відображати їх на світлодіодній матриці.