Inhaltsverzeichnis
SI1145 UV-Sensor
Diese Seite ist in Entwicklungsphase
Allgemeines zum SI1145
Der SI1145-Sensor gibt die UV-Strahlung (Ultraviolettstrahlung) an.
Die UV-Strahlung gibt die Intensität des Sonnenlichtes wieder. Sie wurde von der World Health Organization festgelegt, denn eine zu lange Zeit an der Sonne schlecht für die Gesundheit ist, daher ist es unteranderem wichtig ein solchen Sensor in einer professionelen Wetterstation zu integrieren.
Der UV Index und die UV-Skala, die den Sensor angibt, kann hier nachgelesen werden.
Hier auch noch mal ein Link zur Erklärung.
Raspberry Pi Konfiguration
Um den PI1145 Sensor nutzen zu können, müssen folgende Einstellungen vorgenommen werden.
1. Aktualisiere dein System und Python:
sudo apt update; sudo apt dist-upgrade sudo pip3 install --upgrade setuptools
2. Für den UVSensor werden die GPIO-Module benötigt. Zuerst ist eine Aktivierung im Raspberry Pi notwendig. Dafür müssen folgende Befehle im Terminal ausgeführt werden:
sudo raspi-config # unter Interfacing Options muss GPIO aktiviert werden # NICHT neu starten!
3. Installiere die si1145-Bibliotheken:
Download:SI1145-Bibliotheken download
Verkabelung
Verkable den SI1145 UV-Sensor folgendermaßen:
Ground → Raspiground
Vin → 3V3
SDA → GPIO2
SCL → GPIO3
Hier ein Beispiel mit dem Raspi zero, die Pins-Platzierungen sind dieselben mit jeden Raspi, die Verkablung ist also dieselbe.
Es ist möglich noch eine IR-LED an dem LED-Pin zu verbinden, um einen basic proximity sensor capability zu integrieren, da der SI1145 Sensor dieses auch unterstützt.
Bei Unsicherheiten überprüfe die Pins des Raspis mit:
pinout
Alle weiteren möglichen physischen als auch technischen Informationen zum Adafruit SI1145 Breakout Board - UV index / IR / Visible Sensor können auch hier nachgeschaut werden.
Code
Hier ist eine Möglichkeit für einen Code, das die UV Strahlung angibt, nach der UV-Skala siehe oben. Es wird alle drei Sekunden aktualisiert.
import time import SI1145 sensor = SI1145.SI1145() while True: vis = sensor.readVisible() IR = sensor.readIR() UV = sensor.readUV() uvIndex = UV / 100.0 print("Vis:" + str(vis)) print("IR:" + str(IR)) print("UV Index:" + str(uvIndex)) time.sleep(3)