10
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RaspberryPiで脈拍データをCSV出力(CSV出力)

Posted at

手順とリンク

1.準備と基礎編
http://qiita.com/tkyko13/items/62ff91bce7d9e555c434
2.アナログ入力確認編
http://qiita.com/tkyko13/items/981989a006a95821ccde
3.pythonで確認
http://qiita.com/tkyko13/items/44ca53b027fa249acdc6
4.脈拍センサ
http://qiita.com/tkyko13/items/e4afc73add81d7bbb426
5.csv出力
ここ

pythonでCSV

探すとたくさん参考記事が見つかると思います。
以下のURLからも参考にさせて頂きました。
http://qiita.com/okadate/items/c36f4eb9506b358fb608
まずは、脈拍センサ関係なくシンプルなサンプルコードを乗せます。
これを実行すると、このpythonコードと同じフォルダにdata.csvが作られ、縦に0から99の数字が並んでいると思います。
最終的にこの数字を脈拍の数値にします。

csvSample.py
import csv

f = open('data.csv', 'w')

for i in range(0, 100):
    writer = csv.writer(f, lineterminator='\n')
    writer.writerow([i])

f.close()

動くことが確認できたら、for文ではなく、前々回の「3.pythonで確認」で作ったサンプルコードと合わせていきます。

sample.py
import smbus
import time
import threading
import csv

I2C_ADDRESS = 0x48

bus = smbus.SMBus(1)
f = open('data.csv', 'w')

def loop(count):

    count = count+1
    bus.write_byte(I2C_ADDRESS, 0xFF)
    value = bus.read_byte(I2C_ADDRESS)
    print value

    writer = csv.writer(f, lineterminator='\n')
    writer.writerow(value)

    if count < 100 :
        t = threading.Timer(0.1, loop, args=(count,))
        t.start()
    else :
        f.close()
        print 'finish'

t = threading.Thread(target=loop, args=(0,))
t.start()

いざ脈拍測定

さて、脈拍センサが配線でき(前回)、上のpythonコードを実行できるようになったら測定していきます。
コツとしては指を少し離すといいらしいです。

csvデータ転送

無事ラズパイ内にcsvデータができれば成功です。
自分のPCにデータ転送します。
方法は自由ですが、自分はftpソフト(macですのでCyberduck)を使いました。
ラズパイにUSBメモリを差すのもありです。

エクセルでデータを開きグラフを挿入

自分のデータはうまくいっていなかったっぽいです。
指を置いたときと、まったく置いていないときを比較したグラフ画像が以下です。

スクリーンショット 2016-02-23 18.42.38.png

配線か、環境か、データ取得間隔が開きすぎたか・・・
もしくわ・・・既に死んでいる・・・?

まとめ

結果はどうあれ、これにて半無理矢理終了です。
改善改良は引き続き行って行きたいと思います。
長くなりましたがお疲れ様でした。

10
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?