Модуль датчика напряжения (вольтметр) для измерения напряжения в диапазоне 0 – 25 В. На плате реализован резистивный делитель напряжения с коэффициентом 1:5, то есть на входе модуля напряжение может изменяться от 0 до 25 В, а на выходе оно будет пропорционально распределено по отрезку от 0 до 5 В.
Модуль с одной стороны снабжён винтовыми клеммниками для подключения к измеряемому участку цепи. С другой стороны три вывода. Сигнальный вывод подключается к аналоговому выводу платы, минус к земле, а плюс не задействован.
Назначение контактов:
- VCC и GND – выводы измеряемого источника напряжения (0 – 25 В);
- S – аналоговый вывод, подключенный к аналоговому выводу микроконтроллера;
- + – не подключен;
- — – контакт заземления, подключенный к GND микроконтроллера.
Схема
Пример
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
#define analog_pin A0 // Вывод, к которому подключен датчик float adc_voltage = 0.0; // Создаем переменную adc_voltage float in_voltage = 0.0; // Создаем переменную in_voltage float R1 = 30000.0; // Задаем номинал резистора R1 float R2 = 7500.0; // Задаем номинал резистора R2 float ref_voltage = 5.0; // Задаем опорное напряжение int adc_value = 0; // Создаем переменную для хранения показаний void setup() { Serial.begin(9600); // Открываем последовательную связь на скорости 9600 Serial.println("DC Voltage Test"); // Отправляем текст } void loop() { adc_value = analogRead(analog_pin); // Считываем показания с аналогово вывода adc_voltage = (adc_value * ref_voltage) / 1024.0; // Определение на входе АЦП in_voltage = adc_voltage / (R2 / (R1 + R2)) ; // Расчет напряжения Serial.print("Input Voltage = "); // Отправка текста Serial.println(in_voltage, 2); // Отправка показаний, в сотых delay(500); // Пауза 0,5 секунды. } |