ブログ | センサー | ディー・クル―・テクノロジーズ | Page 2

bookmark_borderUVをセンサで計測してみよう!④ ~外で実際に動作を確認してみよう ~準備編Ⅰ~

こんにちは。あたふた仕事に追われていたら、10月になっていました💦
相変わらず外は30℃超える日もあってアチチ。。秋っぽい高い青空が待ち遠しい~

## センサ値を無線で飛ばそう

さて、前回は、PCでセンサ値を表示することができましたが、実際に外で実験する場合、PCを持ち歩かないといけないというのは大変なので無線化して、スマートフォンで確認できるようにしたい!と申しておりました。 (PC持ち歩いてしたら不審な行動に見られそうですし。。)

それを今回やります! ↓前回の記事はこちらから。

無線化するにあたっていろいろな方法がありますが、今回はArduinoと互換性がある”Leafony”を使用してBLEでセンサ値を飛ばしてスマートフォンに表示したいと思います。

Leafonyを選択した理由としては、前回でArduinoを使用してUVインデックスを求めた時のコードをそのまま使用できる点で便利!!という点と、基板サイズが一円玉サイズと小さいので外で実験したとき怪しまれづらいかなーという思いで。(^^)

Leafonyの一円玉との比較

## Leafonyを動かしてみよう

Leafonyが動作することをまず確認してみようと思います。

Leafonyの公式HPにあるクイックスタートの”BLEで環境センシング”を試してみます。

Basic Kit スタートガイド | Leafony

## ハードウェア

今回使用するリーフはこれら5つです。AV01はleafを重ねて”ねじ止め”するだけに使い、電源はAZ01 USBから供給します。

AC02 BLE Sugar

Al01 4-Sensors

AP01 AVR MCU

AZ01 USB

AV01 CR2032

上から順に ①4-Sensors, ②USB, ③AVR MCU, ④BLE Sugar, ⑤CR2032の順につなげてねじ止めします。

## ソフトウェア

Sample-Sketches/4-Sensors_BLE at master · Leafony/Sample-Sketches · GitHub

を使用。

但し、使用したライブラリがこのサンプルのバージョンとあっていないか、違うライブラリを使用したのか以下の点をサンプルから変更しました。

変更前➡ 変更後
#include <HTS221.h>#include <Arduino_HTS221.h>
#include <ST7032.h>#include <LCD_ST7032.h>
ST7032 lcd;LCD_ST7032 lcd;
lcd.begin(8, 2);   lcd.begin();
lcd.setContrast(30); lcd.setcontrast(30);
smeHumidity.begin();HTS.begin();
dataTemp = (float)smeHumidity.readTemperature(); dataTemp = (float)HTS.readTemperature();
dataHumid = (float)smeHumidity.readHumidity(); dataHumid = (float)HTS.readHumidity();

## 動作結果

Andoridスマホのブラウザからセンサ値がきちんと表示されました!

Leafonyが正常に動作することを確認できましたので、次はとうとう今回の本題、UVインデックスの値を無線で飛ばして確認できるようにしたいと思います!

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計測を行います!