Простой монитор заряда аккумулятора на базе Arduino Uno с отображением на LCD-дисплее 16x2.
📋 Описание
Устройство измеряет напряжение аккумулятора через делитель напряжения и отображает:
· Текущее напряжение (В) · Процент заряда (%)
Процент заряда рассчитывается для литий-полимерных (Li-Po) аккумуляторов с диапазоном напряжений 3.0–4.2 В.
🔧 Компоненты
· Arduino Uno · LCD-дисплей 16x2 (совместимый с Hitachi HD44780) · 2 резистора по 10 кОм (делитель напряжения) · Аккумулятор Li-Po 3.7 В
📐 Схема подключения
LCD-дисплей
Пин LCD Пин Arduino RS 12 EN 11 D4 5 D5 4 D6 3 D7 2 VSS GND VDD 5V RW GND
Делитель напряжения
Аккумулятор (+) ── 10кОм ──┬── A0 (Arduino)
│
10кОм
│
GND
⚙️ Настройка
В файле main.cpp можно изменить следующие параметры:
#define DIVIDER_RATIO 2.0 // Коэффициент делителя
#define MIN_VOLTAGE 3.0 // 0% заряда (В)
#define MAX_VOLTAGE 4.2 // 100% заряда (В)Для других типов аккумуляторов измените MIN_VOLTAGE и MAX_VOLTAGE.
🚀 Установка и загрузка
- Установите PlatformIO в VS Code
- Клонируйте репозиторий
- Подключите Arduino Uno через USB
- Загрузите прошивку:
pio run --target upload- Откройте монитор порта для отладки:
pio device monitor📊 Пример вывода
На LCD (16x2):
Voltage: 3.85V
Charge: 56.7%
В Serial-мониторе:
Voltage: 3.85V | Charge: 56.7%
📁 Структура проекта
.
├── platformio.ini # Конфигурация PlatformIO
├── main.cpp # Основной код
└── README.md # Этот файл
📦 Зависимости
· LiquidCrystal v1.0.7 — управление LCD-дисплеем
📝 Примечания
· Обновление данных происходит каждую секунду · Диапазон Li-Po: 3.0 В (разряжен) — 4.2 В (полностью заряжен) · Значения напряжения и процента автоматически ограничиваются (0–100%)
📄 Лицензия
MIT License