HS-S03P 자외선 센서

HS-S03P 자외선 센서

1、소개

특징: 1. 크기 작음 : 11mm×27mm
2.功耗低:전원전압 2.5V~5V, 작업전류는 마이크로안급
3.선형 좋음
4.감도 높음
5.고정성 높음
6.检测范围宽:240nm-370nm 한국어
7.大角度:130度 한국어
8.肖特基种类的光敏二极管,适用于光电模式 한국어

типичное применение: тестер ультрафиолетового излучения, ультрафиолетовые часы, спортивное оборудование на открытом воздухе, сотовый телефон и т.д.
이 제품은 모바일 통신 영역의 스펙을 사용할 수 있으며, 직접 UV 지수(UV INDEX)와 대응하는 선형 전류가 있습니다。
자료 링크: https://pan.baidu.com/s/1pJvdC5l
학습 링크 1: https://zhuanlan.zhihu.com/p/641537240
학습 링크2: https://blog.csdn.net/UbiBots/article/details/52558287

2、시뮬레이션 그래프

紫外光센서 HS-S03P 원리도点击查看

3、모듈 매개변수

핀 이름

설명

G

GND(전원 입력 부정极)

V

VCC(전원 입력 정극)

S

모의신호핀

  • 전원전압: 3.3V / 5V

  • 연결방식: PH2.0 케이블접속

  • 설치방식: 더블스크루 고정

4、회로판 크기

5、아두이노 IDE 예제 프로그램

주의: 프로그램을 업로드할 때 라이브러리 파일 오류가 표시되면 먼저 라이브러리 파일을 가져오세요!
Arduino IDE 라이브러리 다운로드 및 导入 가이드:
点击查看

예제 프로그램(UNO 개발 보드):

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C mylcd(0x27,16,2);
int sensorValue;//传感器输出的数据包
long sum = 0;//由于测试中发现数据会溢出,就用了long,long目前还未溢出过
int vout = 0;//由于通信中输出的是整一串数据包,所以需要翻译,vout是处理好的数据,也就是CJMCU-GUVA-S12SD传感器光电流的输出电压
int uv = 0;//紫外线等级

void setup(){
Serial.begin(9600);//CJMCU-GUVA-S12SD的波特率为9600
mylcd.init();
  mylcd.backlight();
}

void loop()
{    
  sensorValue = 0;
  sum = 0;
  for(int i = 0 ; i < 1024 ; i++ )//这里我用的是最简单的filter算法
  {  
      sensorValue = analogRead(A0);
      sum = sensorValue + sum;
      delay(2);
  }
  vout = sum >> 10;//开始数据处理
  vout = vout * 4980.0 / 1024;
  Serial.print("The Photocurrent value : ");
  Serial.print(vout);
  Serial.println("mV");
  if(vout < 50){  //查表,把得到的光电流值转换成紫外线等级
    uv = 0;
  }
  else if(vout < 227){
    uv = 1;
  }
  else if(vout < 318){
    uv = 2;
  }
  else if(vout < 408){
    uv = 3;
  }
  else if(vout < 503){
    uv = 4;
  }
  else if(vout < 606){
    uv = 5;
  }
  else if(vout < 696){
    uv = 6;
  }
  else if(vout < 795){
    uv = 7;
  }
  else if(vout < 881){
    uv = 8;
  }
  else if(vout < 976){
    uv = 9;
  }
  else if(vout < 1079){
    uv = 10;
  }
  else{
    uv = 11;
  }
  delay(20);
  Serial.print("UV Index = ");
  Serial.println(uv);
mylcd.clear();
 mylcd.setCursor(0, 0);
  mylcd.print(String(" value :") + String(vout) + String("mV"));
  mylcd.setCursor(0, 1);
  mylcd.print(String("   UV Index =") + String(uv));
  }

6、ESP32 Python 예제(Mixly IDE /미스키에 적용됨)

개발 보드를 선택하세요 Python ESP32 【ESP32 Generic(4MB)】를 코드 모드로 전환하여 업로드하십시오

주의: 프로그램을 업로드할 때 라이브러리 파일 오류가 표시되면 먼저 라이브러리 파일을 가져오세요!
미시지(Mixly)IDE ESP32 라이브러리 다운로드 및 가져오기 가이드:
点击查看

예제 프로그램(ESP32-Python):

待更新...

7、미스키 Mixly 예제 프로그램(그래픽 언어)

예제 프로그램(UNO 개발 보드):다운로드 클릭
주의: 프로그램을 업로드할 때 라이브러리 파일 오류가 표시되면 먼저 라이브러리 파일을 가져오세요!
미스키(Mixly)IDE Arduino 라이브러리 다운로드 및 가져오기 가이드:点击查看

예제 프로그램(ESP32 개발 보드):다운로드 클릭
주의: 프로그램을 업로드할 때 라이브러리 파일 오류가 표시되면 먼저 라이브러리 파일을 가져오세요!
미시지(Mixly)IDE ESP32 라이브러리 다운로드 및 가져오기 가이드:
点击查看

8、테스트 환경 구축

Arduino UNO 테스트 환경 구축

부품 준비:“

  • UNO-R3 개발 보드 *1

  • UNO-R3 P 확장판 *1

  • USB type-c 데이터 케이블 *1

  • LCD1602液晶 디스플레이 (HS-F21P) *1

  • 紫外线센서 (HS-S03P) *1

전기 연결도):

ESP32 테스트 환경 설정

부품 준비:“업데이트 대기 중...

전기 연결도): 업데이트 대기 중...

9、비디오 강의

비디오 강의:点击查看

10、테스트 결과

Arduino UNO 테스트 결과:

선을 연결한 장치에 대해, 위의 프로그램을 UNO-R3PRO 개발판에 기록한 후, 전원을 켜십시오。串口监视器를 열고,波特수를 9600으로 설정합니다。프로그램은 간단한 필터 알고리즘을 사용하여 센서의 모의 출력 값을 수집하고 처리합니다.한글로 말하자면, 프로그램은 1024번의 루프를 통해 각 루프에서 A0 핀의 모의 값을 읽고 이를 총 합 변수에 누적합니다.루프가 끝난 후, 누적된 결과를 1024로 나누어 평균 값 vout을 얻습니다.그런 다음, 일련의 수학적 계산을 통해 평균 값을 센서의 광전류 출력 전압(밀리볼트로 표시)으로 변환하여 결과를 시리얼 모니터에 출력합니다。한LCD1602液晶표시기로도 빛전류와 전압(밀리볼트로 표시)을 출력할 수 있으며, 이 과정을 통해 프로그램이紫外线의 강도를 측정하고, 그에 따라紫外线 등급을 변환하는 데 성공했습니다.

ESP32 테스트 결과:

업데이트 대기 중...