ディー・クルー・テクノロジーズ Blog

bookmark_borderUVをセンサで計測してみよう!③ ~センサを実際に動かしてみる

では、さっそくセンサを動かしてみましょう!

## ハードウェア

  • ML8511使用紫外線センサーモジュール(ML8511)

ML8511使用紫外線センサーモジュール: オプトエレクトロニクス 秋月電子通商-電子部品・ネット通販 (akizukidenshi.com)

久しぶりの半田付けで少しドキドキしました(苦笑)

余裕のフリ…

感覚忘れないように定期的にしないとダメですね。頑張ります!

  • Arduino Leonardo

こちらは、以前のテーマ↓で使用したデバイスを流用しています。

  • USBケーブル(Micro USB Type-B 2.0)
  • Windows 11 PC 

そして、手軽に紫外線を照射する装置も必要です。

  • UV LED ネイルライト

これは、センサが紫外線に反応することを確認するために使用しました! 確認のために窓際や外に行くのも面倒なので、手元で確認できるものないかなーと探してみたところ、3COINSで発見!! 

私も大好きなぷっくりツヤっとしたジェルネイルを硬化させるために爪に当てて使用するものです。これで税別300円とは今回使用するセンサよりもさらにリーズナブルです!

3COINSさん流石ですね。。

UVLEDネイルライト/and us | 3COINS(スリーコインズ)レディース | PAL CLOSET(パルクローゼット) – パルグループ公式ファッション通販サイト

## ハードウェア接続

以下の図のように実際に接続しました。

以上でプログラム実装前の前準備が完了です。

## プログラム実装

今回使用するセンサからはUV光強度に比例したアナログ電圧が出力されます。

なので、定期的にアナログ値を取得して電圧値に変化する処理を実装すればセンサの値は取得できそうですね。ただ電圧値だけでは紫外線が強いのかわかりづらいので、電圧値からUVインデックスを求めてPCに表示するプログラムを実装したいと思います。

計算方法ですが、アプリケーションノートML8511_UV.pdf (sparkfun.com)

に詳細に記載されていましたので、この方法で求めていきたいと思います。

Arduino側のプログラム動作手順概要:

  1. 初期設定
    • PCとのHardwareSerial通信を開始
    • センサのイネーブルピンにHigh出力
    • 1secのタイマを開始
  2. タイムアウト時にセンサの出力ピンからアナログ値を取得
  3. 取得した値を電圧値に変換
  4. 電圧値からUVインデックス値に変換してシリアルで表示

Arduinoのツールに”Serial Plotter”というものがあり、シリアル出力した値をグラフ化してくれます。

簡単に状態変化をリアルタイムで確認できるので、かなり便利でした。

## センサ動作結果

UVライトのON/OFFとUVセンサのリアルタイムの状態変化が分かるSerial Plotterのグラフを一緒に動画にしてみました。

ML8511によるUVLEDネイルライトの紫外線計測結果をSerial Plotterのグラフ表示

動画8秒あたりから、UVライトONするとすぐセンサは反応してくれています!! 👏

UVを照射するとUVインデックス約2.5~3のあたり、弱い➡中程度のあたりでグラフ表示されますね。

今回より出力が高いUV LEDネイルライトだと数値が変わるのか興味があります。今回は室内というのもあり補正をしてないのですが、アプリケーションノートによると環境によってUVインデックスからの補正が必要なようで、条件によって誤差がありそうです。

よくよく調べてみるとSerial Plotterのグラフは複数データの表示もできるようです。ただY軸の範囲は自動で変更されるようなので、値の範囲が異なる数字を表示するときは注意が必要そうです。

おっと、UVインデックスのリファレンスとなるデバイスを用意していないです。あーリファレンスをどうしよう。。。

あ!そうだ気象庁情報です!!

気象庁で紫外線情報(分布図)を出しているのです。ピンポイントではありませんが、実験している場所付近の値をリファレンスにすればある程度は使えそうに思います!

気象庁| 紫外線情報(分布図) (jma.go.jp)

ちなみに気象庁紫外線情報のUVインデックスは11+が最高ではなく、さらに12や13+があるのですが、日本でしばしば12や13といった値が観測されるため、気象庁では実情に合わせて13+まで表示するそうです。恐るべし日本の夏!

さて、センサが動くことは確認できたので、次は外で実験する前にUVインデックスを無線で飛ばして確認できるように改造したいと思います!

外出先でPC+Arduinoを常に一緒に持ち歩いて計測するのも大変なので(トホホ)

それではまた!

bookmark_borderUVをセンサで計測してみよう!②~UVセンサとは?

今日も猛暑日予想です💦

こんにちは。UV計測ガジェットを作るシリーズの2回目です。

紫外線を計測できるお手頃なモジュールはいろいろありますが、今回は

ML8511使用紫外線センサーモジュール: オプトエレクトロニクス 秋月電子通商-電子部品・ネット通販 (akizukidenshi.com)
このセンサーモジュールを使用します。約10mm角のコンパクトでとっても使いやすそうな形状です。

## ML8511のセンサ特性

このML8511はUV-AおよびUV-Bに対する光センサで、センサ値はアナログ値で出力されます。

280nm-400nmの紫外線領域をしっかり計測してくれます(スペック表より)

## UV-A,UV-Bの定義

ちなみに、前回の記事でお肌に影響のある紫外線の波長にはUV-AとUV-Bの2種類あると触れましたが、定義がいくつかあるようで、気象庁ではこういう分け方をしています。

  • UV-B 280-315nm(ナノメートル)
  • UV-A 315-400nm

ちなみにML8511はUV-AとUV-B両方が合わさった値が出力されます。せっかくなのでそれぞれの値も知りたかったところですが、まあ今回はUV対策グッズの効果をみるのが目的ですので全く問題ないですので、このセンサで評価していこうと思いますm(__)m

## UV対策グッズの効果の評価指標

ML8511が計測したセンサ値をわかりやすく表示するために指標があると便利ですね。WHOが提示した紫外線の人体への影響度合いに関する指標として”UVインデックス”というものがありますので、センサ値からこのUVインデックスを求めて、UV対策グッズを使用した場合どう表示が変わるのか確認する装置を作っていきましょう。

ML8511から出力されるセンサ値は電圧値が出力されるので、電圧値からこのUVインデックスを求めることになるのですが、今回のテーマはここの作り方に気を付ける必要がありそうです。

### UVインデックス (環境省紫外線環境保健マニュアル)

(引用) UVインデックスとは、日常生活で使いやすい数値(影響度合いの一つの目安)とするため、地上に達する紫外線の波長毎の強さと、人体への影響度(紅斑作用スペクトル)を掛け合わせた数値を、使いやすい数値(0~11+)に指標化したものです。(引用ここまで)

WHOの基準を基に、UVインデックスに応じた対策が定義されていますが、12段階あるインデックス値を、環境省はさらにシンプルに5段階に分け対策指標化していますね。

次回は、実際にセンサーを使ってUV計測を行います!

bookmark_borderUVをセンサで計測してみよう!① ~UVとは?

お盆もとうに過ぎ、もうすぐ衣替えの季節というのに、燦々と輝く太陽の光はいまだ真夏の様。

会社帰りに好きなブランドのウィンドウショッピングしてると、どの店ももう秋物の新作ばかり並べています。めちゃくちゃ欲しいけど、暑さが和らぐ気配もみじんもなく、一体いつ着られるようになるかしらと、購入には二の足三の足?踏んでます。

あら私、今日はUV対策のお話をしたかったのですが、話が秋物選びに飛んでしまいました笑 

皆さんはUV対策としてどんなことをされていますか?

ちなみに私は、日焼け止めに日傘、帽子、手袋ってとこでしょうか。

最近は男女、大人も子供も関係なく日傘を差しているのをよく街でみますね。数年前まではここまで日傘人口をみなかったように個人的には感じてます。

実際私も日ごろ日傘には大変お世話になっています。最近はゲリラ豪雨も頻繁なので晴雨兼用の日傘を常に持ち歩いています。(便利ですね)

そこで今回は、日傘などのUV対策グッズで実際どれくらいのUVカットになっているのか、ガジェットを作って確認してみよう!と思います。

※今回の検証はあくまで個人的興味です。試した製品のUVカット効果を検証し賛否することが目的ではありませんのであしからずご了解ください。

以下、蛇足:

このブログを書くにあたって紫外線にしらべていたところ、環境省の紫外線環境保健マニュアルに日焼け止めについて記載されていて、詳しくて素晴らしかったのでご紹介しますね。

https://www.env.go.jp/content/900410650.pdf 紫外線環境保健マニュアル2020(環境省HP)

まず、紫外線に種類が3つあり、お肌に大敵なのはそのうち2つで、「UV-A」と「UV-B」と呼びます。

  • UV-A:降り注ぐ量は多いが、お肌への影響は比較的小さい。ただし長く当たりすぎるとNGのタイプ。
  • UV-B:降り注ぐ量は少ないが、お肌への影響が大きいので、短期間でも当たりたくないタイプ。

そして、日焼け止め。これも「紫外線吸収剤」「紫外線散乱剤」の2種類あるんです。これも知らなかったです。

紫外線防止剤の種類とその特徴 (出典) 紫外線環境保健マニュアル2020

さらに、日焼け止めクリーム等に記載されている紫外線を防ぐ強さを示すSPFPAという指標。これもなんとなく「数字が大きいのがより防いでくれるものさ」といった程度の印象で使っていました。実際は、SPFがUV-Bに対する指標。PAがUV-Aに対する指標なのでした。

紫外線防止用化粧品と紫外線防止効果 (出典) 紫外線環境保健マニュアル2020

普段私が通勤で日焼け止めとして使用しているファンデーションはSPF 50のPA+++なので、炎天下のレジャー向きでした💦 平日は外に出るのは通勤とランチのみ、というような生活だと過剰防御かもしれませんね。

本論からどんどんずれますが💦マニュアルにあった日焼け止めの塗り方も目から鱗だったので載せておきます。皆さん、ファンデは丁寧に塗って、しっかり紫外線を防ぎましょうね!

(出典) 紫外線環境保健マニュアル2020

さてさて次回は、センサモジュールの準備についてご紹介します。

bookmark_borderディジタル信号処理~高校数学で理解する離散フーリエ変換⑦ 周波数成分の求め方4

さあ、今日は複素正弦波を使って具体的に離散フーリエ変換の計算の仕方をお伝えします。

離散フーリエ変換の公式

再び、離散フーリエ変換の公式です。

左辺のX(k)は、ある周期の波kに対し計算実施した結果で、全部でN個分のデータとなります。

右辺のx(n)は、”0~N-1の離散フーリエ変換対象の信号”です。 このブログではx(n)を”時刻 0~N-1の時間信号”のイメージで計算してましたが、実際は時刻に限らず、等間隔に並んだ離散信号なら何でもよいのでこの表現がしっくりきます。右辺の計算は、たとえばNが8であれば、”0から7までの8個の離散フーリエ変換対象の信号”に、複素正弦波(この公式では便宜上指数に-が付きますが内積計算に影響ありません)を乗じて各信号との内積を求め、それらをΣ(合計)することを意味します。

離散フーリエ変換公式による計算

N=8の時を例として計算方法をお伝えします。

k=0の時、各要素の計算はこんな感じになります。各要素は複素数になるので、複素平面上の円回転でも表現できます。視覚的に理解いただくために要素の下に掲載しました。

こんな感じになります。ちなみにX(0)のときはeの指数部が常に0になります。

次に他の7個分を計算します。kの値を変えるとこのとおり、回転速度が変わります。どう変わるのか視覚的に示すために複素平面図に矢印で示してみました。一部省略しましたが、kを0→7まで増やしていくとこんな感じになります。

ここで最もお伝えたいことは、kの値が低いほど回転が遅く、周波数も低くなることと、逆にkの値が高いほど回転も速く、周波数は高くなるということです。

三角関数を使わない、シンプルな離散フーリエ変換の計算テクニックとは、このように分析対象の波に対して、低い周波数から少しずつ高いものにずらして複素正弦波との内積を取る。その計算結果から周波数成分を見つけていくというアプローチになります。

私の離散フーリエ変換の公式を使った計算テクニックとは以上のようなものですが、いかがでしたでしょうか? このブログ全体を通じてディジタル信号処理や離散フーリエ変換について皆さまの関心が高まったり、ご理解が深まれば、大変嬉しく思います。

最後に、私も携わった信号処理技術を活用したディ―・クルーのソリューションを2つご紹介します。