標(biāo)題:
arduino+MPX4115在Proteus串口輸出數(shù)值
[打印本頁]
作者:
一入極客深似海
時(shí)間:
2021-5-9 13:04
標(biāo)題:
arduino+MPX4115在Proteus串口輸出數(shù)值
arduino 通過獲取 MPX4115 的數(shù)值 并在 串口中顯示, 我圖片截取的是 arduino 2560 經(jīng)過實(shí)測(cè) uno r3 同樣滿足
下載.png
(124.84 KB, 下載次數(shù): 95)
下載附件
2021-5-9 12:59 上傳
附 代碼,
#define kpa2atm 0.00986923267
// 在仿真中,由于公式計(jì)算出來,再由串口打印出來的數(shù)值,
// 與仿真圖中的元件的的數(shù)值相差太大,故再減去一點(diǎn)偏差
// 經(jīng)過多次計(jì)算,減去 1.4 是最為合適的,
// 當(dāng)然也可以根據(jù)情況,適時(shí)的調(diào)整這個(gè)偏差值
#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);
}
復(fù)制代碼
其實(shí)程序中還有點(diǎn)問題,就是精度不夠,請(qǐng)問誰能解決一下
附 完整功能包。
壓力傳感器.zip
(50.61 KB, 下載次數(shù): 10)
2021-5-9 13:02 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
若是你的Proteus 中沒有 arduino 請(qǐng)看百度的教程,如何安裝插件
作者:
鐵牛單片機(jī)
時(shí)間:
2022-5-8 00:59
pkPa = (((float)val/(float)1023+0.093)/0.009)-ERROR_CORRCCTION;
第30行里面的系數(shù)。0.095改成0.093. 精度會(huì)稍微高一點(diǎn)點(diǎn)。特別是壓力大的時(shí)候,很準(zhǔn)確。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1