- UID
- 373967
- 帖子
- 9061
- 主題
- 2609
- 精華
- 0
- 積分
- 1010
- 楓幣
- 0
- 威望
- 987
- 存款
- 36233
- 贊助金額
- 0
- 推廣
- 0
- GP
- 1205
- 閱讀權限
- 70
- 在線時間
- 462 小時
- 註冊時間
- 2023-1-12
- 最後登入
- 2024-12-30
|
需要以下零件和規格:
單片機: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毫秒更新一次顯示器的數值。 |
|