(日々の記録)デジタルオシロを買った。心電計は少しおやすみ。(木)心電計プロジェクト:スケールが出ると心電計らしくなるみなさま明けましておめでとうございます当ブログも開設以来7年が経ち、電子工作歴は何と、もう足掛け8年になりました。毎年のお正月には、これまでの総括と今後の抱負を一言載せるのが恒例になっていますが、今年はどうも適当なことが思いつきません。電子工作が、仕事をやめてからの第二の仕事のようになり、余りにも生活に溶け込んでしまったからでしょうか。昨年、嬉しかったことをひとつご報告しておきます。IT企業に勤めている娘の職場の友人が数名、ブログを読んで、ぜひ話を聞きたいと当研究所を見学してくれたことです。電子工作の面白さをみんなで熱く語りました。ブログのおかげで、色々な人と交流ができる。それはともかく、プロジェクトの続きです。心電計のプロジェクトもいよいよ大詰めに近づき、2.4インチTFT液晶に、それらしい心電波形が出てきました。昨年暮れからの作業の状況を以下にご紹介します。keiさんありがとう。ピークが出ました(12/20/2014)心電波形はひとまず出たが、前記事にも書いたように、どうもピーク値(R波)が低すぎるような気がする。これは心臓疾患ではなくてセンサー部からのデータを端折っている(2回に一回しか送っていない)ため、ピーク値を逃している可能性が高い。UARTで10ビットのデータを2バイトに分けて送出しているが、先頭バイトを識別するため、データの送出を1回休んで間隔を空けている。これをもう少し縮めるか、このあいだコメントで頂いたように、2バイトの先頭ビットに細工をして10ビットデータを送れば、間隔を空けなくてもよさそうだ。実は、こうしたデータの内部構造にまで立ち入るプロトコルは、なるべくならやりたくなかった。擬似コーディングしてみると、この先頭バイトに識別ビットを載せる方が、下手に時間を空けるより(1回分より少ない時間を作るのが難しい)、はるかに簡単に実装できそうなのだ。keiさんという方からコメントでご提案をいただいた方式である。10ビット(ADC値)データを2つに分割し(等分に分ける必要はない)、第一バイトのMSBに1を立てて(つまり128以上)、128より小さい第二バイトと区別する。ロジックそのものは至って簡単だが、AVR、ARMの両方のコードを同時に変更する必要がある。AVRの送出側を変更し、PCのバイナリ―端末アクノリッチでデータを確認する。想定通りのデータを確認してから、ARM側を変更する。何度もロジックを確認してビルドし、祈る気持ちで接続した。