Тестер батареек на Ардуино

Тестер батареек на Arduino Uno - один из самых простых проектов для которого потребуется минимум деталей. Представим два варианта исполнения устройства.


Проект. Тестер батареек на плате Ардуино Уно

Тестер батареек и аккумуляторов на 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);
}

Пояснения к коду:

  1. заряд батареи дополнительно выводится на монитор порта Arduino IDE;
  2. в зависимости от заряда одноэлементной батарейки (аккумулятора), на макетной плате включается красный, желтый или зеленый светодиод.

Тестер батареек на Arduino с LCD дисплеем

Схема. Тестер батареек на Arduino Uno с LCD дисплеем
Схема. Тестер батареек на Arduino Uno с 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();                // очищаем экран дисплея
}

Пояснения к коду:

  1. с помощью функции #define заданы имена для цифровых портов к которым подключены светодиоды и для аналогового входа A1;
  2. скетч считывает значение с входа A1 и преобразует его в напряжение.
  3. два представленных скетча можно объединить, чтобы заряд батареи отображался на дисплее и мониторе порта, а также включались светодиоды.
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5,00 out of 5)
Загрузка...

2 комментариев для “Тестер батареек на Ардуино

  1. В сетапе надо добавить analogWrite(TESTER, LOW);
    иначе когда проверка не осуществляется там постоянно ~1,5 вольта

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *