博客
关于我
【3/10】 基于arduino的算数…
阅读量:330 次
发布时间:2019-03-04

本文共 762 字,大约阅读时间需要 2 分钟。

简介:
算数平均滤波法简单有效,可用于上下变跳波动较小的数据,不适合拥有大范围跳变的讯号。
const int Input = 1;//A1为电平输入口
const int Output = 0;//A0为电平输出口
const int savenum = 3;//每次存储多少个数
int OriginValue[savenum];//数组存储输入的电平大小
double AveValue = 0;//算数平均后得到的数值
int Acount = 0;//计数器
void setup() {
 
// put your setup code here, to run once:
 
Serial.begin(9600);
 
 
}
void Receive()//将输入模拟信号存储到数组的函数
{
 
 
 
if (Acount
 
{
 
 
 
OriginValue[Acount] = analogRead(Input);
 
 
 
Acount++;
 
}
 
else
 
{
 
 
 
Acount= 0;
 
 
 
Average();
 
}
}
void Average()//求平均值的函数
{
 
int count;
 
double Sum;
 
for(count=0;count
 
Sum += (double)(OriginValue[count]);
 
AveValue = Sum / savenum;
 
SignalOut();
}
void SignalOut()//输出信号的函数
{
 
analogWrite(Output,AveValue);//每次求平均值后输出
 
Serial.println(AveValue);
}
void loop() {
 
// put your main code here, to run repeatedly:
 
Receive();
 
}

转载地址:http://jtyh.baihongyu.com/

你可能感兴趣的文章
Mysql tinyint(1)与tinyint(4)的区别
查看>>
mysql union orderby 无效
查看>>
mysql v$session_Oracle 进程查看v$session
查看>>
mysql where中如何判断不为空
查看>>
MySQL Workbench 使用手册:从入门到精通
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>
MySQL Xtrabackup 安装、备份、恢复
查看>>
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>
MySQL – 导出数据成csv
查看>>
MySQL —— 在CentOS9下安装MySQL
查看>>
MySQL —— 视图
查看>>
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>
MySQL 中文问题
查看>>
MySQL 中日志的面试题总结
查看>>
mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
查看>>
MySQL 中的外键检查设置:SET FOREIGN_KEY_CHECKS = 1
查看>>