- Необхідний матеріал
- Кругова діаграма
- Світлодіодна гістограма
- Програма Arduino для контролю напруги акумулятора:
- Працює індикатор напруги акумулятора
Батареї постачаються з певним обмеженням напруги, і якщо напруга перевищує встановлені межі під час заряджання або розрядження, термін служби акумулятора впливає або зменшується. Кожного разу, коли ми використовуємо проект, що працює від акумулятора, іноді нам потрібно перевірити рівень напруги акумулятора, чи потрібно його заряджати чи замінювати. Ця схема допоможе вам контролювати напругу акумулятора. Цей індикатор напруги акумулятора Arduino вказує на стан акумулятора, світячись світлодіодами на 10-сегментній гістограмі світлодіодів відповідно до напруги батареї. Він також відображає напругу акумулятора на РК-дисплеї, підключеному до Arduino.
Необхідний матеріал
- Arduino UNO
- 10-сегментна світлодіодна гістограма
- РК-дисплей (16 * 2)
- Потенціометр-10к
- Резистор (100 Ом-10; 330 Ом)
- Акумулятор (для тестування)
- Підключення проводів
- 12v адаптер для Arduino
Кругова діаграма
Світлодіодна гістограма
Світлодіодна гістограма поставляється в промислових стандартних розмірах з низьким енергоспоживанням. Смуга класифікована за інтенсивністю світла. Сам продукт залишається у версії, що відповідає RoHS. Він має пряму напругу до 2,6 в. Розсіювання потужності на сегмент становить 65 мВт. Робоча температура світлодіодної гістограми становить від -40 ℃ до 80 ℃. Існує багато додатків для світлодіодної гістограми, таких як аудіообладнання, панелі приладів та цифровий дисплей.
Діаграма шпильки
Конфігурація контактів
Програма Arduino для контролю напруги акумулятора:
Повний Arduino код і демонстрація відео наводиться в кінці цієї статті. Тут ми пояснили деякі важливі частини коду.
Тут ми визначаємо РК-бібліотеку та вказуємо штифти РК-дисплея, які будуть використовуватися з Arduino. Аналоговий вхід взято з контакту A4 для перевірки напруги акумулятора. Ми встановили значення Float, щоб отримати напругу до двох знаків після коми.
#включати
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // масив номерів контактів, до яких прикріплені світлодіоди int pinCount = 10; // кількість штифтів (тобто довжина масиву)
Налаштування РК-дисплея та аналогових штифтів (A0, A1, A2, A3) як вихідних штифтів.
void setup () {Serial.begin (9600); // відкриває послідовний порт, встановлює швидкість передачі даних 9600 біт / с lcd.begin (16, 2); //// налаштування кількості стовпців і рядків на РК-дисплеї: pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A2, OUTPUT); pinMode (A3, OUTPUT); pinMode (A4, INPUT); lcd.print ("Рівень напруги"); }
Тут ми робимо функцію для простого використання світлодіодної гістограми, ви навіть можете світити світлодіоди, програмуючи їх по черзі, але код стає довшим.
void LED_function (int stage) {for (int j = 2; j <= 11; j ++) {digitalWrite (j, LOW); } for (int i = 1, l = 2; i <= stage; i ++, l ++) {digitalWrite (l, HIGH); // затримка (30); }} У цій частині ми прочитали значення напруги за допомогою аналогового штифта. Потім ми перетворюємо аналогове значення у цифрове значення напруги, використовуючи формулу аналого-цифрового перетворення та відображаючи його далі на РК-дисплеї.
// Формула перетворення напруги analogValue = analogRead (A4); Serial.println (analogValue); затримка (1000); input_voltage = (analogValue * 5.0) / 1024.0; lcd.setCursor (0, 1); lcd.print ("Напруга ="); lcd.print (input_voltage); Serial.println (input_voltage); затримка (100);
Відповідно до значення вхідної напруги ми поставили певну умову для управління світлодіодами світлодіодних гістограм. Умову, яку ви можете перевірити нижче в коді:
якщо (вхідна_напруга <0,50 && вхідна_напруга> = 0,00) {digitalWrite (2, HIGH); затримка (30); digitalWrite (2, LOW); затримка (30); // коли напруга дорівнює нулю або низька, 1-й світлодіод покаже, блимаючи} else if (input_voltage <1.00 && input_voltage> = 0.50) {LED_function (2); } ще якщо (вхідна_напруга <1,50 && вхідна напруга> = 1,00) {LED_функція (3); } ще якщо (вхідна_напруга <2,00 && вхідна_напруга> = 1,50) {Світлодіодна функція (4); } ще якщо (вхідна_напруга <2,50 && вхідна_напруга> = 2,00) {LED_функція (5); } інакше якщо (вхідна_напруга <3,00 && вхідна_напруга> = 2,50) {Світлодіодна функція (6); } інакше якщо (вхідна_напруга <3,50 && вхідна_напруга> = 3,00) {Світлодіодна функція (7); } інакше якщо (вхідна_напруга <4,00 && вхідна_напруга> = 3,50) {Світлодіодна функція (8);} інакше якщо (вхідна_напруга <4,50 && вхідна_напруга> = 4,00) {Світлодіодна_функція (9); } інакше якщо (вхідна_напруга <5,00 && вхідна_напруга> = 4,50) {Світлодіодна функція (10); }}
Працює індикатор напруги акумулятора
Індикатор напруги акумулятора просто зчитує значення з аналогового виводу Arduino і перетворює його в цифрове значення за допомогою формули аналого-цифрового перетворення (АЦП). Arduino Uno АЦП є 10-бітовим дозволом (таким чином цілі значення від 0 - 2 ^ 10 = 1024 значень). Це означає, що він відобразить вхідні напруги від 0 до 5 вольт у цілі значення від 0 до 1023. Отже, якщо помножити вхідне значення anlogValue на (5/1024), то ми отримаємо цифрове значення вхідної напруги. Дізнайтеся тут, як використовувати вхід АЦП в Arduino. Потім цифрове значення використовується для відповідного освітлення світлодіодної гістограми.
Також перевірте цей простий монітор рівня заряду акумулятора без будь-якого мікроконтролера