Возвращает среднее значение наблюдений для заданного времени выборки
Я новичок на этом сайте StackExchange. У меня есть экспериментальная установка с тремя входами: два от лазерного дальномера для измерения расстояния до плоскости и один цифровой вход от штангенциркуля.
Показания всех датчиков колеблются в небольшом диапазоне (что приемлемо для моего случая). Можно ли сделать так, чтобы Arduino регистрировала все входные данные за определённый период времени и выводила только среднее значение для каждого датчика?
@Gautam, 👍0
Обсуждение1 ответ
Лучший ответ:
▲ 1
У меня есть это:
int readElSens() {
long sum = 0;
int n = 0;
long start_time = millis();
while(millis() - start_time < 400) {
sum += analogRead(ELSENS_PIN);
n++;
}
return sum / n;
}
,
@Juraj
Смотрите также:
- Как разделить входящую строку?
- Как использовать SPI на Arduino?
- Как сбросить или отформатировать Arduino?
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Arduino Due vs Mega 2560
- Как получить уникальный идентификатор для всех плат Arduino?
- Почему я получаю avrdude: stk500v2_ReceiveMessage(): timeout error when uploading to Arduino Mega?
- Тайм-аут связи Arduino Mega с ошибкой программатора
Просто используйте массив. На сайте Arduino есть руководство по [сглаживанию](https://www.arduino.cc/en/Tutorial/Smoothing), которое может вам помочь., @sempaiscuba
Чтобы облегчить жизнь: https://github.com/MajenkoLibraries/Average, @Majenko
@Majenko Это очень здорово. Есть что-то, чего у тебя нет в библиотеке?, @sempaiscuba
@sempaiscuba У меня нет инструмента для зарабатывания денег :(, @Majenko
@Majenko Жаль. Мне бы тоже очень пригодился один из них. :), @sempaiscuba
https://stackoverflow.com/questions/4611599/smoothing-data-from-a-sensor?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa, @Gerben