Интернет-магазин «Неглупый Дом»
Понижающий преобразователь LM2596 регулируется резистором, но у базовой версии нет дисплея — приходится проверять напряжение мультиметром. Arduino измеряет выходное напряжение через делитель и показывает точное число на TM1637.
Аналоговый вход Arduino измеряет только 0-5V, а LM2596 на выходе выдаёт больше. Делитель напряжения из двух резисторов снижает реальное напряжение до безопасного диапазона для аналогового пина.
Зная коэффициент деления, прочитанное `analogRead()` пересчитывается обратно в реальное напряжение умножением. Делитель 10 кОм/2.2 кОм уменьшает напряжение примерно в 5.5 раза, позволяя измерять до ~27В с опорным 5V.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, я языковая
// модель, а не специализированный кодер, могу что-то упустить. ОБЯЗАТЕЛЬНО
// перепроверьте расчёт делителя мультиметром перед подключением.
#include <TM1637Display.h>
TM1637Display display(9, 10);
const int SENSOR_PIN = A0;
const float R1 = 10000.0;
const float R2 = 2200.0;
const float VREF = 5.0;
void setup() {
Serial.begin(9600);
display.setBrightness(5);
}
void loop() {
int raw = analogRead(SENSOR_PIN);
float voltageAtPin = (raw / 1023.0) * VREF;
float realVoltage = voltageAtPin * (R1 + R2) / R2;
display.showNumberDecEx((int)(realVoltage * 100), 0b01000000, false);
delay(300);
}
Библиотека TM1637Display ставится через Менеджер библиотек. Для точности подстройте `R1`/`R2` под реально измеренные мультиметром номиналы резисторов.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу: 211 ₽ 190 ₽ (экономия 21 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.