Ви не увійшли.
если прям сразу после запуска и прям только один раз и прям только 5 секунд, то
int max = 0;
void setup() {
pinMode(A0, INPUT);
Serial.begin(115200);
for (int i= 1; i <= 5; i++) {
int val = analogRead(A0);
if (val >= max) {
max = val;
}
}
Serial.print("max=");
Serial.println(max);
}
void loop() {
}
Пример работы:
Заводишь переменную "maximal" и сначала делаешь её очень маленькой (например, нулём). В течение нужного времени вводишь значения, каждое сравниваешь с maximal. Если больше, то присваиваешь его переменной maximal. По истечению любого времени (в т.ч. и 5 сек.) в переменной maximal всегда находится максимальное значение, которое мелькнуло за это время.
Выше максимального значения никаких других значений не бывает.
Зависит от того сколько придет значений за эти 5 секунд.
Сложилась проблема которую решить мне еще недостаточно опыта
Програмно сделать что-то вроде динамического фильтра
Суть:
мне нужно После запуска записать на протяжении (к примеру) 5 секунд значения из аналогового пина, они всегда могут иметь разные колебания, от 0 к 1000 или от 0 к 20000, поэтому нужно выбрать максимальное из записаного за 5 секунд, и все что ниже максимального - мусор, все что выше - дальше использовать в коде
как должен выглядеть фрагмент такого кода? помогите пожалуйста)