找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2038|回复: 5
打印 上一主题 下一主题
收起左侧

关于单片机MQ2烟雾传感器C语言代码的理解

[复制链接]
回帖奖励 9 黑币 回复本帖可获得 3 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
ID:1020164 发表于 2022-5-24 00:32 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
unsigned int Get_ADCValue_MQ2(u8 times)//得到ADC采样内部传感器的值  取n次,然后平均
{
  u32 val = 0;
  u8 count;
  for(count = 0; count < times; count++)
  {
    val += analogRead(MQ2_IO);//获取模拟量数值
    delay(5);
  }
  return val/times;
}
void MQ2_PPM_Calibration(float RS)// 传感器校准函数
{
    R0 = RS / pow(CAL_PPM / 613.9f, 1 / -2.074f);
}
float MQ2_GetPPM(void)// MQ2传感器数据处理
{
    float Vrl = 5.0f * Get_ADCValue_MQ2(10) / 1024.f;
    Vrl = ( (float)( (int)( (Vrl+0.005)*100 ) ) )/100;
    float RS = (5.0f - Vrl) / Vrl * RL;
    if(millis() < 5000) // 获取系统执行时间,10s前都进行校准
    {
        R0 = RS / pow(CAL_PPM / 613.9f, 1 / -2.074f);
    }
    float ppm = 613.9f * pow(RS/R0, -2.074f);   //根据转化公式
    return  ppm;
请问标红代码的公式和“POW”、“613.9f”、什么意思

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1020164 发表于 2022-5-26 09:48 | 显示全部楼层
glinfei 发表于 2022-5-24 09:03
1.POW(x,y),是做x的y次方;2.MQ2对不同浓度的可燃气,存在不同的曲线,这个曲线不是单纯线性而是指数函 ...

那VAL是什么参数
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表