cavedu
  • CAVEDU教育團隊
  • BOSON電子積木套件
    • 認識BOSON
      • 輸入模組
        • i1旋鈕模組
        • i2r按鈕模組
        • i3自鎖開關
        • i4光感測器
        • i5傾斜感測器
        • i6水分感測器
        • i7火焰感測器
        • i8觸碰感測器
        • i9聲音感測器
        • i10紅外線接近度感測器
        • i11溫度感測器
        • i12導電感測開關
        • i13動作感測器
        • i16土壤濕度感測器
        • i17酸鹼值感測器
        • i18濕度感測器
        • i19防水溫度感測器
        • i20心律監測感測器
        • i22超音波感測器
      • 輸出模組
        • o2LED燈模組
        • o5蜂鳴器模組
        • o6風扇模組
        • o7錄音機模組/喇叭
        • o9馬達模組
        • o10伺服機模組
        • o11OLED顯示模組
        • 七彩燈條
      • 功能模組
        • f1運算邏輯模組AND
        • f2運算邏輯模組OR
        • f3運算邏輯模組NOT
        • f4分配模組
        • f6閾模組
        • f7計數模組
        • f8計時模組(0-60秒)
    • 實作範例教學
    • 資源鏈結
  • LinkIt 7697 BlocklyDuino 使用指南
  • LinkIt 7697 - Arduino IDE 開發指南
  • 💻Raspberry Pi Pico介紹
    • Raspberry Pi Pico 擴充板
    • Raspberry Pi Pico 使用Arduino IDE
  • 洞洞么教學材料包
    • 新版LinkIt 7697開發板 V1.1版使用序列埠印出指令亂碼問題
    • 模組使用教學
      • LED模組
      • LED模組(三色)
      • 按鈕模組
      • 旋轉電位計模組
      • 光敏模組
      • 微動開關模組
      • DHT11溫溼度感測器模組
      • 無源蜂鳴器模組
      • 有源蜂鳴器模組
      • 震動開關模組
      • 滾珠開關模組
      • 超音波測距感測器
      • 伺服機
      • 紅外線偵測模組
      • I2C 1602液晶顯示模組
      • 熱敏(溫度)模組
      • DHT 22溫溼度模組(For Pico)
    • micro:bit影片教學
  • 洞洞兩教學材料包(貓咪盃硬體組材料包)
    • 模組使用教學
      • LED模組
      • 繼電器
      • 大顆LED紅綠燈整合模組
      • 旋轉可變電阻
      • 光線模組
      • 土壤溼度模組
      • 避障紅外線模組
      • 按鈕模組
      • 滾珠開關模組
      • 霍爾磁性模組
      • RGB LED共陰模組
      • 電晶體MOS模組
      • 兩路L9110S馬達模組
      • 無源蜂鳴器
      • SR-04P超音波
      • DHT11溫溼度模組
      • 舵機
      • LCD1602液晶模組
      • Max7219 8X8 矩陣LED模組
      • WS2812 RGB12燈燈環模組
  • 洞洞伍AIoT教學材料包
    • Raspberry Pi Pico W 介紹
    • 程式撰寫軟體下載
    • 模組使用教學
      • 溫溼度感測器
      • 旋轉電位計模組
      • RFID模組
      • RGB全彩LED模組(共陽極)
      • 按鈕模組
      • OLED 顯示器模組
      • 有源蜂鳴器模組
      • SG90伺服馬達模組
      • PIR生物紅外線感測器模組
      • 氣體感測器Gas Sensor(MQ7)模組
      • 數位式光強度感測器模組
  • Arduino首次接觸就上手
    • 認識Hangeekduino圖形化介面
    • Hangeekduino範例程式
      • 輸入模組
        • 按鈕模組
        • 旋轉電位計模組
        • 聲音感測模組
        • 光感測器模組
        • 溫溼度感測模組
        • 三軸加速度模組
        • 氣壓感測模組
      • 輸出模組
        • LED模組
        • 蜂鳴器模組
        • OLED顯示模組
    • 書籍內容更新_202012更新
    • [Processing 互動裝置藝術結合 Arduino ]
      • 範例01_Processing IDE 下載、基本範例
      • 範例02_連接Arduino_數位輸入與類比輸入
      • 範例03_Processing控制LED
      • 範例04_療癒海浪 - 按鈕與多個類比感測器
      • 範例05_天空飄著雲 - DHT溫溼度感測器
      • 6. 滾球小遊戲 - 三軸加速度感測器
      • 範例07_風車轉轉 - 聲音感測器
    • Arduino BLE藍牙通訊 - Android 手機
      • Example 01
      • Example 02
      • Example 03
  • 其他感測器模組
    • 火焰感測器
    • 手指偵測心跳模組
    • 心律感測器
    • 科易KEYES 雨水感測器
    • Grove–VOC與eCO2 氣體感測器 (SGP30)
    • 高精度升降壓電源模組XYS3580
  • MCS Lite 介紹及感測器網頁遠端監控
    • 5-4 MCS Lite 介紹及MCS Lite 環境建置
    • 5-5 網頁遠端監控LED
    • 5-6 雲端溫濕度監控
  • 初學Jetson Nano不說No-CAVEDU教你一次懂
    • 書籍更新修改內容
Powered by GitBook
On this page
  • 科易KEYES 手指偵測心跳模組
  • 專案說明
  • KEYES Arduino UNO R3電路圖
  • Arduino 程式

Was this helpful?

  1. 其他感測器模組

手指偵測心跳模組

Previous火焰感測器Next心律感測器

Last updated 5 years ago

Was this helpful?

科易KEYES 手指偵測心跳模組

專案說明

使用「科易KEYES Arduino UNO R3 開發板」連接「手指偵測心跳模組」,讀取手指偵測心跳速率。

KEYES Arduino UNO R3電路圖

· 科易KEYES 手指偵測心跳模組

手指偵測心跳模組是類比訊號輸入,可以接「A0 ~ A5」的KEYES Arduino UNO R3訊號端上。 本範例連接到「A0」。

手指偵測心跳模組上S部分的腳位接到Arduino端的S、中間再接V端、-腳位接到GND。

手指偵測心跳模組由一個紅外線LED和光敏電晶體所構成,原理是透過手指放在紅外線發射器和光敏電晶體之間後,隨著心臟跳動,光敏電晶體的電阻值也在不斷變化,通過這種變化來檢測心跳。為防止外界光線對資料造成影響,最好將 手指偵測心跳模放在一個封閉的盒子裡或是用套子包住感測器,在進行心跳檢測。

Arduino 程式

如果手指放紅外線LED和光敏電晶體之間時在兩秒間的感測數值有不同的跳動的話,會顯示你目前手指脈搏偵測到的心跳數,沒有數值跳動的話則不會顯示心跳數。

產生出的 Arduino 程式如下

#define samp_siz 4
#define rise_threshold 4

// Pulse Monitor Test Script
int sensorPin = A0;

void setup() {
    Serial.begin(9600);
}

void loop ()
{
    float reads[samp_siz], sum;
    long int now, ptr;
    float last, reader, start;
    float first, second, third, before, print_value;
    bool rising;
    int rise_count;
    int n;
    long int last_beat;

    for (int i = 0; i < samp_siz; i++)
      reads[i] = 0;
    sum = 0;
    ptr = 0;

    while(1)
    {
      // calculate an average of the sensor
      // during a 20 ms period (this will eliminate
      // the 50 Hz noise caused by electric light
      n = 0;
      start = millis();
      reader = 0.;
      do
      {
        reader += analogRead (sensorPin);
        n++;
        now = millis();
      }
      while (now < start + 20);  
      reader /= n;  // we got an average
      
      // Add the newest measurement to an array
      // and subtract the oldest measurement from the array
      // to maintain a sum of last measurements
      sum -= reads[ptr];
      sum += reader;
      reads[ptr] = reader;
      last = sum / samp_siz;
      // now last holds the average of the values in the array

      // check for a rising curve (= a heart beat)
      if (last > before)
      {
        rise_count++;
        if (!rising && rise_count > rise_threshold)
        {
          // Ok, we have detected a rising curve, which implies a heartbeat.
          // Record the time since last beat, keep track of the two previous
          // times (first, second, third) to get a weighed average.
          // The rising flag prevents us from detecting the same rise more than once.
          rising = true;
          first = millis() - last_beat;
          last_beat = millis();

          // Calculate the weighed average of heartbeat rate
          // according to the three last beats
          print_value = 60000. / (0.4 * first + 0.3 * second + 0.3 * third);

          Serial.print("心跳數:");
          Serial.print(print_value);
          Serial.print("\n");
          
          third = second;
          second = first;
          
        }
      }
      else
      {
        // Ok, the curve is falling
        rising = false;
        rise_count = 0;
      }
      before = last;
      
      
      ptr++;
      ptr %= samp_siz;

    }
}

此科易手指偵測心跳模組包含於「」內。

·

科易KEYES 手指偵測心跳模組
KEYES Arduino UNO R3