
Интернет-магазин «Неглупый Дом»
Готовый проект в корпусе обычно питается не от макетной платы с голыми проводами, а через нормальный разъём питания DC005 на панели — а дальше, если подключаемый блок питания даёт не совсем то напряжение, которое нужно конкретной части схемы, регулируемый понижающий преобразователь MP1584EN на подстроечном резисторе позволяет выставить точное нужное значение.
DC005 — это пара "гнездо на панель + штекер от блока питания" стандартного разъёма 5.5×2.1мм. Само гнездо не содержит никакой электроники — это просто механический и электрический разъём, который впаивается в стенку корпуса проекта, чтобы не тянуть провода через щель в корпусе напрямую.
MP1584EN — небольшой ИМПУЛЬСНЫЙ (не линейный) понижающий преобразователь с подстроечным резистором на плате: вращая его маленькой отвёрткой и одновременно измеряя выход мультиметром, можно выставить нужное напряжение в пределах диапазона модуля. В отличие от линейного стабилизатора L7809 из другого проекта на сайте, импульсный преобразователь тратит на тепло значительно меньше энергии, но даёт небольшие высокочастотные помехи на выходе — для реле, дисплеев и большинства модулей это не критично, но для особо чувствительных аналоговых схем это может иметь значение.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему. EXPECTED_VOLTAGE —
// то напряжение, которое вы сами выставили преобразователем.
const int SENSE_PIN = A0;
const int LED_PIN = 13;
const float DIVIDER_RATIO = 2.0; // пример для делителя R1=R2=10 кОм, проверьте под свой диапазон
const float ARDUINO_VREF = 5.0;
const float EXPECTED_VOLTAGE = 5.0;
const float TOLERANCE = 0.3;
void setup() {
Serial.begin(9600);
pinMode(LED_PIN, OUTPUT);
}
void loop() {
int raw = analogRead(SENSE_PIN);
float measured = (raw / 1023.0) * ARDUINO_VREF * DIVIDER_RATIO;
Serial.print("Напряжение на выходе MP1584EN: ");
Serial.print(measured);
Serial.println(" В");
bool outOfRange = abs(measured - EXPECTED_VOLTAGE) > TOLERANCE;
digitalWrite(LED_PIN, outOfRange ? HIGH : LOW);
delay(500);
}
Дополнительных библиотек не требуется — только `analogRead()`. Делитель напряжения подбирается под то напряжение, которое вы сами выставили преобразователем, чтобы оно безопасно укладывалось в диапазон 0-5В аналогового входа Arduino.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу в корзину: 135 ₽ 122 ₽ (экономия 13 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.