标题:
arduino+MPX4115在Proteus串口输出数值
[打印本页]
作者:
一入极客深似海
时间:
2021-5-9 13:04
标题:
arduino+MPX4115在Proteus串口输出数值
arduino 通过获取 MPX4115 的数值 并在 串口中显示, 我图片截取的是 arduino 2560 经过实测 uno r3 同样满足
下载.png
(124.84 KB, 下载次数: 95)
下载附件
2021-5-9 12:59 上传
附 代码,
#define kpa2atm 0.00986923267
// 在仿真中,由于公式计算出来,再由串口打印出来的数值,
// 与仿真图中的元件的的数值相差太大,故再减去一点偏差
// 经过多次计算,减去 1.4 是最为合适的,
// 当然也可以根据情况,适时的调整这个偏差值
#define ERROR_CORRCCTION 1.4
// pin defs
int pressurePin = 0;
// variables
int val;
float pkPa; // pressure in kPa
float pAtm; // pressure in Atm
unsigned long time;
void setup()
{
Serial.begin(9600);
}
void loop()
{
/* get the pressure */
val = analogRead(pressurePin);
pkPa = (((float)val/(float)1023+0.095)/0.009)-ERROR_CORRCCTION;
pAtm = kpa2atm*pkPa;
/* send pressure to serial port */
Serial.print(pkPa);
Serial.print("kPa ");
Serial.print(pAtm);
Serial.println("Atm ");
delay(1000);
}
复制代码
其实程序中还有点问题,就是精度不够,请问谁能解决一下
附 完整功能包。
压力传感器.zip
(50.61 KB, 下载次数: 10)
2021-5-9 13:02 上传
点击文件名下载附件
下载积分: 黑币 -5
若是你的Proteus 中没有 arduino 请看百度的教程,如何安装插件
作者:
铁牛单片机
时间:
2022-5-8 00:59
pkPa = (((float)val/(float)1023+0.093)/0.009)-ERROR_CORRCCTION;
第30行里面的系数。0.095改成0.093. 精度会稍微高一点点。特别是压力大的时候,很准确。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1