arduino测距仪教程(用ArduinoDIY便携式紫外线指数仪)

arduino测距仪教程(用ArduinoDIY便携式紫外线指数仪)(1)

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

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

材料清单

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

传感器说明

arduino测距仪教程(用ArduinoDIY便携式紫外线指数仪)(2)

arduino测距仪教程(用ArduinoDIY便携式紫外线指数仪)(3)

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值联系起来。
  • ,

    免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

      分享
      投诉
      首页