注釈

こんにちは、SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Communityへようこそ!Facebook上で、仲間と一緒にRaspberry Pi、Arduino、ESP32をさらに深く探求しましょう。

なぜ参加するのか?

  • 専門的なサポート:購入後の問題や技術的な課題をコミュニティやチームの助けを借りて解決。

  • 学びと共有:スキルを向上させるためのヒントやチュートリアルを交換。

  • 限定プレビュー:新製品発表や予告編に早期アクセス。

  • 特別割引:最新製品の特別割引を楽しむ。

  • フェスティブプロモーションとプレゼント:プレゼントやホリデープロモーションに参加。

👉 私たちと一緒に探索と創造を始める準備はできましたか?[ここ]をクリックして、今すぐ参加しましょう!

レッスン14: パルスオキシメーターおよび心拍数センサーモジュール (MAX30102)

このチュートリアルでは、Raspberry Piを使用してMAX30102センサーを操作する方法を学びます。GitHubで入手可能なオープンソースのMAX30102 Pythonドライバーを使用することで、モジュールとのインターフェースが簡素化され、センサーデータの収集と分析の基本を理解することに集中できます。このプロジェクトは初心者に最適で、Raspberry Piプラットフォーム上でのセンサーの実装とPythonコーディングの実践的な経験を提供します。

必要な部品

このプロジェクトでは、以下の部品が必要です。

全ての部品が揃ったキットを購入するのが便利です。リンクはこちら:

Name

ITEMS IN THIS KIT

LINK

Universal Maker Sensor Kit

94

Universal Maker Sensor Kit

以下のリンクから個別に購入することもできます。

Component Introduction

Purchase Link

Raspberry Pi 5

-

パルスオキシメータおよび心拍センサーモジュール (MAX30102)

購入

ブレッドボード

購入

配線

../_images/Lesson_14_MAX30102_pi_bb.png

コード

from heartrate_monitor import HeartRateMonitor
import time

# Print a message indicating the sensor is starting
print('sensor starting...')

# Set the duration for which the sensor data will be read (in seconds)
duration = 30

# Initialize the HeartRateMonitor object
# Set print_raw to False to avoid printing raw data
# Set print_result to True to print the calculated results
hrm = HeartRateMonitor(print_raw=False, print_result=True)

# Start the heart rate sensor
hrm.start_sensor()

try:
    time.sleep(duration)
except KeyboardInterrupt:
    print('keyboard interrupt detected, exiting...')

# Stop the sensor after the duration has elapsed
hrm.stop_sensor()

# Print a message indicating the sensor has stopped
print('sensor stopped!')

Code Analysis

  1. モジュールのインポート

    • heartrate_monitor``モジュールはセンサーとのインターフェースに使用されます。 ``heartrate_monitor ライブラリの詳細については、doug-burrell/max30102 をご覧ください。

    • ``time``モジュールはセンサーデータ収集の期間を管理するのに役立ちます。


    from heartrate_monitor import HeartRateMonitor
    import time
    
  2. 心拍数モニターの初期化

    • 特定の印刷オプションを設定して HeartRateMonitor オブジェクトを作成します。

    • ``print_raw``は生センサーデータを印刷するかどうかを制御します。

    • ``print_result``は処理された結果(心拍数とSpO2)の印刷を制御します。


    hrm = HeartRateMonitor(print_raw=False, print_result=True)
    
  3. センサーの起動

    ``start_sensor``メソッドは心拍数センサーを起動します。

    hrm.start_sensor()
    
  4. 指定時間センサーを稼働させる

    • プログラムは指定された期間スリープし、その間にセンサーはデータを収集します。

    • ``time.sleep(duration)``は指定された秒数だけプログラムを停止させます。


    try:
        time.sleep(duration)
    except KeyboardInterrupt:
        print('keyboard interrupt detected, exiting...')
    
  5. センサーの停止

    指定時間が経過した後、 stop_sensor メソッドを呼び出してデータ収集を停止します。

    hrm.stop_sensor()
    
  6. プログラムの終了

    センサーが停止したことを示すメッセージを印刷します。

    print('sensor stopped!')