今年の夏は自分が勉強したプログラミングを応用して
M5stackを活用したものづくりに挑戦してみよう!とのことで
M5stack及びさまざまなセンサーなどが今日届きました。
買ったのはこのタイプ。
簡単に言うとマイコンです。
こっちの記事がていねい。
色々できるってこったよ!!
取り敢えずまずはセットアップ、ということで
届いたものに同封されていた紙面通りに進める…が!!
エラーが出ていきなり苦戦する。(セットアップで…)
公式HP見たら、なんか色々必要なものとかリンクとかが変わっていたらしいですね。
結局こっち見ながらやったらうまくいきました。
まずSampleProgramでHelloWorldをやるのが作法なのでやってみる。
できた
じゃあ自分で色々試してみよう!!とプログラム書いてみる。
関数も全部変わっちゃってるらしく、付属の紙は全く役に立たないのでこちらを見ながらやりました。
取り敢えずプログラムと出力の対応を見たいので色々実装して遊んでみました。
楽しいね…
色々遊んだ所で購入したセンサーを試す!
まずは心拍センサー。
説明書きのところに、
「内蔵されている赤外線LEDと光センサを用いて赤血球中の酸素量を測定します。」
「血中酸素濃度と心拍数が測定可能」
などと書いてあるので、まぁやってみたくなるよね…
授業でも割と話題になるけれど、心拍って自分だと測りにくいんですよ。
だから余計に興味があった。
取り敢えずやってみて出てきた値をグラフ化するとこんな風に出力できました。
おー出てる!!!!!
でもパソコン上じゃなく画面に出したいぜ…
なんなら心拍の値を可視化したい…血中酸素も…
これは頑張らなきゃできないやつなのでがんばります。
ちなみに、なんでLED当てるだけの機械で脈拍とか測れるの?っていう疑問を解くためにちょっと調べてみました。
まず、これは反射型パルスオキシメーターという部類に入るっぽい。血液にLEDの光を当てて、反射される光をセンサーで受け取っています。
当てるのは赤色光と遠赤色光(赤外光)で、この二色は酸素ヘモグロビン含有量によって光の吸収率が変わります。
Hbは赤色光を多く吸収するし、
逆にHbO2は遠赤色光を多く吸収する。
だから二色の光を同時に同箇所に当てて、赤色光と遠赤色光の反射(吸収されずに返ってくる光の量)の相対値から、酸素含有量が測定できる…とのこと。
で、ついでに心拍については、拍出される瞬間は血液量が多く、逆に拍出と拍出の間の血液量は少ない。だから血管内で多い⇒少ない⇒多い⇒少ないが交互に心拍分の間を開けて来るようになっているので、さっきと同じく反射光の量の絶対量を見れば「今血液が多い」「少ない」を検知でき、結果心拍もとれるという仕組みなのだそうです。へー。
↓ここから勉強した
https://www.digikey.com/Site/Global/Layouts/DownloadPdf.ashx?pdfUrl=BE60CF3D30E74A0C93FBFA7167A0AF07
あと、今回のものとは違いますが、緑色光LEDを血液に当てて反射光を検出することで心拍を測るタイプもあり、これは普段「血液は赤に見える」=「血液は赤色光を反射し緑色光を吸収する」という原理を活用しているそうです。
血液量が多い時には緑色光吸収量が多くなり、逆に血液量が少ない時には吸収量が減る…この間隔を測れば心拍が分かる!という話。
心拍を測ろう!ってなったときに「よっしゃ光見よう!」っていう発想がまずすごいですよね。
自分が見たいものが変化する時に付随して何が変化するかを知っていなければこういう発想にはならないわけで、ひいては対象物質の物性や特性を知り尽くしてないと変化することは想定できないわけで…
こういう技術に素直に感動してしまう自分がいる…すごい…
あと環境センサユニットも買ったのでこれも試す。
サンプル通りに打ち込んだら、画面に温度と湿度と気圧が出るようになった。
すごいですな…
他にもセンサーまだあるしなんならモーターとかも頼んでいるので車輪で動くロボちゃんとか作りたい。
まだまだ色々試しなのでこれから何作るか考えていきたいです!