博客
关于我
【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状态查看 QPS/TPS/缓存命中率查看
查看>>
mysql生成树形数据_mysql 实现树形的遍历
查看>>
mysql用于检索的关键字_Mysql全文搜索match...against的用法
查看>>
MySql用户以及权限的管理。
查看>>
MySQL用户权限配置:精细控制和远程访问的艺术!------文章最后有惊喜哦。
查看>>
mysql用户管理、常用语句、数据分备份恢复
查看>>
MySQL留疑问:left join时选on还是where?
查看>>
mysql登陆慢问题解决
查看>>
MySQL的 DDL和DML和DQL的基本语法
查看>>
mysql的 if else , case when then, IFNULL
查看>>
MySQL的10种常用数据类型
查看>>
mysql的cast函数
查看>>
MySql的CRUD(增、删、改、查)操作
查看>>
MySQL的DATE_FORMAT()函数将Date转为字符串
查看>>
MySql的Delete、Truncate、Drop分析
查看>>
MySQL的Geometry数据处理之WKT方案
查看>>
mysql的grant用法
查看>>
Mysql的InnoDB引擎的表锁与行锁
查看>>
mysql的InnoDB引擎索引为什么使用B+Tree
查看>>
MySQL的InnoDB默认隔离级别为 Repeatable read(可重复读)为啥能解决幻读问题?
查看>>