網頁

2022年8月10日 星期三

ESP32 - 使用 BlocklyDuino 設計血氧機及心跳感測器

主題

 以ESP32設計可測量血氧和心跳的程式

使用的電子元件

本主題使用「MAX30102血氧濃度傳感器」 和「0.96寸OLED顯示器模塊128x64」

接法

MAX30102血氧濃度傳感器

翻到反面,看到 上排的 GND SCL SDA VIN 。 開發板的右下方,上排是 VIN SDA SCL GND 。 MAX30102的 GND 要接到開發板的 GND,其它依此類推。


結果:

0.96寸OLED顯示器模塊128x64

開發板 OLED 上排接腳 GND  VCC SCL  SDA。
 0.96寸OLED顯示器模塊128x64,正面上排 GND VDD  SCK SDA ,下面沒接腳。
 0.96寸OLED顯示器模塊128x64 的 GND 要接到開發板的 GND,其它依此類推。

 0.96寸OLED顯示器模塊128x64,像素為 128 x 64,X,Y 為(0,0)是在 OLED 的左方角。
結果:

程式


注意
如果祇有使用BlocklyduinoF2.zip ,會有 Tone.h 的錯誤,造成蜂鳴器無法運作,必須再使用 BlocklyduinoF2_update_20220723  更新檔。



程式說明

字串,取出 「字串組合」。
「字串組合」原本祇有2個項目,按 「*」,可以增加或減少項目。

邏輯,取出 「如果 ...執行」。
序列埠 I/O,拿出「序列埠印出(換行)」block。

吉哥積木/模組/MAX30102血氧濃度

吉哥積木/模組/OLED 128*64

吉哥積木/ESP32/類比寫入及音調
蜂鳴器接在 PIN4。
執行結果:
食指指尖平穩放上去 ,不要用力壓,不要移動。血氧慢慢上升。
偵測原理:
MAX30102血氧濃度傳感器打出紅光,偵測紅光反射值。因血液中氧氣會吸收紅光,所以血氧高,紅光反射值低。血氧低,紅光反射值高。

序列埠監看視窗

按 「Putty 序列埠監看視窗」鈕。

按「開啟PUTTY」。
結果:
輸出到序列埠的功能,當作偵錯用,若沒有問題,可以拿掉此功能。