Ещё можно помножить на -1
"Обработано фильтрами" - значит сигнал переменный? Какой диапазон частот? Переменку можно и через конденсатор подать на резистивный делитель.
"От 20 мВ до 3В" - надо по амплитуде считать или по количеству импульсов? Если просто по количеству, то усилитель-ограничитель спасёт гиганта мысли (сделает импульсы прямоугольными).
Если не хватает скорости оригинальной ардуинки, то китайский аналог LGT8F328P заметно шустрее.
Выводить можно и не в монитор порта, а через шим на один из шимных выводов и после RC-фильтра смотреть осциллографом (сначала увеличить частоту шим).
Переменная называется 3bIPK ? (английская раскладка)
Спойлер
// Назначаем вывод PWM
#define pwm_pin 9
int 3bIPK = 127;
void setup() {
// настраиваем таймер1 (для пинов 9 и 10)
TCCR1A = 0b00000001; // 8bit
TCCR1B = 0b00001001; // x1 fast pwm - 62.5 кГц
}
void loop() {
//
// получаем значение 3bIPK с АЦП ...
// обрабатываем
//
// нормируем значение 3bIPK от 0 до 255
3bIPK = constrain(3bIPK, 0, 255);
// выводим шим
analogWrite(pwm_pin, 3bIPK);
}К 9-му выводу подключаем резистор 5,6 кОм и конденсатор 0,15 мкФ на землю.