Интернет-магазин «Неглупый Дом»
В проекте про MT3608 зуммер сигнализирует о ПРЕВЫШЕНИИ напряжения на выходе — здесь противоположная проблема: когда вход (например, разряжающаяся батарея) падает настолько низко, что SX1308 уже не может держать нужный выход.
Повышающий преобразователь поднимает вход до выше выходного, но имеет предельный коэффициент усиления — при слишком низком входе держать целевой выход уже не получается, выход проседает пропорционально. Это другая по характеру неисправность, чем превышение напряжения, хотя та же семья компонентов.
Тот же метод делителя напряжения, но здесь мониторится ВЫХОД против цели, сигнал при падении НИЖЕ порога.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, я языковая
// модель, могу что-то упустить. Номиналы и пороги — пример.
const int SENSE_PIN = A0;
const int BUZZER_PIN = 8;
const float DIVIDER_RATIO = 2.0;
const float ARDUINO_VREF = 5.0;
const float EXPECTED_VOLTAGE = 12.0;
const float LOW_THRESHOLD = 10.5;
void setup() {
Serial.begin(9600);
pinMode(BUZZER_PIN, OUTPUT);
}
void loop() {
int raw = analogRead(SENSE_PIN);
float measured = (raw / 1023.0) * ARDUINO_VREF * DIVIDER_RATIO;
digitalWrite(BUZZER_PIN, measured < LOW_THRESHOLD ? HIGH : LOW);
delay(500);
}
Только analogRead() — без дополнительных библиотек.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу: 129 ₽ 116 ₽ (экономия 13 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.