Как сделать вольтметр на 5 вольт с помощью Arduino, когда под рукой только микроконтроллер, а в магазин бежать далеко?
Бывают моменты, когда вы хотите проверить напряжение или какую-то точку в цепи, но у вас нет вольтметра или мультиметра под рукой? Бежать покупать? Это долго и дорого. Прежде чем вы это сделаете, как насчет того, чтобы создать вольтметр самому? На самом деле с помощью простых компонентов вы можете сделать его сами.
Шаг 1. Готовим компоненты
Для создания Ардуино вольтметра нам понадобится ряд комплектующих:
- SunFounder Uno / Mars (плата совместимая с Ардуино )
- USB-кабель для передачи данных
- 2 потенциометра (50k)
- LCD 1602
- Макетная плата
- Несколько перемычек
Шаг 2. Соединяем LCD1602 и SunFounder Uno
Перед подключением, давайте сначала разберем как это работает:
- используйте плату SunFounder Uno для основной части обработки данных вольтметра,
- LCD1602 в качестве экрана,
- потенциометр 1 для регулировки контрастности ЖК-дисплея,
- потенциометр 2 для разделения напряжения.
Когда вы вращаете потенциометр, подключенный к плате Uno, резистор потенциометра изменяется, тем самым изменяя напряжение на нем. Сигнал напряжения будет отправлен на плату Uno через контакт A0, а Uno преобразует полученный аналоговый сигнал в цифровую форму и записывает на ЖК-дисплей. Таким образом, вы можете увидеть значение напряжения при текущем сопротивлении емкости.
LCD1602 имеет два режима работы:
- 4-битный,
- 8-битный.
Когда IO MCU недостаточны, вы можете выбрать 4-битный режим, при котором используются только контакты D4 ~ D7.
Шаг 3. Подключение
Следуйте таблице выше, чтобы подключить всё.
Шаг 4. Подключаем потенциометр к LCD1602
Подключите средний контакт потенциометра к контакту Vo на LCD1602, а любой из остальных контактов - к GND.
Шаг 5. Подключаем другой потенциометр к Uno A0
Подсоедините средний контакт потенциометра к контакту A0 от SunFounder Uno, а один из остальных - к 5V, когда другой - к GND.
Шаг 6. Загружаем код
Код программы вы можете скопировать ниже:
#include <LiquidCrystal.h> /****************************************************/ const int analogIn = A0;//potentiometer attach to A0 LiquidCrystal lcd(4, 6, 10, 11, 12, 13);//lcd(RS,E,D4,D5,D6.D7) float val = 0;// define the variable as value=0 /****************************************************/ void setup() { Serial.begin(9600);//Initialize the serial lcd.begin(16, 2);// set the position of the characters on the LCD as Line 2, Column 16 lcd.print("Voltage Value:");//print "Voltage Value:" } /****************************************************/ void loop() { val = analogRead(A0); // Read the value of the potentiometer to val val = val/1024*5.0; // Convert the data to the corresponding voltage value in a math way Serial.print(val); //Print the number of val on the serial monitor Serial.print("V"); // print the unit as V, short for voltage on the serial monitor lcd.setCursor(6,1); //Place the cursor at Line 1, Column 6. From here the characters are to be displayed lcd.print(val);//Print the number of val on the LCD lcd.print("V");//Then print the unit as V, short for voltage on the LCD delay(200); //Wait for 200ms }
Шаг 7. Проверяем напряжение на LCD1602
Вращайте потенциометр, чтобы проверить напряжение на LCD1602 в режиме реального времени.
Вот хитрая штука. После того, как я запустил код, на ЖК-дисплее отобразились символы. Затем я отрегулировал контрастность экрана (постепенное изменение от черного до белого), вращая потенциометр по часовой стрелке или против часовой стрелки, пока экран не отобразил символы четко.
Шаг 8. Измеряем напряжение аккумулятора
Возьмите две батареи, чтобы измерить их напряжение: 1,5 В и 3,7 В. Отцепите соединение второго потенциометра с контактом A0 и GND, что означает удаление потенциометра из цепи. Зажмите конец провода A0 до анода батареи и цепь GND на катод. НЕ подключайте их обратно, иначе получите короткое замыкание на батарее. Значение 0V - это обратное соединение.
Итак, напряжение аккумулятора отображается на ЖК-дисплее. Может быть некоторая погрешность между значением и номинальным, поскольку батарея не полностью заряжена. И именно поэтому мне нужно измерить напряжение, чтобы понять могу я использовать аккумулятор или нет.
19 мая 2021 в 09:47
Код не робит в тинкеркаде. что кого?
подключение может что то не так?