第1步:設(shè)置傳感器。
這是簡單的部分。
只需找到一根大致與手指大小相同的管即可。
在相對的“墻壁”上開兩個(gè)孔。
將LDR電阻器熱膠并插入孔中。
然后將電阻器焊接到LED上以確保其不會(huì)燃燒。我用了220歐姆的電阻器,這很好。
然后將GND接地焊接到LED的陰極,將+5 Vcc焊接到陽極。
然后從LED的vcc焊接短線(電阻之前)連接到第一個(gè)LDR電阻分支。
最后將信號(hào)電纜焊接到最后一個(gè)LRD電阻分支。
就是這樣。傳感器的基本功能已經(jīng)完成。
我用黑色電子膠帶將傳感器的外部膠帶粘上了。只是為了確保從底部進(jìn)入LDR的光最少。另外,我在里面放了一些黑色泡沫狀的東西,并為LDR切了一個(gè)洞。
步驟2:只是快速測試。
設(shè)置非常簡單。 GND和Vcc轉(zhuǎn)到愛迪生自己的輸出,來自傳感器的數(shù)據(jù)信號(hào)電纜連接到模擬0(A0)。
像我以后所做的那樣,LCD屏幕轉(zhuǎn)到屏蔽板上的I2C端口。 .witch,您將在下一步中看到。。..
首先。下載處理2 以圖形方式查看讀數(shù)的結(jié)果,甚至可能看到自己的心跳。
這在校準(zhǔn)時(shí)將為您提供很多幫助
但是您將需要該程序的代碼。從下面下載。
然后將一個(gè)簡單程序加載到Edison,該程序?qū)⒛M傳感器值打印到串行,然后運(yùn)行處理2。
如果不起作用,請檢查串行
第3步:編碼。
這是項(xiàng)目中最棘手的部分。當(dāng)心臟跳動(dòng)傳感器時(shí),您將必須向下映射。
基本思想是,當(dāng)LED點(diǎn)亮并照向LDR時(shí),讀數(shù)約為1020。當(dāng)手指插入LDR時(shí),值在980-995之間變化。這是處理2方便的地方。當(dāng)血液在您的手指中碰碰時(shí),手指所經(jīng)過的光會(huì)稍微改變。當(dāng)光線最亮和最暗時(shí),映射正確的時(shí)刻。您的閱讀內(nèi)容可能與我的不同。
好。所以這是代碼。
幾乎不需要什么。
計(jì)時(shí)器將在開始時(shí)設(shè)置為0,并在10秒后停止。計(jì)數(shù)器會(huì)計(jì)算節(jié)拍并將其乘以六。
int Led = 13;
int sensorValue = 0;
int count=0;
unsigned long time1=0;
unsigned long time2;
#include
#include “rgb_lcd.h”
rgb_lcd lcd;
const int colorR = 255;
const int colorG = 0;
const int colorB = 0;
設(shè)置主要是在基本設(shè)置中進(jìn)行。
void setup() {
Serial.begin(115200);
pinMode(Led, OUTPUT);
pinMode(Led, HIGH);
lcd.begin(16, 2);
lcd.setRGB(colorR, colorG, colorB);
}
然后循環(huán)。這是主程序,它顯示計(jì)數(shù)的物料并保持傳感器的閾值,該傳感器的閾值是在需要計(jì)數(shù)一,二,三等時(shí)……
void loop() {
if(count==0)
{time1=millis();
}
time2=millis();
sensorValue = analogRead(analogInPin);
if(time2》=time1+10000)
{ counter();
}
if(sensorValue 》1000){
lcd.clear();
Serial.println(“Insert finger”);
lcd.setCursor(0,0);
lcd.print(“Insert Finger”);
return;
}
if(sensorValue ==991){
lcd.clear();
digitalWrite(Led, HIGH);
increment();
Serial.println(sensorValue);
Serial.println(count);
Serial.println(time2);
lcd.setCursor(0,0);
lcd.print(“Counting”);
}
if(sensorValue 》990){
digitalWrite(Led, LOW);
}
delay(200);
}
然后有幾個(gè)子例程
Increment()將計(jì)數(shù)值添加到計(jì)數(shù)和計(jì)數(shù)器計(jì)數(shù)中,并在繼續(xù)執(zhí)行程序之前將其保持5秒鐘的值進(jìn)行顯示。
void increment()
{
count++;
}
void counter()
{
lcd.clear();
count=count*6;
Serial.print(“Heart beat: ”);
Serial.print(count);
lcd.setCursor(0,0);
lcd.print(“Heart beat:”);
lcd.setCursor(0,1);
lcd.print(count);
time1=0;
time2=0;
count=0;
delay(5000);
}
第4步:最終結(jié)果。
項(xiàng)目工作很棒!
在正確讀取后,幾乎沒有時(shí)間顯示6 BPM。
沒有膠水,但我可以忍受。
-
心率監(jiān)測器
+關(guān)注
關(guān)注
1文章
13瀏覽量
12066
發(fā)布評論請先 登錄
探秘MAX15059:76V、300mW升壓轉(zhuǎn)換器與電流監(jiān)測器
深入解析 ZXCT1107/1109/1110 低功耗高端電流監(jiān)測器
深入解析MAX6338:一款強(qiáng)大的四電壓監(jiān)測器
MAX836/MAX837 4 引腳微功耗電壓監(jiān)測器:設(shè)計(jì)與應(yīng)用解析
LTC2913雙路電壓監(jiān)測器:多功能、高精度的電壓監(jiān)測解決方案
深入解析LTC2914:多功能四通道電壓監(jiān)測器
TMP512/TMP513系統(tǒng)監(jiān)測器:功能特性與應(yīng)用解析
深入解析 MAX4004:高精度高端電流監(jiān)測器
高精度76V高側(cè)電流監(jiān)測器MAX4007:設(shè)計(jì)與應(yīng)用指南
深入解析INA19x系列電流分流監(jiān)測器:特性、應(yīng)用與設(shè)計(jì)要點(diǎn)
MAX6457 - MAX6460:SOT封裝的高壓、低電流電壓監(jiān)測器
探索SCANSTA476:低功耗模擬電壓監(jiān)測器的卓越之選
TSC1214功率監(jiān)測器AFE技術(shù)解析:低側(cè)數(shù)字監(jiān)控的創(chuàng)新設(shè)計(jì)
心率監(jiān)測器DIY圖解
評論