1、文件资料获取方式
开通【普通VIP会员】或【尊贵SVIP会员】后,在文章内容顶部点击【百度网盘】按钮即可自动跳转到下载页面
2、开发环境搭建方式
关于如何搭建ArduinoIDE/Platformio跨平台开发环境,请详看下面的文章:
自制Arduino Package离线安装,100%成功!
Arduino ESP32和ESP8266开发板安装教程
Arduino-VScode-Platformio离线安装,99%成功!
3、库文件添加方式
关于库文件如何添加到ArduinoIDE中使用,请详看下面的文章:
Arduino Library库文件安装教程
4、库功能
结合有效值滤波+限幅滤波+先进先出平均值滤波,对传感器批量化滤波处理,如温度、湿度、光照度、距离值、气压值、重量值等都可以采用这种滤波思路。
程序原理:
1、首先是有效值滤波:目的是去掉不合理的原始值。假设一个传感器有效值是100-300,如果读出来是小于100或者大于300,那么显然是有问题的,因此要直接舍弃。
2、然后是前后两次数值的变化幅度滤波:一般来说在100ms内,传感器的值不会发生显著变化。如果连续多次(如3次)则可以以当前读取的值作为新的值。
3、最后是先进先出的原则,进行取平均滤波。一般取5到10次。
注意事项:
1、本滤波方法没有采用递推平均滤波,也就是没有for,因此效率更高。
2、本程序没有在库里面实现滤波的采样时间,是因为在外部实现更加高效,比如超声波之类的,如果一直读取会影响程序效率。
5、使用示例
1、AVR平台
ArduinoUno开发板和电位器接线示意图:
2、ESP32平台
ESP32开发板和电位器接线示意图:
3、ESP8266平台
NodeMcu开发板和电位器接线示意图:
4、RP2040平台
树莓派Pico开发板和电位器接线示意图:
5、STM32平台
STM32F103C8T6开发板和电位器接线示意图:
6、库版本
- v0.0
1.第1版发布。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END