Интернет-магазин «Неглупый Дом»
AM2320 выводит влажность на LCD1602 и включает зуммер за пределами безопасного диапазона.
AM2320 — цифровой датчик температуры и влажности с ёмкостным сенсором: чувствительный элемент меняет ёмкость от количества водяного пара в воздухе, контроллер датчика сам переводит это в готовое значение и отдаёт по шине I2C — калибровать формулы самостоятельно не нужно.
В отличие от дешёвого DHT11/DHT22 с однопроводным протоколом, у AM2320 именно I2C — удобно, если на той же шине уже висит LCD-дисплей: отдельный пин под датчик не нужен.
Диапазон `minHumidity`/`maxHumidity` подбирается под задачу: для винного погреба обычно 60-70%, для хранения документов/электроники — пониженная влажность 30-45%, для теплицы с рассадой — 50-70% в зависимости от культуры.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, что указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему.
#include <Wire.h>
#include <AM2320.h>
#include <LiquidCrystal_I2C.h>
AM2320 th;
LiquidCrystal_I2C lcd(0x27, 16, 2); // адрес 0x27 — самый частый, у некоторых плат 0x3F
const int buzzerPin = 8; // сигнальный пин активного зуммера
const float minHumidity = 40.0; // нижняя граница нормы, %
const float maxHumidity = 70.0; // верхняя граница нормы, %
void setup() {
Serial.begin(9600);
Wire.begin();
lcd.init();
lcd.backlight();
pinMode(buzzerPin, OUTPUT);
}
void loop() {
int result = th.measure(); // обновляет температуру и влажность за один вызов
if (result != 1) {
Serial.println("Ошибка чтения AM2320");
delay(2000);
return;
}
float h = th.Humidity;
lcd.setCursor(0, 0);
lcd.print("Humidity: ");
lcd.print(h);
lcd.print("% ");
digitalWrite(buzzerPin, (h < minHumidity || h > maxHumidity) ? HIGH : LOW);
delay(2000); // опрашивать AM2320 рекомендуется не чаще раза в 2 секунды
}
Диапазон подбирается под задачу — для погреба одни цифры, для теплицы другие.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу: 491 ₽ 442 ₽ (экономия 49 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.