Завдяки простому знанню схеми Arduino та ділителя напруги ми можемо перетворити Arduino на цифровий вольтметр і може вимірювати вхідну напругу за допомогою Arduino та РК-дисплея 16x2.
Arduino має кілька аналогових вхідних контактів, які підключаються до аналого-цифрового перетворювача (АЦП) всередині Arduino. Arduino ADC - це десятирозрядний перетворювач, що означає, що вихідне значення буде коливатися від 0 до 1023. Ми отримаємо це значення за допомогою функції analogRead () . Якщо ви знаєте еталонну напругу, ви можете легко розрахувати напругу, присутню на аналоговому вході. Ми можемо використовувати схему дільника напруги для розрахунку вхідної напруги. Дізнайтеся більше про АЦП в Arduino тут.
Виміряна напруга відображається на рідкокристалічному дисплеї (РК) 16x2. Ми також відобразили напругу в послідовному моніторі Arduino IDE і підтвердили виміряну напругу за допомогою мультиметра.
Необхідне обладнання:
- Arduino uno
- РК-дисплей 16x2 (рідкокристалічний дисплей)
- 100 кОм резистор
- Резистор 10 кОм
- Потенціометр 10 кОм
- макет
- дроти перемичок
Схема дільника напруги:
Перш ніж входити в цю схему вольтметра Arduino, давайте обговоримо схему дільника напруги.
Дільник напруги є резистивним контуром і показаний на малюнку. У цій резистивній мережі ми маємо два резистори. Як показано на малюнку, R1 та R2, які мають 10k та 100k Ом. Серединна точка гілки приймається для вимірювання як аналоговий вхід в Arduino. Падіння напруги на R2 називається Vout, це розділена напруга нашої схеми.
Формули:
Використовуючи відоме значення (два значення резистора R1, R2 та вхідну напругу), ми можемо замінити у рівнянні нижче для розрахунку вихідної напруги.
Vout = Vin (R2 / R1 + R2)
Це рівняння говорить, що вихідна напруга прямо пропорційна вхідній напрузі та відношенню R1 і R2.
Застосовуючи це рівняння в коді Arduino, можна легко отримати вхідну напругу. Arduino може вимірювати лише вхідну напругу постійного струму + 55 в. Іншими словами, при вимірюванні 55 В аналоговий штифт Arduino буде мати максимальну напругу 5 В, тому безпечно вимірювати в межах цієї межі. Тут значення резисторів R2 і R1 встановлено на 100000 і 10000, тобто у співвідношенні 100: 10.
Схема та з'єднання:
Підключення цього цифрового вольтметра Arduino просте і показано на схемі нижче:
Пін DB4, DB5, DB6, DB7, RS та EN РК-дисплея безпосередньо підключені до контактів D4, D5, D6, D7, D8, D9 Arduino Uno
Центральна точка двох резисторів R1 і R2, яка утворює ланцюг дільника напруги, підключена до Arduino Pin A0. У той час як інші 2 кінця підключені до вхідного вольта (напруги, що вимірюється) і gnd.
Пояснення до кодування:
Повний код Arduino для вимірювання постійної напруги наведено в частині коду нижче. Код простий і легко зрозумілий.
Основною частиною коду є перетворення та відображення заданої вхідної напруги у відображувану вихідну напругу за допомогою наведеного вище рівняння Vout = Vin (R2 / R1 + R2). Як вже згадувалося раніше, вихідне значення Arduino ADC буде коливатися від 0 до 1023, а максимальна вихідна напруга Arduino становить 5 В, тому нам потрібно помножити аналоговий вхід на A0 до 5/1024, щоб отримати реальну напругу.
void loop () {int analogvalue = analogRead (A0); temp = (analogvalue * 5.0) / 1024.0; // ФОРМУЛА, ЩО ВИКОРИСТОВУВАЛА НАПРУГУ input_volt = temp / (r2 / (r1 + r2));
Тут ми показали виміряне значення напруги на РК-дисплеї та послідовному моніторі Arduino. Отже, тут у коді Serial.println використовується для друку значень на послідовному моніторі, а lcd.print - для друку значень на РК-дисплеї 16x2.
Serial.print ("v ="); // друкує значення напруги в послідовному моніторі Serial.println (input_volt); lcd.setCursor (0, 1); lcd.print ("Напруга ="); // друкує значення напруги на РК-дисплеї lcd.print (input_voltage);
Ось як ми можемо легко розрахувати постійну напругу за допомогою Arduino. Перегляньте відео для демонстрації нижче. Трохи складно розрахувати змінну напругу за допомогою Arduino, ви можете перевірити те саме тут.