СОДЕРЖАНИЕ ►
Тестер батареек и аккумуляторов на Arduino Uno — один из самых простых проектов для которого потребуется минимум деталей. Представим два варианта данного устройства — на светодиодах для индикации заряда батарей, а также с использованием LCD дисплея для вывода информации. Подробная схема сборки проекта и программа для тестера на микроконтроллере Ардуино представлена далее на странице.
Первым делом необходимо предупредить, что на аналоговые порты плат Ардуино не следует подавать напряжение более 5 Вольт. Согласно описанию Arduino Uno, данного производителем, при большем напряжении микроконтроллер может выйти из строя. Если вам необходимо будет проверить заряд аккумулятора с напряжением более 5 Вольт, то можно использовать делитель напряжения на резисторах.
Тестер батареек и аккумуляторов на Ардуино
Для этого проекта потребуется:
- Arduino Uno / Arduino Nano / Arduino Mega;
- три светодиода и три резистора;
- диод;
- LCD дисплей;
- макетная плата;
- провода «папа-папа», «папа-мама».

Обратите внимание, что в приведенной схеме используется диод для защиты от неправильного подключения одноэлементной батарейки. Если у вас нет диода, то вместо него можно использовать обычный светодиод или обойтись без защиты. Соберите схему, как на картинке выше и загрузите в плату следующий скетч. Ссылка на архив с программой для тестера заряда батарей на Ардуино размещена ниже.
Скетч. Тестер батареек Ардуино своими руками
#define RED 2 // красный светодиод #define YELLOW 4 // желтый светодиод #define GREEN 6 // зеленый светодиод #define TESTER A1 // порт для подключения батарейки int data; float voltage; void setup() { Serial.begin(9600); // запускаем серийный монитор порта pinMode(RED, OUTPUT); pinMode(YELLOW, OUTPUT); pinMode(GREEN, OUTPUT); pinMode(TESTER, INPUT); analogWrite(TESTER, LOW); } void loop() { data = analogRead(A1); // считываем данные с порта A1 voltage = data * 0.0048; // переводим значения в вольты Serial.print(voltage); // выводим напряжение на монитор Serial.println(" Volts"); if ( voltage >= 1.5 ) { digitalWrite(GREEN, HIGH); digitalWrite(YELLOW, LOW); digitalWrite(RED, LOW); } else if ( voltage < 1.5 && voltage > 1.3 ) { digitalWrite(GREEN, LOW); digitalWrite(YELLOW, HIGH); digitalWrite(RED, LOW); } else if ( voltage <= 1.3 ) { digitalWrite(GREEN, LOW); digitalWrite(YELLOW, LOW); digitalWrite(RED, HIGH); } delay(500); }
Пояснения к коду:
- заряд батареи дополнительно выводится на монитор порта Arduino IDE;
- в зависимости от заряда одноэлементной батарейки (аккумулятора), на макетной плате включается красный, желтый или зеленый светодиод.
Тестер батареек на Arduino с LCD дисплеем

Если у вас есть в наличии дисплей с I2C модулем, то можно собрать более сложный проект на Arduino Nano или Uno. Также для индикации заряда одноэлементных батарей можно использовать светодиодную шкалу, собрав тестер батареек на Arduino Uno и светодиодной шкале. Соберите схему, как на картинке выше и загрузите следующий скетч. Скачать две представленных программы можно по ссылке здесь.
Скетч. Тестер заряда батареи с дисплеем
#include "Wire.h" // библиотека для протокола I2C #include "LiquidCrystal_I2C.h" // библиотека для LCD 1602 LiquidCrystal_I2C LCD(0x27,20,2); // присваиваем имя дисплею int data; float voltage; void setup() { pinMode(A1, INPUT); analogWrite(A1, LOW); Serial.begin(9600); // запускаем монитор порта LCD.init(); // инициализация дисплея LCD.backlight(); // включение подсветки } void loop() { data = analogRead(A1); // считываем данные с порта A1 voltage = data * 0.0048; // переводим значения в вольты Serial.print(voltage); // выводим напряжение на монитор Serial.println(" Volts"); LCD.setCursor(0,0); // ставим курсор на 1 символ первой строки LCD.print(voltage); // выводим напряжение на дисплей LCD.print(" Volts"); delay(500); LCD.clear(); // очищаем экран дисплея }
Пояснения к коду:
- с помощью функции
#defineзаданы имена для цифровых портов к которым подключены светодиоды и для аналогового входа A1; - скетч считывает значение с входа A1 и преобразует его в напряжение.
- два представленных скетча можно объединить, чтобы заряд батареи отображался на дисплее и мониторе порта, а также включались светодиоды.










В сетапе надо добавить analogWrite(TESTER, LOW);
иначе когда проверка не осуществляется там постоянно ~1,5 вольта
Спасибо за совет, поправили скетч для тестера заряда батереи
Для первого варианта сборки отсутствует схема. Понимаю, что странице уже три года, но всё же хотел бы её увидеть
Нет проблем 🙂
LCD.init(); // инициализация дисплея тут ошибка ‘class LiquidCrystal_I2C’ has no member named ‘init’
Я всё таки не понимаю зачем в списке компонентов диод? Его же нигде нет.