冰楓論壇

 找回密碼
 立即註冊
搜索
查看: 594|回覆: 0
打印 上一主題 下一主題

[討論] 用最便宜的單片機製作血壓計

[複製鏈接]

2609

主題

0

好友

1003

積分

金牌會員

Rank: 6Rank: 6

UID
373967
帖子
9003
主題
2609
精華
0
積分
1003
楓幣
0
威望
980
存款
35860
贊助金額
0
推廣
0
GP
1205
閱讀權限
70
在線時間
460 小時
註冊時間
2023-1-12
最後登入
2024-12-21

2023端午節紀念勳章 2023中秋節紀念勳章 2023聖誕節紀念勳章

跳轉到指定樓層
1
發表於 2023-4-2 12:26:39 |只看該作者 |倒序瀏覽
需要以下零件和規格:

單片機:ATtiny13A(8-pin DIP)。
顯示器:0.96寸OLED顯示器。
壓力傳感器:MPX5700DP(0 kPa至700 kPa範圍)。
電源:3V電池或USB供電。
其他元件:電容器、電阻器、電源開關等。
連接腳位:

ATtiny13A引腳1(PB5):與MPX5700DP傳感器的信號線相連接。
ATtiny13A引腳2(PB3):與0.96寸OLED顯示器的SDA線相連接。
ATtiny13A引腳3(PB4):與0.96寸OLED顯示器的SCL線相連接。
MPX5700DP壓力傳感器的Vcc和GND分別與3V電池的正負極相連接。
程式碼:


#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

#define PRESSURE_SENSOR_PIN 0

void setup() {
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  display.clearDisplay();
}

void loop() {
  int sensorValue = analogRead(PRESSURE_SENSOR_PIN);
  float pressure_kPa = (sensorValue * 3.3 / 1023.0 - 0.5) / 0.018;
  display.clearDisplay();
  display.setTextSize(2);
  display.setCursor(0,0);
  display.print("BP: ");
  display.print((int)pressure_kPa);
  display.print("/");
  display.print((int)(pressure_kPa*0.7));
  display.println(" mmHg");
  display.display();
  delay(500);
}
這個程式碼使用Arduino IDE編寫,它使用ATtiny13A的ADC(模數轉換器)讀取MPX5700DP壓力傳感器的模擬信號,然後根據計算公式計算出血壓值,並顯示在0.96寸OLED顯示器上。每隔500毫秒更新一次顯示器的數值。
收藏收藏0 推0 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1鑰匙
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2024-12-21 16:53

回頂部