Сделал блок, выбора Источника Опорного Напряжения (ИОН).
Сейчас в FLProg, нельзя выбирать внутренний ИОН.
Получилось два блока:
Один для плат на базе Atmega8/168/328 ( UNO, Mini, Micro, Nano):
0 – опорное напряжение по умолчанию, равное 5 В (на 5В-платах Ардуино) или 3.3 В (на 3.3В-платах Ардуино)
1 – в качестве опорного напряжения будет использоваться напряжение, приложенное к выводу AREF (от 0 до 5В)
2 – внутренне опорное напряжение, равное 1.1 В в микроконтроллерах ATmega168 и ATmega328, или 2.56 В в микроконтроллере ATmega8
Второй для MEGA:
0 – опорное напряжение по умолчанию, равное 5 В
1 – в качестве опорного напряжения будет использоваться напряжение, приложенное к выводу AREF (от 0 до 5В)
2 – внутреннее опорное напряжение 1.1 В
3 – внутреннее опорное напряжение 2.56 В
При использовании внешнего источника опорного напряжения, напряжение на выводе AREF должно быть строго в пределах от 0 до 5 В!
Для Arduino IDE :При этом перед вызовом функции analogRead() нужно обязательно установить тип источника как EXTERNAL.
Для FLProg: Перед физическим подключение внешнего ИОН к входу AREF, необходимо вставить блок выставить вариант вход AREF, залить программу в контроллер.
В противном случае, возможно короткое замыкание внутреннего источника опорного напряжения с выводом AREF, что может привести к повреждению микроконтроллера на вашей плате Ардуино.
Подобную ситуацию также можно предотвратить, если внешний источник опорного напряжения соединять с выводом AREF через резистор номиналом 5 кОм. Такое соединение даст возможность переключаться между внутренним и внешним опорным напряжением. Однако, при этом следует иметь ввиду, что резистор изменит величину опорного напряжения, поскольку вывод AREF соединяется с внутренним резистором номиналом 32 КОм. Два резистора образуют делитель напряжения, таким образом, например, 2.5В, приложенные через резистор, в итоге дадут 2.5 * 32 / (32 + 5) = ~2,2 В на выводе AREF.