这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 体验GUVA-S12SD紫外线检测模块

共1条 1/1 1 跳转至

体验GUVA-S12SD紫外线检测模块

专家
2025-09-24 18:08:42     打赏

GUVA-S12SD是一款高灵敏度的紫外线检测二极管,类似光电二极管那样,它是专门针对波长介于240-370nm的紫外线检测二极管。

图片1.png

由该器件构成的模块

图片2.png

电路原理图:

图片3.png

工作参数:

1、供电电压2.5V~5V,工作电流是微安级

2、检测波长范围:240nm-370nm

3、检测角度:130度

由于是模拟输出,在使用ESP8266测试场合,可以直接将SIG输出端直接接到ADC引脚上,程序代码如下:

// ESP8266驱动GUVA-S12SD紫外线传感器示例
// 注意事项:传感器VCC请连接至3.3V
const int sensorPin = A0; // ESP8266的模拟输入引脚
// 定义参考电压(通常是3.3V,但实际可能有偏差,建议用万用表测量)
const float VREF = 3.3;
// ESP8266的ADC分辨率为10位(0-1023)
const int ADC_RESOLUTION = 1023;
void setup() {
  Serial.begin(115200); // 初始化串口通信
  Serial.println("ESP8266 GUVA-S12SD UV Sensor Test");
  Serial.println("=================================");
}
void loop() {
  // 1. 读取模拟值(0-1023)
  int adcValue = analogRead(sensorPin);
  // 2. 将ADC值转换为电压值(单位:伏特)
  float voltage = (adcValue * VREF) / ADC_RESOLUTION;
  // 3. 根据传感器特性计算紫外线强度
  // GUVA-S12SD的灵敏度通常在~0.1V per UV index左右。
  // 一个常见的估算公式是:紫外线指数 ≈ 电压值 * 10
  // 注意:这是一个近似值,精确计算请参考传感器数据手册的响应曲线。
  float uvIndex = voltage * 10.0;
  // 4. 将结果打印到串口监视器
  Serial.print("ADC Value: ");
  Serial.print(adcValue);
  Serial.print(" | Voltage: ");
  Serial.print(voltage, 2); // 保留2位小数
  Serial.print(" V");
  Serial.print(" | Estimated UV Index: ");
  Serial.println(uvIndex, 1); // 保留1位小数
  // 5. 等待1秒后进行下一次读取
  delay(1000);
}


测试过程中,为了显著性增加紫外线照射,使用了烘干指甲油用的紫外线小装置,可以看到数据的明显变化

图片4.png







关键词: 大懒猫的试用笔记     GUVA-S12SD    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]