Micropython: Pilote pour VELM6075 capteur UltraViolet

 Amis du ptit Python,
Bonjour !

Aujourd'hui je vais vous présenter un nouveau pilote MicroPython pour le VEML6075 de Vishay permettant d'évaluer le niveau d'UltraViolet et l'index UV (très important pour éviter les brûlure de peau sur la plage).

Index UV

Le capteur de VEML6075 Vishay permet de calculer l'index UV de la lumière visible à partir de la mesure d'UV-A (350 à 375nm) et UV-B (315 à 340nm).

Il s'agit d'un capteur utilisé dans les applications médicales et humaines (Indications météorologiques d'index UV)

 

Source: fiche produit VEML6075 disponible chez MCHobby

Etant donner qu'il fonctionne sur un bus I2C, le branchement de ce capteur est relativement simple. Voici comment nous l'avons réalisé sur un Raspberry-Pi Pico.

Brancher un VEML6075 sur Raspberry-Pi Pico
Source: GitHub de MCHobby
 

Une fois le pilote installé sur la carte MicroPython, il ne reste plus qu'à tester le code.

from veml6075 import *
from machine import I2C, Pin
import time

# === configuration ===============
# Raspberry-Pi Pico
i2c = I2C( 1, sda=Pin.board.GP6, scl=Pin.board.GP7, freq=100000 )
veml = VEML6075( i2c=i2c )
print( "UV_IT: %s " % veml.conf.UV_IT )
while True:
	uva_raw   = veml.read_uva_raw()       
	uvb_raw   = veml.read_uvb_raw()       
	comp1_raw = veml.read_uv_comp1_raw()  
	comp2_raw = veml.read_uv_comp2_raw()  

	uva = veml.uva           # lecture UVA (float)
	uvb = veml.uvb           # lecture UVB (float)
	uvi = veml.uvi(uva, uvb) # calcul index UV (float)

	print("======== start print ========")
	print("UVA   raw: %s" % uva_raw )
	print("UVB   raw: %s" % uvb_raw )
	print("COMP1 raw: %s" % comp1_raw )
	print("COMP2 raw: %s" % comp2_raw )
	print("")
	print("UVA    : %s" % uva )
	print("UVB    : %s" % uvb )
	print("UVIndex: %.2f" % uvi )
	print("UVIndex:    ")
	if uvi < UVI_LOW:
		print("  UVI faible")
	elif uvi < UVI_MODERATE:
		print("  UVI modéré")
	elif uvi < UVI_HIGH:
		print("  UVI haut")
	elif Uvi < UVI_VERY_HIGH:
		print("  UVI très haut")
	else:
		print("  UVI extrême")

	time.sleep(1)

Pour la lumière visible exclusivement

Ce capteur est destiné à être utilisé avec de la lumière visible et non avec des lampes UV car ces dernières ne produisent pas un spectre UV complet.

Le graphique ci-dessous montre très clairement les longueurs d'ondes utilisées pour réaliser les mesures. On peut facilement y constater les deux pics de sensibilités du capteur.

L'image ci-dessous reprend le spectre d'une lampe UV Raptor, des lampes de qualités utilisées dans les terrariums.


Si on superpose le graphique du capteur Vishay avec le spectre de la lampe Raptor alors on obtient ceci

On peut clairement y voir que les pics de sensibilité du capteur ne correspondent absolument pas aux pics d'émission de la lampe UV.

C'est pour cette raison que le capteur VEML6075 doit être exclusivement utilisé pour mesurer le rayonnement solaire!

Ressources

Où acheter

MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible. 

SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Aucun commentaire