找回密码
 立即注册

QQ登录

只需一步,快速开始

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

arduino+MPX4115在Proteus串口输出数值

[复制链接]
跳转到指定楼层
楼主
arduino 通过获取 MPX4115 的数值 并在 串口中显示, 我图片截取的是 arduino 2560 经过实测 uno r3 同样满足


附 代码,
  1. #define kpa2atm 0.00986923267

  2. // 在仿真中,由于公式计算出来,再由串口打印出来的数值,
  3. // 与仿真图中的元件的的数值相差太大,故再减去一点偏差
  4. // 经过多次计算,减去 1.4 是最为合适的,
  5. // 当然也可以根据情况,适时的调整这个偏差值
  6. #define ERROR_CORRCCTION 1.4   
  7. // pin defs
  8. int pressurePin = 0;

  9. // variables
  10. int val;
  11. float pkPa; // pressure in kPa
  12. float pAtm; // pressure in Atm

  13. unsigned long time;


  14. void setup()
  15. {
  16.   Serial.begin(9600);

  17. }

  18. void loop()
  19. {
  20.   
  21.   /* get the pressure */
  22.   val = analogRead(pressurePin);
  23.   pkPa = (((float)val/(float)1023+0.095)/0.009)-ERROR_CORRCCTION;
  24.   pAtm = kpa2atm*pkPa;
  25.   

  26.   /* send pressure to serial port */
  27.   Serial.print(pkPa);
  28.   Serial.print("kPa ");
  29.   Serial.print(pAtm);
  30.   Serial.println("Atm ");
  31.   delay(1000);
  32. }
复制代码

其实程序中还有点问题,就是精度不够,请问谁能解决一下
附 完整功能包。 压力传感器.zip (50.61 KB, 下载次数: 8)

若是你的Proteus 中没有 arduino 请看百度的教程,如何安装插件

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:13450 发表于 2022-5-8 00:59 | 只看该作者
  pkPa = (((float)val/(float)1023+0.093)/0.009)-ERROR_CORRCCTION;

第30行里面的系数。0.095改成0.093.  精度会稍微高一点点。特别是压力大的时候,很准确。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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