Как измерить напряжение и ток с помощью Arduino. Какие компоненты нужны для создания вольтметра и амперметра на Arduino. Как правильно подключить датчики и настроить код для точных измерений. Какие существуют ограничения и особенности при измерении электрических параметров с помощью Arduino.
Основы измерения напряжения и тока с Arduino
Arduino позволяет легко измерять напряжение и ток в электрических цепях. Для этого используются аналоговые входы микроконтроллера и специальные датчики. Рассмотрим основные принципы и компоненты, необходимые для создания простого вольтметра и амперметра на базе Arduino.
Измерение напряжения
Для измерения напряжения используется делитель напряжения, подключенный к аналоговому входу Arduino. Схема делителя напряжения выглядит следующим образом:
- R1 — резистор большого номинала (например, 100 кОм)
- R2 — резистор малого номинала (например, 10 кОм)
- Измеряемое напряжение подается на вход делителя
- Выход делителя подключается к аналоговому входу Arduino
Напряжение на аналоговом входе будет пропорционально входному напряжению. Зная соотношение резисторов, можно рассчитать реальное напряжение.

Измерение тока
Для измерения тока используется шунтовой резистор, включенный в разрыв цепи. Падение напряжения на шунте пропорционально протекающему току. Это напряжение усиливается операционным усилителем и подается на аналоговый вход Arduino.
Типичная схема включает:
- Шунтовой резистор малого номинала (0.1-1 Ом)
- Операционный усилитель
- Делитель напряжения для задания опорного напряжения
Зная сопротивление шунта и коэффициент усиления, можно рассчитать реальный ток в цепи.
Компоненты для измерения электрических параметров с Arduino
Для создания вольтметра и амперметра на Arduino потребуются следующие компоненты:
- Arduino (например, Arduino Uno или Nano)
- Резисторы для делителя напряжения
- Шунтовой резистор для измерения тока
- Операционный усилитель (например, LM358)
- LCD дисплей для вывода показаний
- Соединительные провода
Также могут понадобиться дополнительные компоненты, такие как кнопки для управления, корпус, разъемы и т.д.
Подключение датчиков напряжения и тока к Arduino
Рассмотрим схемы подключения основных компонентов для измерения напряжения и тока.

Схема измерения напряжения:
- Подключите резистор R1 (100 кОм) к измеряемому напряжению
- Соедините R1 и R2 (10 кОм)
- Подключите точку соединения R1 и R2 к аналоговому входу Arduino A0
- Подключите второй вывод R2 к GND Arduino
Схема измерения тока:
- Включите шунтовой резистор (0.1 Ом) в разрыв измеряемой цепи
- Подключите выводы шунта к входам операционного усилителя
- Выход усилителя подайте на аналоговый вход Arduino A1
- Подключите питание и опорное напряжение к ОУ
Обязательно соблюдайте полярность подключения и не превышайте допустимые напряжения на входах Arduino.
Программирование Arduino для измерения напряжения и тока
Для измерения напряжения и тока с помощью Arduino необходимо написать специальный скетч. Основные этапы работы программы:
- Инициализация аналоговых входов и дисплея
- Считывание значений с аналоговых входов
- Преобразование цифровых значений в реальные величины напряжения и тока
- Вывод результатов на дисплей
Пример кода для измерения напряжения:

Калибровка и повышение точности измерений
Для получения точных результатов измерений необходимо провести калибровку устройства. Основные шаги калибровки:
- Измерьте точные значения используемых резисторов
- Используйте эталонный источник напряжения/тока для сравнения
- Внесите поправочные коэффициенты в код программы
- Проведите серию измерений и вычислите среднее значение
Для повышения точности также рекомендуется:

- Использовать стабилизированное питание Arduino
- Применять фильтрацию входных сигналов
- Использовать прецизионные компоненты
- Учитывать температурную зависимость
Ограничения и особенности измерений с Arduino
При использовании Arduino для измерения электрических параметров следует учитывать некоторые ограничения:
- Максимальное входное напряжение на аналоговых входах — 5В
- Разрешение АЦП Arduino — 10 бит (1024 уровня)
- Точность измерений зависит от качества компонентов
- Ограниченный диапазон измерений без дополнительных схем
Для расширения возможностей можно использовать:
- Внешние АЦП с большим разрешением
- Специализированные микросхемы измерения тока (например, INA219)
- Схемы защиты входов от перенапряжения
Практические примеры использования
Измерение напряжения и тока с помощью Arduino находит применение во многих проектах:
- Мониторинг батарей и аккумуляторов
- Измерение энергопотребления устройств
- Контроль зарядки солнечных панелей
- Диагностика автомобильных электросистем
- Образовательные проекты по электронике
Пример проекта — система мониторинга аккумулятора:


Заключение
Измерение напряжения и тока с помощью Arduino — это простой и доступный способ создания собственных измерительных приборов. При правильном подходе к выбору компонентов и калибровке можно добиться достаточно точных результатов для многих практических применений. Однако следует помнить об ограничениях и соблюдать меры предосторожности при работе с электрическими цепями.
Простые измерения в Proteus. Амперметр и Вольтметр.
Измерения силы тока и напряжения в программе Proteus с применением встроенных в Протеус приборов, амперметра, вольтметра и ваттметра. Симуляция потребления тока светодиодом, падение напряжения и измерение потребления мощности схемой.
Сегодня рассмотрим 3 простых прибора для измерения напряжения, силы тока и мощности на электрических схемах. И для этого не надо иметь у себя эти приборы, можно легко с эмулировать и проверить работу даже не собирая схему. Кто считает что уже это всё знает не спешите уходить, я думаю что вы узнаете здесь много нового. И всё это будет сделано на анимированной схеме, думаю вам понравится. Рассчитано для начинающих и детей, а может и взрослых детей. Сами решайте.
Это последняя схема в уроке и к ней мы будем идти постепенно от самых азов. На схеме установлен предохранитель на 20 миллиампер, потенциометр, несколько вольтметров, амперметр и ваттметр который покажет как будет меняться мощность потребления схемы в зависимости от яркости светодиода, которая сама зависит от сопротивления резистора. Если интересно то давайте вместе пройдём весь этот путь от выбора элементов до сборки схемы. Со всеми расчётами и другими параметрами.
Рад приветствовать на своём канале моих подписчиков и просто заглянувших посмотреть что же здесь такого. Надеюсь, что вы тоже подпишитесь на канал. Приятного просмотра.
Мой рассказ будет основан на измерениях напряжения и силы тока простого светодиода. В примере не будет микроконтроллера, только самый базовый набор.
Источник питания, батарея на 5 вольт, парочка резисторов, кнопка, светодиод и предохранитель. Измерения напряжения будут вестись на вольтметре, силу тока узнаем по амперметру, а потребляемую мощность по ваттметру. А ещё я на предохранителе покажу что будет если вы не подключите токоограничивающий резистор.
Создаём новый проект.
Заходим в библиотеку компонентов и начинаем добавлять всё по списку. Начнём с батареи. Можно было бы просто поставить источник питания как это делали в прошлых видео, но я подумал, что с батареей будет интереснее.
Следующие в списке резисторы. Для примеров нам понадобится 2 резистора. Постоянный и переменный. Начнём с переменного. Если вы хотите что бы на схеме происходила какая-нибудь анимация, если она вообще возможна, то надо выбирать деталь с указанием, что она Активная.
Постоянный резистор выберем любой нам для схемы это абсолютно всё равно. А вот если вы будете делать печатную плату, то тогда вам будет важен размер и мощность резистора.
Следующий пункт – это кнопка. Поставим именно нормальную кнопку, а не тактовую которую использовали в предыдущих схемах. Она сейчас более уместна.
Осталось совсем чуть-чуть. Надо выбрать светодиод. В Протеусе огромное количество разных светодиодов. Они отличаются и размером и мощностью и напряжением. Нам же сейчас нужен самый обыкновенный, такой который мы всегда используем в примерах. Я выбрал красный, сам не знаю почему.
Ну и последний в списке – предохранитель. В принципе он нам и не нужен совсем, но он отлично показывает что случается если к светодиоду не подключить резистор. Протеус конечно поймёт и простит, а вот в реальной жизни – это конец светодиоду.
Теперь соберём простую схему. Установим батарею и изменим её напряжение с 12 вольт на пять. Теперь поставим кнопку. Установим переменный резистор и соединим его по схеме реостат. Номинал резистора оставим без изменений – 1 ком.
Установим светодиод и соединим все элементы в схему.
Включим симуляцию. С одной стороны, вроде всё работает. И по всем правилам тоже правильно, ведь резистор же есть, но что то всё же не то. Выключатель включен, светодиод светится, выключен гаснет. Резистором можно управлять яркостью свечения. В крайнем левом положении он пропускает 0% тока, а в крайнем правом 100% и светодиод светится полной яркостью.
Давайте изменим схему. Но для любых изменений не забудьте выключить симуляцию, а иначе вы ничего не сможете изменить. Убираем из схемы светодиод и вместо него установим предохранитель. Прелесть Протеуса в том, что вы ничего в нём не сломаете, но с другой стороны это и минус. Например поставив так на реальной схеме, вы сразу лишитесь светодиода и потом будете долго недоумевать почему же так произошло, ведь в Протеусе всё работало. А ещё нам понадобится амперметр. Это прибор для измерения тока в цепи. Амперметр ставится в разрыв цепи.
Снова собираем и включаем схему. Оранжевым цветом показано направление движения тока от плюса. Так как на пути он не встретил никакого сопротивления, поэтому цвет не изменился и в любом месте до резистора там будет 5 вольт, то есть напряжение как и на батарее.
Голубым цветом показано направление от минуса батареи, так как здесь тоже нет никакого препятствия, предохранитель не в счёт, то цвет не изменён, и везде будет нулевое напряжение или земля.
Надо изменить значение измерения амперметра, так как по умолчанию он установлен для измерения Ампер. Меняем на миллиамперы.
Теперь надо изменить значение предохранителя. Так как он сейчас у нас заменяет светодиод, то установим ему максимальное значение 40 миллиампер. Это очень много, так как среднее значение нормально работающего светодиода 20 миллиампер, но так как мы сейчас испытываем максимальные значения при которых светодиод обязательно сгорит, поэтому я и поставил такой огромный ток. Сорок миллиампер это 0.04 ампера.
Включаем симуляцию. При таком напряжении и сопротивлении резистора у нас изначальное значение 5 миллиампер. Это можно проверить используя закон Ома. Так как предохранитель не обладает никаким сопротивлением, то его можно не учитывать. Получается 5 вольт делённое на 1000 Ом – это 1 килоом. То получается 5 миллиампер.
Передвигая ползунок резистора мы тем самым уменьшаем его сопротивление и увеличиваем силу тока проходящую по схеме. Чем ниже сопротивление, тем выше сила тока. В среднем положении резистора, его сопротивление будет 500 Ом, а сила тока должна быть 10 миллиампер.
Продолжая уменьшать сопротивление резистора сила тока растёт и когда сила тока превысит максимально значение на которое установлен предохранитель он сгорит. Это видно при превышении 40 миллиампер. Так почему же это произошло? А всё очень просто.
Когда ползунок резистора находится в крайнем левом положении – его сопротивление максимальное и равно 1 ком. С передвижением вправо сопротивление уменьшается, а в крайнем правом положении оно вообще равно нулю. Это равносильно тому, что у вас вообще не установлен резистор. Вот поэтому предохранитель сгорел, и светодиод тоже бы сгорел, хотя в Протеусе этого не произойдёт. Дальше я покажу как правильно использовать переменный резистор, что бы можно было бы изменять яркость светодиода и не бояться что он сгорит.
Немного подправим схему. Добавим ещё 1 резистор, но теперь постоянный, а не переменный. Это спасёт светодиод от превышении максимального тока если сопротивление на переменном резисторе будет равно нулю. Установим значение в 200 ом. Включим симуляцию и посмотрим какой ток теперь протекает по схеме. В среднем положении переменного резистора почти 7 миллиампер. В крайнем правом 25 миллиампер – это большое, но не максимальное значение для светодиода. Но тут есть одна оговорка, сейчас вместо светодиода у нас предохранитель и он не обладает сопротивлением и на нём нет падения напряжения. Так сказать идеальный вариант. Теперь удалим со схемы переменный резистор и посмотрим сколько сейчас потребляет схема. 25 миллиампер, точно так же как и с переменником в крайнем правом положении.
Снова вернём резистор и вместо предохранителя поставим светодиод. Включим симуляцию и увидим, что вместо 25 миллиампер как в прошлом примере у нас осталось всего-то почти 14 миллиампер. Это получилось из-за того, что на светодиоде существует падение напряжения. То есть для его работы ему нужно в среднем от 2 до 3 вольт, в зависимости от марки и цвета светодиода. Дальше я расскажу подробнее.
Уберём переменный резистор, он нам больше не понадобится. Пересоберём схему и проверим значения. Включая и выключая выключатель можно увидеть как загорается светодиод. При работе он сейчас потребляет 13.8 миллиампер. Этого вполне достаточно для работы.
С амперметров вроде разобрались. Основное что надо запомнить – это то что он включается в разрыв цепи, плюс и минус на приборе должен подключаться соответственно, и не забудьте правильно установить значения измерения – Амперы или миллиамперы.
Теперь установим вольтметр. Так как наша схема питается от постоянного напряжения то нам нужен вольтметр постоянного тока DC VOLTMETER, тоже касалось и амперметра. Выбираем и ставим на схему. Так же соблюдаем полярность, плюс к плюсу, минус к минусу. Вольтметр подключается параллельно источнику – это его отличие от амперметра. Он показывает напряжение в точке измерения относительно земли. Теперь уберём резистор и посмотрим что было бы без него. Как видите сила тока достигла 900 миллиампер и поднялась бы ещё больше. Она ограничена только источником питания. Светодиод может выдержать примерно 40 миллиампер, всё зависит от типа, марки и цвета. При включении светодиода он становится обычным проводником и пропускает через себя ток в любом количестве, пока не сгорит. Так что нет ничего удивительного что без резистора светодиоды сгорают.
Вернём резистор на место, а параллельно светодиоду установим ещё 1 вольтметр. Так мы сможем увидеть падение напряжение на светодиоде. Как я говорил – это напряжение необходимое светодиоду для работы. Эти значения надо смотреть в описании к вашим светодиодам, или просто приблизительно знать что оно разно-2-3 вольта. Моя симуляция показала, что для этого типа светодиодов падение напряжения равно 2.24 вольта.
Теперь попробуем поизменять значение резистора и посмотреть как будут меняться напряжение и сила тока. Сначала вместо 200 поставим 190 ом. Сила тока немного увеличилась. Это можно проверить используя закон Ома. Для этого надо из напряжения вычесть падение напряжения на светодиоде и разделить на сопротивление резистора. Вот так и получается 14.5 миллиампер.
Попробуем другое значение. Сделаем резистор 120 ом. Сила тока выросла до 22.8 миллиампер. В принципе это предельное значение выше которого допускать не следует если вы хотите чтобы ваш светодиод прослужил долго.
Снова вернём значение на 200 Ом. Думаю, что и с вольтметром теперь у вас проблем не должно быть. Теперь вы знаете как и почему изменяется сила тока на схеме и сможете сами влиять на это значение. А у нас остался сегодня последний прибор. Он называется ваттметр и он определяет какую мощность потребляет ваша схема при определённой выходной нагрузке.
Забыл что я хотел поставить ещё один вольтметр, для определения оставшегося напряжения после падения на светодиоде, и именно это напряжение мы используем для расчёта резистора.
Ну а теперь ваттметр.
Ваттметр — это измерительный прибор, предназначенный для определения мощности электрического тока или электромагнитного сигнала. Подключается он как и амперметр в разрыв цепи. Но у него большее число контактов. Плюс и минус подключаем соответственно к линиям питания. Верхний входной контакт соединяем с плюсом, а нижний соединяем с нагрузкой.
Сделаем замер. При питании 5 вольт и силе тока 13.8 миллиампер наша схема потребляет 69 милливатт.
Попробуем другое значение. Для этого увеличим номинал резистора до 560 ом. Так как сопротивление стало больше, то сила тока должна упасть и соответственно потребляемая мощность тоже должна снизиться. Кстати так вы можете подбирать минимально допустимые значения при питании схем от батареек. Чем ниже потребляемая мощность, тем на дольше хватит батареек.
Надеюсь, что понятно всё объяснил. Протеус очень хорошая программа в которой можно делать различные проекты, производить технические расчёты, делать платы, моделировать различные внештатные ситуации.
Если вам понравилось, то не стесняйтесь, пишите. Это как ничто другое, ну кроме денег конечно, не стимулирует к продолжению ведения канала и поиску новых ещё более интересных программ.
Спасибо и до встречи.
Цифровой датчик тока и напряжения INA219
Характеристики INA219
- Напряжение питания: от 3.0 до 5.5 В;
- Разрядность АЦП: 12 бит;
- Выходной интерфейс: I2C;
- Скорость интерфейса: 3.4 МГц;
- Диапазон измеряемых напряжений: от 0 до 26 В;
- Максимальный измеряемый ток: от -3.2 A до 3.2 A;
- Дискретность при измерении тока: 0.8 мА;
- Точность измерений по току и напряжению: 1 %;
- Диапазон рабочих температур: от -40 до +125 °C;
- Дрейв в рабочем температурном диапазоне: 100 мкВ;
- Калибровка: калибровочный регистр;
- Внутренние данные: измеренный ток и мощность;
- Фильтрация: х128 отсчетов.
Модуль GY-219 на базе INA219
Модуль GY-219 — это законченный модуль, который можно подключать к различным устройствам, не только к платформе Arduino, но и к Raspberry Pi, Orange PI, Banana Pi и др. . Основным элементом на плате является микросхема INA219. Несмотря на маленький размер и малое количество выводов, INA219 обладает большими возможностями. Микросхема измеряет падение напряжения на шунте (резисторе с малым сопротивлением на выводах Vin+ и Vin-). На плате установлен шунт с сопротивлением 0.1 Ом.
Принципиальная схема GY-219/INA219
Модуль имеет минимальный набор компонентов для правильной работы датчика INA219.
Распиновка
Плата имеет 6+2 вывода, 2 из 6 дублируют Vin+ и Vin-.
Вывод | Описание |
---|---|
Vcc | Питание модуля от 3.0 до 5.5 В |
Gnd | Земля |
Scl | Линия тактирования (Serial CLock) |
Sda | Линия данных (Serial Data) |
Выход напряжения от источника питания через шунт. Напряжение измеряется от этого вывода относительно земли | |
Vin+ | Вход напряжения от источника питания |
A0 | Выбор I2C адреса |
A1 | Выбор I2C адреса |
Система установки I2C адреса на INA219
Если используется более одной платы INA219, каждой плате должен быть присвоен уникальный адрес. Это делается с помощью адресных перемычек на правом краю платы. Базовый адрес I2C для каждой платы равен 0x40. Бинарный адрес, который вы программируете с помощью перемычек адресов, добавляется к базовому адресу I2C.
A1 | A0 | Адрес (bin) | Адрес (hex) |
---|---|---|---|
GND | GND | 1000000 | 0x40 |
GND | VS+ | 1000001 | 0x41 |
GND | SDA | 1000010 | 0x42 |
GND | SCL | 1000011 | 0x43 |
VS+ | GND | 1000100 | 0x44 |
VS+ | VS+ | 1000101 | 0x45 |
VS+ | SDA | 1000110 | 0x46 |
VS+ | SCL | 1000111 | 0x47 |
SDA | GND | 1001000 | 0x48 |
SDA | VS+ | 1001001 | 0x49 |
SDA | SDA | 1001010 | 0x4A |
SDA | SCL | 1001011 | 0x4B |
SCL | GND | 1001100 | 0x4C |
SCL | VS+ | 1001101 | 0x4D |
SCL | SDA | 1001110 | 0x4E |
SCL | SCL | 1001111 | 0x4F |
Для изменения адреса шины I2C платы микросхемы INA219 нужно запаять/отпаять перемычки на A0 и A1. Определить текущий адрес можно с помощью I2cScanner от Arduino.
Описание регистров INA219
INA219 использует 5 регистров для хранения настроек конфигураций, результатов измерений, максимальных/минимальных пределов и информации о состоянии. В таблице ниже представлены регистры INA219.
Содержимое регистра обновляется 4 мкс после завершения команды записи. Следовательно, требуется задержка в 4 мкс между завершением записи в заданный регистр и последующим считыванием этого регистра (без изменения указателя) при использовании частот SCL, превышающих 1 МГц.
АДРЕС | ИМЯ РЕГИСТРА | ФУНКЦИЯ | СБРОС | ТИП |
---|---|---|---|---|
HEX | HEX | |||
0x00 | Конфигурации | Сброс всех регистров, настройка диапазона напряжения шины, усиление PGA, разрешение / усреднение АЦП. | 0x399F | R/W |
0x01 | Напряжение шунта | Данные измерения напряжения шунта.![]() |
— | R |
0x02 | Напряжение шины | Данные измерения напряжения шины. | — | R |
0x03 | Мощность | Данные измерения мощности. | 0x0000 | R |
0x04 | Ток | Содержит значение тока, протекающего через шунтирующий резистор. | 0x0000 | R |
0x05 | Калибровка | Калибровочный регистр. Полная калибровка системы. | 0x0000 | R/W |
Рекомендуемые товары
Датчик тока и напряжения на INA219
Цифровой датчик тока и напряжения GY-219 предназначен для измерения таких параметров постоянног..
1 400 ₸
Основы Arduino: считывание напряжения
Первоначально опубликовано 31 марта 2020 г.
Эта статья была переведена на английский язык и первоначально опубликована для deviceplus.jp.
Содержание
- Введение
- Преобразование аналоговых значений в цифровые значения
- Аналоговый вход с Arduino
- Отрегулируйте напряжение с помощью Volume
- Аналоговый вход с громкостью
- Заключение
- Статьи по теме
С цифровым входом 5В можно считать ВЫСОКИМ, а 0В — НИЗКИМ. Вы можете определить, включен ли переключатель, исходя из того, в каком состоянии он находится. Однако электричество бывает не только 5 В и 0 В, но и различные напряжения. Например, одна батарейка АА на 1,5В, а бытовая розетка на 100В.
Arduino поддерживает аналоговые входы для считывания этих различных напряжений. Аналоговые входы позволяют считывать постепенно изменяющееся состояние электронных компонентов. Например, вы можете использовать громкость для регулировки яркости или громкости или датчик температуры для получения текущей температуры.
Эта статья является последней в серии. Мы объясним аналоговый ввод с помощью громкости.
Преобразование аналоговых значений в цифровые значенияФактическое напряжение — это не точное значение, такое как 1 В или 5 В, а иррациональное число, в котором числовые значения всегда продолжаются после десятичной точки, например 5,01342…В. Эти значения не могут быть напрямую обработаны компьютером. Таким образом, в электронных схемах аналоговые значения преобразуются в цифровые значения с помощью механизма, называемого АЦП, так что это значение может обрабатываться компьютером. Arduino также по умолчанию имеет аналого-цифровой преобразователь, который может считывать аналоговые напряжения и преобразовывать их в цифровые значения.
АЦП делит целевое напряжение на несколько равных частей. Для Arduino Uno напряжения можно считывать в диапазоне 0-5В. Эти значения 0-5В разделены на 1023 равные части. АЦП преобразует показания аналогового напряжения в ближайшее равное значение. Например, если напряжение равно 3 В, ближайшим значением будет «614». Это значение можно отправить в Arduino для использования.
Целочисленные значения до 1023 используются для обработки программы. Однако входное значение не является значением напряжения. Если вы хотите узнать значение напряжения, вы можете рассчитать его следующим образом:
Например, если значение от AD-преобразователя равно «614», вы можете получить около 3 В, разделив на 1023 и затем умножив на 5.
Аналоговый ввод с Arduino шесть контактов для цифрового входа, от A0 до A5. Подключив сюда электронные компоненты для входа, можно прочитать, какое напряжение приложено. Однако контакты A4 и A5 также используются для цифровой связи, называемой I2C. Обратите внимание, что эти контакты нельзя использовать для аналогового ввода при подключении электронных компонентов, таких как датчики или дисплеи, которые используют цифровую связь I2C. Регулировка напряжения с помощью громкости «Громкость» — это электронная часть, которую можно использовать для регулировки громкости звука или яркости освещения. Объем содержит клеммы, перемещающиеся по резистивному элементу. Сопротивление можно изменить, перемещая эти клеммы.
Том обычно имеет три терминала. Левая и правая клеммы присоединены к обоим концам резистора. Центральная клемма предназначена для перемещения по резистивному элементу. Если вы переместите центральную клемму вправо, сопротивление между левой и центральной клеммами увеличится. И наоборот, если вы переместите его влево, сопротивление уменьшится.
На рисунке выше элемент сопротивления линейный, а во вращающемся объеме внутренний элемент сопротивления круглый. Хотя формы разные, они в основном работают одинаково.
Аналоговый вход Arduino использует изменение напряжения для входа. Однако, поскольку сопротивление изменяется в объеме, невозможно прочитать изменение громкости, подключив его напрямую к Arduino. Следовательно, изменение сопротивления должно быть преобразовано в изменение напряжения. Подключите источник питания и GND к левой и правой клеммам резистора. Напряжение на центральной клемме изменяется в зависимости от положения клеммы. Предположим, что левая клемма подключена к GND, а правая клемма подключена к источнику питания (5В). Напряжение увеличивается, когда центральный вывод перемещается вправо, и уменьшается, когда вывод перемещается влево. Левый конец равен 0 В, а правый конец — 5 В, поэтому значение можно изменить в диапазоне от 0 до 5 В.
Если этот центральный терминал подключен к аналоговому входу Arduino, вход можно изменить, перемещая громкость.
Аналоговый ввод с громкостью Теперь попробуем аналоговый ввод с громкостью. Подготовьте следующие электронные компоненты.
Блок громкости
Блок громкости содержит значение сопротивления диапазона, которое можно изменить. Хорошо использовать громкость 10 кОм для входа Arduino. Объем будет легче перемещать, если к оси вращения объема будет прикреплена ручка.
Перемычка с зажимом «крокодил»
Полезно для присоединения тома. Зажмите клеммы громкости разъемами в форме зажимов. Связанный продукт доступен в виде набора из двух красных и двух черных линий.
Подготовив компоненты, соедините их, как показано на рисунке ниже. Поскольку модуль громкости нельзя подключить к макетной плате, используйте перемычку типа «крокодил», чтобы подключить его напрямую к Arduino. Убедитесь, что металлическая часть зажима типа «крокодил» не касается соседней части зажима.
Напишите следующую программу:
Чтобы проверить состояние подключения аналогового входа, укажите целевой контакт в «analogRead()» (строка 11). Затем введите напряжение вывода со значением от 0 до 1023. Если вы хотите узнать напряжение, оно рассчитывается и преобразуется в напряжение, как в строке 13.
Запишите программу в Arduino и отобразите последовательный монитор.
Значение, оцифрованное АЦП, отображается после «Value:», а значение, рассчитанное и преобразованное в напряжение, отображается после «Volt:». Вы можете видеть, что значение изменяется по мере вращения тома.
В этой серии мы представили использование, лежащее в основе Arduino. Попробуйте работать с различными электронными компонентами и создавать программы на основе содержания, описанного в этой серии. Большое спасибо, что досмотрели этот полугодовой сериал до конца!
Изучите оставшуюся часть этой серии, чтобы узнать об основах Arduino:
- Основы Arduino: настройка яркости светодиодов
- Основы Arduino: управление двигателем
- Основы Arduino: чтение состояний переключателей
- Основы Arduino: управление светодиодным освещением с цифровым выходом
- Основы Arduino: подготовка Arduino
Загляните к нам в социальные сети
Измерение напряжения с помощью Arduino — измерение напряжения до 25 В и более 5 В
В этом уроке мы научимся измерять напряжение с помощью Arduino. Используя Arduino и этот датчик измерения напряжения, мы можем измерять напряжение до 25 В.
Мы также отображаем показания напряжения на ЖК-дисплее 16×2. В этой статье мы измеряем внешнее напряжение с помощью Arduino. Вы также можете назвать его цифровым вольтметром.
Для измерения напряжения мы используем аналоговый пин Arduino.
Содержание
Необходимые компоненты
- Arduino.
- Аккумулятор (до 25В).
- Резисторы.
- ЖК-дисплей 16×2.
- Провода-перемычки.
Цепь датчика напряжения
Ниже представлена схема датчика напряжения.
Примечание. Если вы измеряете напряжение 25 В, используйте R1 = 35 кОм и R2 = 7,5 кОм. Это сохранит ваш аналоговый вывод Arduino.
Взаимодействие датчика напряжения с Arduino
Измерить напряжение очень просто и понятно. Следуйте приведенной ниже схеме и убедитесь, что вы используете правильные резисторы.
Принципиальная схема для измерения напряжения с помощью Arduino
Код для измерения напряжения с помощью Arduino
Загрузите приведенный ниже код и откройте последовательный монитор, чтобы просмотреть показания напряжения.
Этот скетч основан на том факте, что значение AnalogRead является отношением измеренного напряжения к опорному. Но поскольку измеренное напряжение делится на два гасящих резистора, значение AnalogRead необходимо умножить, чтобы получить фактическое напряжение.
Отображение показаний напряжения на ЖК-дисплее 16×2
Теперь мы будем отображать показания напряжения на ЖК-дисплее. Итак, для этого нам нужно подключить ЖК-дисплей к Arduino. Следуйте приведенной ниже схеме.
Обязательно прочтите:
Принципиальная схема датчика напряжения и ЖК-дисплея 16×2
Код датчика напряжения и ЖК-дисплея
Реакция на изменение напряжения
Отслеживание одного или нескольких напряжений и принятие мер при повышении напряжения или падает ниже порога.
Например, для мигания светодиода, указывающего на низкий уровень заряда батареи, возможно, чтобы начать мигать, когда напряжение падает ниже порога предупреждения, и увеличивать срочность по мере дальнейшего падения напряжения.
В этом примере светодиод начинает мигать при напряжении 1,2 В и увеличивается время включения-выключения по мере того, как напряжение падает ниже порогового значения. Если напряжение падает ниже второго порогового значения, светодиод продолжает гореть:
Код реакции на изменение напряжения
Строка if (val < (warningThreshold * 1023L)/5000) в этом скетче вычисляет отношение считанного значения от аналогового порта до значения порогового напряжения.
Например, при пороге предупреждения 1 вольт и опорном напряжении 5 вольт необходимо знать, когда аналоговое показание составляет одну пятую от опорного напряжения.
Выражение 1023L сообщает компилятору, что это длинное целое число, поэтому компилятор преобразует все переменные в этом выражении в длинное целое, чтобы предотвратить переполнение емкости int (обычное 16-битное целое число).
При считывании аналоговых значений вы можете работать с единицами измерения, возвращаемыми функцией AnalogRead, в диапазоне от 0 до 1023, или вы можете работать с фактическими напряжениями, которые они представляют.