Измеряем температуру и влажность с помощью SHT 21/HTU 21 и Arduino

Погода – это не только газета на утреннем кофе или прогноз на телевизоре. Порой нам необходимо знать, что происходит вокруг нас, и в этом нам могут помочь различные датчики и устройства. В данной статье мы поговорим о том, как измерять температуру и влажность с использованием датчиков SHT 21 и HTU 21 при помощи Arduino и выводить данные на OLED или LCD экраны. Это не только интересно, но и полезно, особенно для любителей DIY и технологий. Готовы погрузиться в мир измерений и электроники? Тогда поехали!

Что такое SHT 21 и HTU 21?

Перед тем как мы начнем, давайте разберемся, что же такое SHT 21 и HTU 21. Это высокоточные цифровые датчики, предназначенные для измерения температуры и влажности. Они обеспечивают отличные результаты, а благодаря минимальным габаритам и простоте подключения, подходят для использования в самых разных проектах.

Преимущества использования SHT 21 и HTU 21

Существует несколько причин, почему именно эти датчики заслуживают вашего внимания:

  • Точность: Оба датчика обладают высокой точностью измерений, что делает их идеальными для научных и любительских проектов.
  • Легкость подключения: Они легко подключаются к Arduino и могут работать по протоколу I2C, что существенно упрощает процесс интеграции.
  • Компактность: Небольшие размеры позволяют использовать их в различных устройствах, даже в ограниченных пространствах.

Что нам понадобится для проекта?

Прежде чем приступить к сборке, давайте разберем, что именно нам потребуется для реализации проекта. Мы не только будем использовать датчики, но и дополнительные компоненты, которые сделают ваше устройство более функциональным и удобным в использовании.

Список компонентов

КомпонентыКоличествоОписание
Arduino Uno1Основное устройство для управления проектом.
SHT 21 или HTU 211Датчик температуры и влажности.
OLED или LCD экран1Для отображения информации.
Датчики и проводаНесколькоДля соединения компонентов.
Резисторы и конденсаторыПо необходимостиДля улучшения схемы.

Обратите внимание, что при использовании разных экранов могут потребоваться дополнительные компоненты. Однако, основа остается одной и той же. Теперь, когда у нас есть весь необходимый набор для работы, можно перейти к практической части.

Схема подключения

Прежде чем заливать код, давайте разберемся, как правильно подключить все компоненты друг к другу. Это критически важный этап, от которого зависит работоспособность вашего проекта.

Схема подключения

Вот как обычно выглядит схема подключения SHT 21 (или HTU 21) и дисплея к Arduino:

  • Подключите VCC датчика к 3.3V на Arduino.
  • GND датчика подключите к GND на Arduino.
  • Data (SDA) – подключите к A4 на Arduino.
  • Clock (SCL) – подключите к A5 на Arduino.
  • Если у вас есть OLED или LCD, следуйте аналогичной процедуре подключения в зависимости от вашей модели экрана.

Пожалуйста, убедитесь, что вы используете правильное напряжение для вашего датчика, поскольку SHT 21 и HTU 21 оптимально работают от 3.3V, но могут переносить 5V, однако это не рекомендуется для длительного использования.

Программирование Arduino

Теперь, когда все подключено, самое время перейти к программированию. Убедитесь, что у вас установлены необходимые библиотеки для работы с датчиками и дисплеем. Вы можете следить за их обновлениями через Arduino IDE.

Установка библиотек

Чтобы сделать все правильно, вам понадобятся следующие библиотеки:

Код для Arduino

Теперь давайте напишем код для нашего проекта. Код будет считывать данные с датчика и выводить их на экран. Вот пример базового кода, который можно использовать для SHT 21:

#include 
#include 
#include 

Adafruit_SHT31 sensor = Adafruit_SHT31();

void setup() {
  Serial.begin(9600);
  if (!sensor.begin(0x44)) {
    Serial.println("Ошибка подключения к датчику!");
    while (1);
  }
}

void loop() {
  float temperature = sensor.readTemperature();
  float humidity = sensor.readHumidity();

  Serial.print("Температура: ");
  Serial.print(temperature);
  Serial.print(" °CtВлажность: ");
  Serial.print(humidity);
  Serial.println(" %");

  delay(2000);
}

Скопируйте этот код в Arduino IDE и загрузите его на вашу плату. Вы должны увидеть значения температуры и влажности, выводимые в последовательный монитор.

Отображение данных на OLED/LCD

Теперь давайте добавим функциональность для отображения данных на экране. В зависимости от выбранного вами экрана, код может немного отличаться, но в целом принцип остается тем же.

Код для OLED

Добавим небольшие изменения в наш код, чтобы выводить данные на OLED экран:

#include 
#include 
#include 
#include 
#include 

Adafruit_SHT31 sensor = Adafruit_SHT31();
Adafruit_SSD1306 display(128, 64, &Wire);

void setup() {
  Serial.begin(9600);
  display.begin(SSD1306_I2C_ADDRESS, 4);  
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  
  if (!sensor.begin(0x44)) {
    Serial.println("Ошибка подключения к датчику!");
    while (1);
  }
}

void loop() {
  float temperature = sensor.readTemperature();
  float humidity = sensor.readHumidity();
  
  display.clearDisplay();
  display.setCursor(0,0);
  display.print("Температура: ");
  display.print(temperature);
  display.println(" °C");
  display.print("Влажность: ");
  display.print(humidity);
  display.println(" %");
  display.display();

  delay(2000);
}

Тестирование устройства

Теперь, когда наш проект готов, приступим к его тестированию. Готовы? Во-первых, убедитесь, что ваш Arduino подключен к компьютеру и включен. Затем откройте Serial Monitor в Arduino IDE, чтобы видеть значения температуры и влажности. Также вы должны видеть данные на OLED или LCD экране.

Если всё работает как надо, поздравляю! Вы только что создали устройство для измерения температуры и влажности на основе Arduino! Это может быть отличным дополнением к вашему умному дому или просто полезным инструментом для домашнего использования.

Возможности улучшения проекта

На этом этапе, возможно, вам уже пришло в голову, как можно расширить функциональность вашего устройства. И это действительно отличная идея! Давайте рассмотрим несколько возможностей для улучшения вашего проекта.

Добавление Wi-Fi модуля

Если вы захотите подключить ваше устройство к интернету, подумайте о добавлении Wi-Fi модуля, такого как ESP8266. Это позволит вам отправлять данные в облако или на мобильное приложение, что значительно расширит возможности вашего проекта.

Визуализация данных

Вы также можете создать веб-интерфейс для отображения данных с вашего устройства в режиме реального времени. Это может потребовать небольших усилий, но результаты будут стоить того.

Добавление сигнализации

Если вам нужно знать, когда температура или влажность достигает определенного порога, вы можете добавить звуковой сигнал или светодиод, который будет оповещать вас о критических значениях.

Заключение

Измерение температуры и влажности с помощью SHT 21/HTU 21 и Arduino – это увлекательное и полезное занятие. Вы приобрели опыт работы с датчиками, научились программировать Arduino и выводить данные на экран. Теперь у вас есть все знания и навыки, чтобы создавать свои собственные уникальные проекты в области IoT и умного дома.

Вместе с тем, это всего лишь начало – не останавливайтесь на достигнутом, экспериментируйте и создавайте что-то новое. Мы в DigitSpace.com надеемся, что эта статья была вам полезна и вдохновила на новые идеи. Удачи в ваших проектах!

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии