Arduinoの基礎 - UVインデックスセンサ

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動

概要

紫外線によって日焼けをすることは一般的に健康的に見えると言われる一方で、
肌の老化、白内障、皮膚がんなど深刻な悪影響を及ぼす方が多いことが分かっている。


UVインデックス(UV指数)

可視光線の波長は、紫色の約380[nm]から赤色の750[nm]程度の範囲である。
波長の短い紫色よりも更に波長が短いのが紫外線である。

紫の外ということで、英語ではウルトラバイオレット(Ultra Violet)と呼ばれているため、紫外線は略してUVという。

世界保険機関(WHO)では、紫外線の強さをわかりやすく表現(人が紫外線対策を効果的に行えるように)するため、世界標準の値として、
UVインデックス(UV指数)というものを定義している。

UV指数は、下図のように数値で表される。(WHOの"UV Index Guid"から引用)
下図では、UVインデックスが3以上の場合はUV対策は必要で、8以上なら外出は避けて日光に当たらないようにすることが必要としている。

Arduino UV Index Sensor 1.png


UVインデックスセンサを使用すると、UVインデックスを簡単に計測することができる。


UVインデックスセンサ

UVインデックスセンサを下図に示す。(AliExpressにて、"UV detection sensor"等で検索する)

Arduino UV Index Sensor 2.png


型番等の記載が無いので、以下に簡単な仕様を記載する。

  • 動作電圧
    DC 3.3~5[V]
  • 出力電圧
    DC 0~1[V]
  • 誤差範囲
    ±1 UVインデックス
  • 電流
    0.06[mA](typ)、0.1[mA](max)
  • 検出可能なUV波長
    200[nm]~370[nm]
  • 使用温度
    -20[℃]~85[℃]


このUVインデックスセンサのOUTピンから出力される電圧により、下表からUVインデックスがわかる。

UVインデックス(UV指数) 出力電圧(mV未満)
0 < 50
1 < 227
2 < 318
3 < 408
4 < 503
5 < 606
6 < 696
7 < 795
8 < 881
9 < 976
10 < 1079
11+ < 1170+


おそらく、1080[mV]以上は全て11またはそれ以上と考えてよいのではないかと考察する。
いずれにせよ、非常に強い紫外線であることには変わらない。


サンプルコード

UVインデックスセンサの出力ピン(OUTピン)をArduinoのアナログ入力ピンに接続して、analogRead()関数で電圧を読み取る。
その読み取った電圧と上表のUVインデックスの対応表から、UVインデックスがわかる。

analogRead()関数を使用して電圧を取得する方法については、「Arduinoで電圧を測る(アナログ入力を読取る)」を参照すること。