Аналоговое опорное напряжение и напряжение питания
На веб-сайте Arduino указано, что аналоговые контакты считывают напряжение от 0 до 5 вольт (по умолчанию) и возвращают значение от 0 до 1023. Также можно установить диапазон с помощью AnalogReference(). Однако это, вероятно, предполагает, что Arduino работает на 5 вольт. Если на плату подается, скажем, 4 вольта, будет ли аналоговое опорное напряжение по-прежнему равным 5 вольтам по умолчанию или изменится на входное напряжение 4 вольта?
@, 👍7
Обсуждение2 ответа
Лучший ответ:
Ваши подозрения верны. Вызов analogReference()
со значением DEFAULT
устанавливает ссылку АЦП на напряжение на AVCC, которое, по крайней мере, на Uno R3 связано напрямую к VCC и, следовательно, имеет то же напряжение, что и все, что вы туда подаете.
Есть опубликованный код, который показывает, как считывать внутреннее напряжение, я использую его для корректировки показаний аналого-цифрового преобразователя. Это не идеально, но близко. Конечно, вы можете выбрать более низкое опорное напряжение, изменив соответствующие регистры и используя другое опорное напряжение. Это намного безопаснее, чем предоставление внешней ссылки.
- Отправка значения с одного Arduino на другой
- Использование аналогового входа для чтения кнопки
- Как работать с аналоговыми контактами в цикле?
- Arduino непрерывно считывает значение АЦП с помощью прерывания
- Распиновка аналога Arduino Pro Micro
- analogRead всегда 1023 на Arduino Due
- Чтение частоты ввода в цифровых выводах
- ошибка: 'analogRead' was not declared in this scope
Показание 1023 будет означать 4 В, если плата питается от 4 В. 1023 означает напряжение питания, которое не обязательно равно 5В., @Gerben