神经翻译局 发表于 2025-4-16 11:01:00

用行空板M10做一个声音紫外线指数测量仪

https://dfimg.dfrobot.com/66420a8faa9508d63a43b20b/community/80989b4ad570de78afd01dbd0ee365c9.png
这个项目描述了使用DFRobot Gravity: Analog UV Sensor V2实现一个简单的声音紫外线指数测量仪的过程。
https://hackster.imgix.net/uploads/attachments/1721853/uv_sensor_sku__sen0162_1YEVwfn5UH.png?auto=compress%2Cformat&w=740&h=555&fit=max和DFRobot 行空板M10

https://hackster.imgix.net/uploads/attachments/1721854/unihiker_ysaiILNPO8.png?auto=compress%2Cformat&w=740&h=555&fit=max

介绍
长时间暴露在太阳的紫外线(UV)辐射下对皮肤和眼睛构成健康风险,可能导致过早衰老甚至癌症。

视力障碍的个体可能无法感知视觉暗示,如阴影或阳光强度的变化。他们可能没有意识到自己暴露在直射阳光下或紫外线水平高。虽然人们通常可能会得到一个对强烈阳光暴露的"视觉印象",但盲人可能会错过这一点,尤其是当例如凉爽的空气、寒风等也阻止了暴露在皮肤上的暖感。没有视觉暗示,更难评估需要防晒的需求,也更难认识到防晒霜、帽子或太阳镜的重要性。有鉴于此,想到设计一种可以为盲人提供声音通知的可穿戴或便携式紫外线指数测量仪的原型。

提出的解决方案实现了一个紫外线辐射暴露监测应用的原型,以帮助预防由于过度暴露于太阳紫外线而引起的疾病。像一个普通的紫外线测量仪,它测量当前的紫外线辐射强度,并(可选)将其与相应的紫外线指数和风险等级一起显示。此外,它还提供了紫外线指数的声音表示。

解决方案可以使用一个MCU板(操作电源3.3v - 5.v,至少一个可用的模拟引脚和两个可用的数字引脚),一个GUVA-S12D紫外线传感器板,一个按钮,一个(可充电的)电池和可选的:一个图形显示器/一个RGB LED。

这个项目展示了使用行空板M10和DFRobot制造的Gravity:Analog UV Sensor V2的实现。



紫外线测量
紫外线(UV)"光"是一种电磁辐射,波长从200 nm到400 nm,比可见光(400 nm到750 nm)短,但比X射线长。紫外线辐射存在于阳光中,构成了太阳总电磁辐射输出的约10%。短波紫外线可以损伤DNA并消毒与之接触的表面。对于人类来说,晒黑和晒伤是皮肤暴露于紫外线光下的熟悉效应,伴随着皮肤癌的风险增加。
紫外线辐射分为三个波长带:
UVA(315-400 nm)
UVB(280-315 nm)
UVC(100-280 nm)。

通过地球大气层在臭氧层的吸收,UVC光谱完全被阻挡,太阳辐射在UVB光谱中几乎无法到达地球表面。较不危险的UVA辐射被大气吸收得较少。UVA辐射虽然不强,但能深入到皮肤,是导致光老化和不同形式的皮肤癌的原因。

紫外线辐射强度以每平方米毫瓦(mW/m^2)来测量。

紫外线指数和风险等级
为了估计紫外线辐射背后的能量和与之相关的风险等级,建立了紫外线指数。紫外线指数描述了地面上的erythemal紫外线辐射量的预期日峰值("erythema"一词表示皮肤的异常红肿,如因在阳光下呆太久而引起-晒伤是UV辐射损伤皮肤细胞的结果)。它是一个开放顶部的线性刻度-0到11+, 给 UV辐射的指导值。UV指数越高,UV辐射越强,如果皮肤没有得到保护,晒伤的发生会更快/更严重。

UV指数由世界卫生组织定义,全球统一 - 例如,欧洲的UV指数为7与非洲或北美的相同值意义相同。更多信息请参阅由世界卫生组织发布的"全球太阳UV指数:实用指南"。UV指数刻度(来源:https://www.bfs.de/EN/topics/opt/uv/index/introduction/introduction\_node.html)

安全的UV指数取决于个人的皮肤类型和暴露时间。但是,一般规则是:
UV指数为2或更低被认为对所有皮肤类型都是安全的。
UV指数为3到5被认为是适中的,需要一些保护。
UV指数为6到7被认为是高的,需要如帽子、太阳镜和防晒霜的保护。
UV指数为8到10被认为是非常高的,需要额外的保护,如在正午时分寻找阴凉处和穿防护服。
UV指数为11或更高被认为是极端的,需要采取所有可能的预防措施。

更多信息请参见,例如:

WHO - 新闻室 - Q&A - 辐射:紫外线(UV)指数,
US EPA - UV辐射的健康影响 和
US EPA - 紫外线指数刻度

测量结果展示
从测量的UV水平得出的UV指数和相关的风险等级会以视觉和声音方式呈现。
视觉表示
如果有图形显示器,GUI会在与风险等级相关的颜色的背景图像上显示UV指数值和相关的风险等级。

或者,单个RGB LED可以显示与风险等级相关的颜色。

声音表示
UV指数以音调序列呈现:
每个序列的开始都有一个基础音调C,然后是
对应于(四舍五入的)UV指数等级1 - 5的F音调数量,或者
对应于(四舍五入的)UV指数等级6 - 10减去5的A音调数量,后面跟着五个F音调的序列,或者
五个F音调的序列,后面跟着五个A音调和一个C音调(下一个八度)对应于(四舍五入的)UV指数等级11+。

例如,如果UV指数是4,音调序列是C,F,F,F,F,如果UV指数是6.7,音调序列是C,F,F,F,F,F,A,A

以乐谱表示,音调序列看起来像以下图片所示:

https://hackster.imgix.net/uploads/attachments/1702027/audible_uv_meter_score.png?auto=compress%2Cformat&w=740&h=555&fit=max
表示UV指数等级0 - 11的音调序列的乐谱...
以下视频提供了音调序列的样本:

实施
DFRobot Gravity:Analog UV Sensor V2必须连接到UNIHIKER的P21上:

https://hackster.imgix.net/uploads/attachments/1721855/unihiker_p21_tTL2udWpS9.png?auto=compress%2Cformat&w=740&h=555&fit=max
UNIHIKER: P21
https://hackster.imgix.net/uploads/attachments/1722653/wiring_eQuTwdDoJH.png
DFRobot Gravity:模拟UV传感器 V2连接到UNHIKER的P21端口:
该解决方案是用Python实现的,使用了https://www.unihiker.com/wiki/PinPong库。
完整的代码(独立版本或Jupyter Notebook)可以在https://github.com/dxcfl/audible_uv_meter_unihiker,Git仓库中找到。

UV指数
GUVA-S12D传感器模块的输出电压与传感器检测到的UV光强度成正比。输出电压为:

Vo = 4.3 * 二极管电流(单位:μA).
因此,如果光电流是1uA (9 mW/cm²),输出电压就是4.3V。

UV指数是通过将从传感器读取的电压值与GUVA-S12D传感器的映射表进行比较来计算的

https://hackster.imgix.net/uploads/attachments/1721856/uv_index_L0Wi9qf2Q1.png?auto=compress%2Cformat&w=740&h=555&fit=max

GUVA-S12D - 电压 - UV指数映射

UV等级
对于基于GUVA-S12D的模拟UV传感器:"输出电压为:Vo = 4.3 * 二极管电流(单位:μA)。因此,如果光电流是1uA (~ 9 mW/cm^2),输出电压就是4.3V。"

风险等级
https://dfimg.dfrobot.com/66420a8faa9508d63a43b20b/community/4896363bea7caa4739a19ee33962d78f.png

UV指数和风险等级/颜色映射

声音UV指数
UV指数以通过内部蜂鸣器播放的音调序列呈现:
每个序列开始时一个基础音调C,然后是一系列对应于(四舍五入的)UV指数级别1-5的F音调,或者是一系列对应于(四舍五入的)UV指数级别6-10减5的A音调,后面跟着五个F音调的序列,或者是五个F音调后面跟着五个A音调和一个C音调(下一个八度)对应于(四舍五入的)UV指数级别11+。

按钮的中断处理程序初始化按钮的中断处理
GUI在与风险等级相关的颜色的背景图像上显示测量的UV指数和相关的风险等级:

https://hackster.imgix.net/uploads/attachments/1721858/screenshot_VOyrChTXYl.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
示例屏幕

https://hackster.imgix.net/uploads/attachments/1723094/experiment_01_89Iql11Wed.jpg?auto=compress%2Cformat&w=1280&h=960&fit=max
https://hackster.imgix.net/uploads/attachments/1723092/experiment_02_UaSz6NywfC.jpg?auto=compress%2Cformat&w=1280&h=960&fit=max
https://hackster.imgix.net/uploads/attachments/1723093/experiment_03_BoJxSr8hMS.jpg?auto=compress%2Cformat&w=1280&h=960&fit=max
资源
完整的代码,背景图像文件和一个Jupyter Notebook都可以在https://github.com/dxcfl/audible_uv_meter_unihiker仓库中找到。
页: [1]
查看完整版本: 用行空板M10做一个声音紫外线指数测量仪