Перейти к содержанию

Тестер батареек на Ардуино с LCD дисплеем

Тестер батареек на Ардуино с LCD дисплеем

Тестер батарей и аккумуляторов с LCD экраном на Ардуино или светодиодами — один из самых простых проектов, требующий минимального количества деталей. Если у вас есть lcd дисплей 1602 с модулем I2C, вы можете создать проект «Тестер батареек на Arduino» или «Вольтметр на Ардуино». Подробная схема сборки проекта, подключение дисплея и программа для микроконтроллера Ардуино размещена на этой странице.

Необходимые компоненты:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • дисплей LCD 1602 i2c
  • коннекторы
  • библиотека LiquidCrystal_I2C.h

Дополнительные материалы на эту тему:

  1. Как подключить дисплей LCD 1602 к Ардуино
  2. Игра на Ардуино «Dino T-Rex» с LCD 1602
  3. Тетрис на Ардуино Уно с OLED дисплеем

Если у вас есть в наличии дисплей LCD 1602 с I2C модулем, то можно собрать более сложный вариант этого проекта с помощью платы Arduino Uno. Также для индикации заряда одноэлементных батарей можно использовать светодиодную шкалу. На этой странице мы представили схему сборки и готовые программы для двух вариантов вольтметра — на светодиодах и с жидкокристаллическим дисплеем Ардуино.

Схема тестера на Arduino Uno со светодиодами

Схема вольтметра на Arduino Uno со светодиодами

Обратите внимание, что в схеме лучше использовать диод для защиты от неправильного подключения к тестеру пальчиковой батарейки. Если у вас нет диода, то вместо него можно использовать обычный светодиод или пользоваться тестером аккуратно, без защиты. Соберите схему, как на картинке выше и загрузите в плату скетч. Заряд батареи будет дополнительно выводится на монитор порта Arduino IDE для настройки кода.

Скетч для тестера на Ардуино со светодиодами


#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(TESTER);
   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);
}

Схема вольтметра на Ардуино с LCD дисплеем 1602

Схема вольтметра на Ардуино с LCD дисплеем 1602

LCD 1602 i2c Arduino Uno Arduino Nano Arduino Mega
GND GND GND GND
VCC 5V 5V 5V
SDA A4 A4 20
SCL A5 A5 21

Скетч для вольтметра на Ардуино с дисплеем 1602

#include "Wire.h"
#include "LiquidCrystal_I2C.h"
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);
   voltage = data * 0.0048;

   Serial.print(voltage);
   Serial.println(" Volts");

   LCD.setCursor(0,0);
   LCD.print(voltage);
   LCD.print(" Volts");

   delay(500);
   LCD.clear();
}

Заключение. Следует знать, что на аналоговые порты не следует подавать напряжение более 5 вольт. Согласно описанию платы Arduino, приведенному производителем, более высокое напряжение может повредить микроконтроллер. Если вам нужно проверить заряд аккумулятора или мизинчиковой батареи с напряжением более 5 вольт — используйте делитель напряжения. Также для проекта tester Arduino можно использовать LED шкалу.

Комментарии 1

  • Please add in the description that the sketches only work when the Arduino is connected to the computer.
    P.S. Добавьте, пожалуйста, в описание, что скетчи работают только при подключении Arduino к компьютеру.
    А строка analogWrite(TESTER, LOW); в «Скетч для тестера на Ардуино со светодиодами» вызывает сомнение.

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

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

newzaym
➜