Внешнее питание Arduino при считывании напряжения с него через USB
У меня есть Arduino UNO R3, где я установил вывод 13 на “ВЫСОКИЙ” (как показано здесь), и я подключил светодиод к выводу 13 и GND, который ярко светится, используя USB, подключенный к моему MacBook Air, обеспечивающий (я думаю) 5V.
Теперь я питаю Arduino извне, используя батарею 3 В (1,5 + 1,5) и подключение 5 В / GND. Зеленый индикатор мигает, показывая, что Arduino включен, и лампочка горит, так как это та же схема.
Теперь я хочу подключить USB к Arduino и в основном считывать напряжение светодиода через контакт 13 и подключение GND. Конечно, я мог бы сделать это, просто подключив мультиметр, но это не проблема, поскольку это не является истинной целью проекта (о чем я могу заявить, если потребуется, но это сложнее и не слишком отличается). Но когда я подключаю USB, светодиод светится ярче, а напряжение на нем составляет около 3,5 В (выше, чем питает аккумулятор). Я хочу, чтобы компьютер считывал напряжение батареи и не снабжал arduino собственным питанием. Как мне это сделать (примечание: мне разрешено прерывать определенные схемы на Arduino, но я бы предпочел сделать это в крайнем случае)?
В принципе, как мне считывать показания напряжения на компьютере с arduino без питания arduino, т.Е. Как мне преобразовать USB-порт и мой компьютер в мультиметр с помощью arduino?
(Я очень новичок в экспериментах с этим, поэтому, возможно, допустил сокрушительные ошибки. Любая помощь приветствуется)
@user220704, 👍-1
Обсуждение1 ответ
Вывод 13 - это цифровой вывод, он не имеет возможности считывать напряжение. Вам нужно использовать один из аналоговых выводов для считывания напряжения, они имеют префикс с буквой "A" (например, A0). Вы также должны отметить, что аналоговым эталоном (максимальной точкой отсчета напряжения для A / D) является источник питания Arduino + 5 вольт, поэтому, если это изменится, то и показания изменятся. Вы получите 0 при нулевом вводе и 1023, когда напряжение соответствует опорному напряжению. Примечание. это напряжение не может превышать VCC более чем на очень малую величину (0,6 В), иначе вы повредите Arduino. USB подает около 4,5 вольт, в зависимости от схемы защиты. Если вы включите его через Vin с соответствующим напряжением, номинально он будет иметь напряжение 5 вольт и, конечно же, постоянно меняющееся напряжение батареи. Все это изменяет ваше опорное напряжение, изменяя ваше измерение напряжения. Лучшее решение - запитать его извне, а затем подключить аккумулятор - к заземлению, а аккумулятор + - к одному из входов A / D. С небольшой математикой в вашем коде у вас будет вольтметр. В сети есть много прекрасных примеров в комплекте с кодом для Arduino.
- Команда strtok() с Serial связью
- Как изменить переменную при нажатии кнопки, подключенной к контакту 2
- Как программно обнаружить последовательный порт Arduino на разных платформах?
- Java NetBeans отправляет значение и получает значение от Arduino
- Почему нужно использовать latin-1 вместо utf-8 при использовании python с arduino?
- Акцептант векселей ИКТ
- Использование последовательной связи в .c-файлах
- Соединение I2C с модулем камеры MT9D111, странные результаты после записи регистров через i2C
почему вы хотите это сделать? ... вы можете измерить напряжение батареи, не используя батарею для питания arduino ... в противном случае используйте внешний USB-последовательный адаптер, @jsotola
При подаче питания на Uno с напряжением 3 В на его входе 5 В, затем его мощность недостаточна. Он может работать (поскольку установленный на нем микроконтроллер технически способен работать при напряжении 3 В), но он может быть нестабильным, особенно когда напряжение ваших батарей падает во время их разрядки. И: Пожалуйста, объясните, что вы хотите узнать из напряжения на выводе светодиода? Это в основном определяется прямым напряжением светодиодов и значениями резисторов по отношению к текущему напряжению питания. И вы добавляете еще один светодиод к этому контакту? Поскольку вывод 13 уже подключен к светодиоду, вам также необходимо будет принять это во внимание., @chrisl