HS-S03P Ultraviolett-Sensor

HS-S03P Ultraviolett-Sensor

1、Einführung

Merkmale: 1. Klein: 11mm × 27mm
2. Energieverbrauch niedrig: Spannung 2.5V ~ 5V, der Betriebsstrom ist Mikroampère
3. Linearität gut
4. Hohe Empfindlichkeit
5. Hohe Stabilität
6. Detektionsspektrum breit: 240nm-370nm
7. Großer Winkel: 130 Grad
8. Schottky-Typ Photodioden, geeignet für optoelektronische Betriebsart

Typische Anwendungen: UV-Testgerät, UV-Uhr, Outdoor-Sportausrüstung, Handys und Mobiltelefone
Dieses Produkt kann in der Spezifikation für Handys verwendet werden. Und es gibt eine direkte lineare Stromstärke für den UV-Index (UV INDEX).
Dokumentenlink: https://pan.baidu.com/s/1pJvdC5l
Lernverweis 1: https://zhuanlan.zhihu.com/p/641537240
Lernverweis 2: https://blog.csdn.net/UbiBots/article/details/52558287

2、Schemazeichnung

UV-Sensor HS-S03P SchemaKlicken Sie zum Anzeigen

3、Modulparameter

Pinbezeichnung

Beschreibung

G

GND(Spannungsversorgungsminus)

V

VCC(Spannungsversorgungsplus)

S

Simulations-Signal-Pin

  • Spannungsversorgung: 3.3V / 5V

  • Verbindungsmethode: PH2.0 Steckerkabel

  • Montageart: Doppelbolzenfixierung

4, Platinegröße

5、Arduino IDE Beispielprogramm

Achtung: Wenn beim Hochladen des Programms eine Fehlermeldung bezüglich der Bibliotheksdateien angezeigt wird, laden Sie bitte zuerst die Bibliotheksdateien herunter!
Anleitung zum Herunterladen und Importieren der Bibliotheksdateien für das Arduino IDE:
Klicken Sie zum Anzeigen

Beispielprogramm (UNO-Entwicklerboard):

#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 Beispiel (für Mixly IDE /米思齐)

Entwicklungsboard auswählen Python ESP32 [ESP32 Generic(4MB)] auf den Code-Modus umschalten und hochladen

Achtung: Wenn beim Hochladen des Programms eine Fehlermeldung bezüglich der Bibliotheksdateien angezeigt wird, laden Sie bitte zuerst die Bibliotheksdateien herunter!
米思齐(Mixly)IDE ESP32库文件下载及导入教程:
Klicken Sie zum Anzeigen

示例程序(ESP32-Python):

待更新...

7、米思齐 Mixly 示例程序(图形化语言) in Deutsch

Beispielprogramm (UNO-Entwicklerboard):2、第二步将UNO开发板的库文件下载后解压在桌面。
Achtung: Wenn beim Hochladen des Programms eine Fehlermeldung bezüglich der Bibliotheksdateien angezeigt wird, laden Sie bitte zuerst die Bibliotheksdateien herunter!
米思齐(Mixly)IDE Arduino库文件下载及导入教程:Klicken Sie zum Anzeigen

Beispielprogramm (ESP32-Entwicklungsboard):2、第二步将UNO开发板的库文件下载后解压在桌面。
Achtung: Wenn beim Hochladen des Programms eine Fehlermeldung bezüglich der Bibliotheksdateien angezeigt wird, laden Sie bitte zuerst die Bibliotheksdateien herunter!
米思齐(Mixly)IDE ESP32库文件下载及导入教程:
Klicken Sie zum Anzeigen

8、Testumgebung Einrichtung

Testumgebung für Arduino UNO einrichten

Vorbereiten Sie die Komponenten:

  • UNO-R3 Entwicklungsboard *1

  • UNO-R3 P Erweiterungsplatine *1

  • USB type-c Datenkabel *1

  • LCD1602 Display mit LCD1602 (HS-F21P) *1

  • UV-Sensor (HS-S03P) *1

Schaltplan der Leitung:

ESP32 Testumgebung einrichten

Vorbereiten Sie die Komponenten:Wird aktualisiert...

Schaltplan der Leitung:Wird aktualisiert...

9、Video-Tutorial

Video-Tutorial:Klicken Sie zum Anzeigen

10、Testergebnis

Arduino UNO Testergebnis:

Nachdem die Geräte an die Kabel angeschlossen sind, kopieren Sie das obige Programm auf die UNO-R3PRO-Entwicklungsplatine und schalten Sie den Strom ein.Port-Terminal öffnen, Baudrate auf 9600 einstellen.Das Programm verwendet einen einfachen Filteralgorithmus, um die analogen Ausgabewerte der Sensoren zu sammeln und zu verarbeiten.Genauer gesagt, das Programm führt 1024-mal eine Schleife aus, wobei in jeder Schleife der analoge Wert des A0-Pins gelesen und auf eine Summenvariable addiert wird.Schleifenende, teilen Sie das kumulierte Ergebnis durch 1024, um den Durchschnittswert vout zu erhalten.Dann, durch eine Reihe von mathematischen Berechnungen, wird der Durchschnitt in den Ausgangsstrom der Lichtsensorspannung (in Millivolt) umgewandelt und das Ergebnis wird auf den seriellen Monitor gedruckt.auch über ein LCD1602-Display den Lichtstrom und den Spannungsausgang (in Millivolt) ausgeben, durch diesen Prozess wird die Intensität des UV-Lichts gemessen und in den entsprechenden UV-Grad umgerechnet.

ESP32 Testergebnis:

Wird aktualisiert...