当前位置:首页 > 文章中心 > 正文内容

用 Arduino DIY便携式紫外线指数仪

dgx6662个月前 (05-26)文章中心17


MAKER:fmarzocca/译:趣无尽 Cherry(转载请注明出处)
本期带大家自制一款便携式紫外线指数仪。不论是皮肤患者还是爱美的小姐姐,这款小仪器真的非常实用。这款紫外线指数测量仪主要是由Arduino Nano rev3,一个UV传感器,一个直流变压器(用以提高3v电池电压),以及一个小型OLED显示屏构成。

我的主要目标是为了方便携带,这样我就可以在任何时间和任何地方轻松了解紫外线指数。

材料清单

1、Arduino Nano rev3
2、ML8511 紫外线传感器
3、128×64 OLED 显示屏(SSD1306)
4、MT3608 DC-DC 变压器
5、CR2电池
6、CR2电池座
7、开关
8、外壳

传感器说明



ML8511是一种紫外线传感器,适用于室内或户外读取紫外线强度。 ML8511内部配有放大器,可根据紫外线强度将光电流转换为电压。这种独特的功能可以为ADC等外部电路提供了简便的接口。在省电模式下,通常待机电流为0.1μA,从而延长电池寿命。

特征:

  • 对UV-A和UV-B敏感的光电二极管
  • 嵌入式运算放大器
  • 模拟电压输出
  • 低电源电流(典型值300μA)和低待机电流(典型值0.1μA)
  • 小而薄的表面封装(4.0mm x 3.7mm x 0.73mm,12引脚 陶瓷封装QFN)

  • 可惜的是,我没有找到任何紫外线透明材料来保护传感器。我测试过的任何一种透明盖子(塑料,玻璃等)都会减弱紫外线测量。更好的选择可能是熔融石英玻璃,但我没有找到合理价位的材料,所以我决定将传感器直接裸露的放在盒子外面。
  • 操作说明


  • 测量紫外线的方式非常简单,只需打开设备并将其指向太阳几秒钟,使其与太阳光线的方向保持一致。然后在显示屏上观察:左侧的指数始终显示瞬时测量值(每个200毫秒一个),而右侧的读取是期间的最大读数:这正是你需要的值。
    在显示器的左下部分,还报告了测量的UV指数程度(低度,中度,高度,非常高,极度的高)。
  • 电池电压和读数

  • 我选择CR2电池是因为它的尺寸和容量(800 mAh)。整个夏天,我都在使用UltraV,电池仍然可以读取2.8V。这个选择我非常满意。
    操作时,电路消耗大约100 mA,但读数测量不会超过几秒钟。当电池额定电压为3v时,我增加了一个DC-DC升压转换器,使电压达到9v时,将其连接到Vin引脚。
    为了在显示器上显示电池电压,我使用了模拟输入(A2)。 Arduino模拟输入可用于测量0到5V之间的直流电压,但这种技术需要校准。校准时,你需要一个万用表。
    1、 首先使用最终选择的电池(CR2)为电路供电,而不是使用计算机的USB电源。
    2、 在稳压器上(在Arduino 5V引脚上找到)测量Arduino上的5V电压。默认情况下,此电压用于Arduino ADC参考电压。现在将测量值放入草图中,如下所示(假设我读取的是5.023):

  • voltage = ((long)sum / (long)NUM_SAMPLES * 5023) / 1024.0;


  • 在草图中,我将电压测量值作为10个样本的平均值。
  • 原理图和接线


  • 软件安装

  • 对于显示器,我使用了U8g2lib,它非常灵活,功能强大,适用于这种OLED显示器,允许多种字体选择和良好的定位功能。
    关于ML8511的电压读数,我使用3.3v Arduino参考引脚(精度在1%以内)作为ADC转换器的基础。因此,通过在3.3V引脚上进行模数转换(将其连接到A1),然后将此读数与传感器的读数进行比较,我们可以推断出真实的读数,无论VIN是什么(只要它高于3.4V)。

  • int uvLevel = averageAnalogRead(UVOUT);
    int refLevel = averageAnalogRead(REF_3V3);
    float outputVoltage = 3.3 / refLevel * uvLevel;


  • 完整代码在文件库自行下载。
    http://make.quwj.com/project/76
  • 外壳设计


  • 我使用CAD应用程设计了外壳,并尽可能地使用最小的尺寸,我将CR2电池安装在外壳的背面(电池盒粘在盒子上)。
    请在文件库中下载STL文件。
    http://make.quwj.com/project/76
  • 组装图片





  • 还需改进的地方

  • 1、使用紫外光谱仪测量各种条件下的实时紫外线指数(紫外光谱仪非常昂贵)。
    2、使用Arduino微控制器同时记录ML8511的输出。
    3、写入算法,在标准的大气条件下实时将ML8511输出与实际UVI值联系起来。
  • 扫描二维码推送至手机访问。

    版权声明:本文由第六芝士网发布,如需转载请注明出处。

    本文链接:http://www.dgx666.com/post/1914.html

    标签: arduino下载
    分享给朋友:

    “用 Arduino DIY便携式紫外线指数仪” 的相关文章

    AMD Software Adrenalin Edition 25.2.1驱动:支持《宣誓》等多款新游戏

    AMD Software Adrenalin Edition 25.2.1驱动程序发布,支持《文明7(Sid Meier's Civilization VII)》、《宣誓(Avowed)》、《怪物猎人:荒野(Monster Hunter Wilds)》和《如龙8外传:夏威夷海盗》几款新游戏。问题修复...

    win10 21h1系统安装cad2014无法启动的解决方法

    说到AutoCAD2014,它是一款计算机辅助设计软件,可以用于绘制,二维制图,和基本三维设计等功能。但是有一位深度技术的小伙伴在win10 21H1系统中安装cad2014软件后,出现了启动不了cad2014的问题,所以深度系统小编就来为大家带来相关的解决方法。方法如下:1、打开默认位置C:\Pr...

    AUTO CAD2014 激活错误处理办法

    我们在安装CAD的时候,在序列号和产品密钥都正确的情况下,但就是激活不了,这是怎么回事呢?下面的方法可以给以参考,实验是可以的。这种情况的出现,多数是因为我们安装了两套或多套CAD软件造成的,第一套CAD软件可以正常激活,第二套为什么就不可以了呢....方法如下:针对证书授权错误0015.111的解...

    在win10系统下给用户安装CAD2007报错怎么办?

    由于用户工作要求,需要在win10系统下安装CAD2007软件使用!我给用户在win10系统下安装CAD2007过程中报错,提示缺少net3.5组件和错误1308怎么解决?现在和朋友们一起学习了解该软件的安装方法和遇到报错的解决方法:我当时从启用或关闭windows功能里添加net组件,不知道什么原...

    摩尔线程内测版驱动发布,解锁DirectX 12能力

    10 月 15 日晚,摩尔线程公布了旗下显卡产品全新驱动的内测消息,表示即将为 MTT S80 和 MTT S70 更新新的内测版驱动,提供 DirectX 12 的支持。本次开启的内测是面向全部用户的,只需要在摩尔线程官方提供的链接之中进行下载,就可以安装对应版本的内测驱动。作为参考,Direct...

    msvcr120.dll丢失怎样修复_msvcr120.dll丢失的解决方法

    msvcr120.dll文件是专门解决电脑丢失问题的工具,是电脑系统中非常重要的一个组件。经常打开某些软件的时候,尤其是海康威视的监控程序,电脑提示无法启动此程序,因为计算机中丢失MSVCR120.dll,尝试重新安装该程序以解决此问题,接下来一起看看操作方法。msvcr120.dll丢失的解决方法...