Создайте монитор температуры Raspberry Pi с помощью Sense HAT и отображайте регулярные показания на его светодиодной матрице.
Есть несколько способов контролировать температуру окружающей среды с помощью одноплатного компьютера Raspberry Pi, возможно, в рамках настройки метеостанции. Хотя вы можете использовать внешний датчик, подключенный к контактам GPIO Raspberry Pi, здесь мы объясним, как контролировать температуру с помощью Raspberry Pi, оснащенного Sense HAT.
Что такое Sense HAT?
Официальный ШЛЯПА Raspberry Pi Дополнительная плата (аппаратное обеспечение сверху), разработанная и произведенная компанией Raspberry Pi, Sense HAT изначально создавалась для использования астронавтами на борту Международной космической станции. С 2015 года два компьютера Raspberry Pi, оснащенные Sense HAT, используются в научных экспериментах, разработанных школьниками, вступившими в постоянную программу. Астро Пи Задача Эти два устройства с тех пор были заменены обновленными версиями на базе Raspberry Pi 4, оснащенными высококачественной камерой.
Стандартная плата Sense HAT не имеет специального серебристого корпуса, предназначенного для использования в космосе, но имеет точно такую же функциональность. Совместим с любым Модель малины Пи с 40-контактным разъемом GPIO он оснащен множеством встроенных датчиков, которые позволяют ему контролировать окружающую среду, а также определять собственную ориентацию и движение. Кроме того, он оснащен светодиодной матрицей RGB 8x8 для отображения текста, данных и изображений. Также имеется мини-пятипозиционный джойстик.
Полный набор сенсорных функций 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 может определить направление магнитного севера и, таким образом, дать показания компаса.
Теперь, когда вы получили представление о том, на что способна эта многофункциональная шляпа Raspberry Pi, пришло время приступить к работе над проектом.
Шаг 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. Теперь вы готовы включить питание.
Альтернативно вы можете использовать Raspberry Pi с Sense HAT в безголовом режиме, без подключенного монитора и подключиться к Raspberry Pi удаленно с помощью SSH с другого компьютера или устройства. Если вы сделаете это, вы не сможете использовать Thonny Python IDE, но сможете редактировать программы с помощью текстового редактора nano и запускать их из командной строки.
Прошивка 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 OS перейдите к Меню (значок малины вверху слева) > Программирование > Thonny IDE чтобы запустить его.
Шаг 4: Измерьте температуру
В главном окне Thonny IDE введите следующие строки кода:
from sense_hat import SenseHatsense = SenseHat()
sense.clear()
temp = sense.get_temperature()
print(temp)
Первая строка импортирует SenseHat класс из смысл_шляпа Библиотека Python (предустановлена в ОС Raspberry Pi). Затем это присваивается смысл переменная. Третья строка очищает светодиодную матрицу Sense HAT.
Затем мы снимаем показания температуры и распечатываем их в области оболочки Thonny IDE. Это в градусах Цельсия, поэтому вы можете сначала преобразовать их в градусы Фаренгейта:
temp = (sense.get_temperature() * 1.8 + 32)
Показания датчика температуры будут иметь несколько цифр после десятичной точки. Поэтому мы будем использовать круглый функция округления до одного десятичного знака:
temp = round(temp, 1)
sense.get_temperature() функция считывает показания датчика температуры, встроенного в датчик влажности. В качестве альтернативы вы можете снять показания температуры с датчика давления с помощью sense.get_temperature_from_pressure() или даже возьмите оба показания и вычислите среднее значение (путем их сложения и деления на два).
Шаг 5. Отображение температуры на Sense HAT
Выводить одно показание температуры в оболочку Python немного скучно, поэтому вместо этого давайте регулярно снимать новые показания и показывать их на светодиодной матрице RGB Sense HAT. Чтобы отобразить прокручиваемое текстовое сообщение, мы используем show_message функция. Мы также будем использовать пока: Правда цикл, чтобы продолжать снимать новые показания каждые 10 секунд — для этого мы используем спать функция от время библиотека.
Вот полная программа:
from sense_hat import SenseHat
from time import sleepsense = SenseHat()
sense.clear()
whileTrue:
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. Вы также можете использовать его для снятия показаний множества других датчиков, таких как барометрическое давление и относительная влажность, и отображать их на светодиодном индикаторе. матрица.