Feather Huzza ESP8266 sous MicroPython + TSL2561 - lecture de la luminosité

Encore un petit moment détente ce, après le DHT11 (senseur d'humidité) et AM2315 (senseur température humidité), nous nous penchons sur le TSL2561, un senseur qui permet de mesurer la luminosité en Lux.
TSL2561 - disponible chez MCHobby

Le but est de le faire fonctionner ce senseur avec un Feather-Huzzah-ESP8266 sous MicroPython.
Feather-Huzzah-ESP8266
Un luxmètre (senseur de luminosité) est le bienvenu lorsque l'on crée sa propre station météo.

Raccordement
Raccordement d'un TSL2561 sur une carte Feather ESP8266 Huzza

Bibliothèque tsl2561
Pour lire les données du senseur, nous avons ajouté la bibliothèque tsl2561 sur notre GitHub (voyez le fichier tsl2561.py disponible sur notre GitHub ).
Vous pourrez l'ajouter sur votre carte MicroPython afin de pouvoir accéder au senseur.

Le code
Une fois la bibliothèque tsl2161.py disponible sur la carte MicroPython, vous pouvez utiliser une session REPL ou WebREPL pour tester le senseur avec le code suivant:
# Mesure de lumière avec Adafruit TSL2561 (ADA439) et ESP8266 MicroPython

* Shop: [Adafruit TSL2561 (ADA439)](http://shop.mchobby.be/product.php?id_product=397)
* Wiki: https://wiki.mchobby.be/index.php?title=MicroPython-Accueil#ESP8266_en_MicroPython

from tsl2561 import *
from machine import I2C, Pin

# Ne pas utiliser la broche 7 pour SCL parce ce qu'il perturbe la sequence
# de boot lorsqu'une alimentation est branchée sur le connecteur microUSB
# 
i2c = I2C( sda=Pin(4), scl=Pin(2), freq=20000 )

tsl = TSL2561( i2c )
# Lecture d'une valeur
#   Cela activera automatiquement le senseur (ce qui prend du temps)
#   puis effectue la lecture ensuite désactive le senseur.
#   Retourne une valeur en lux (ex: 6.815804 Lux)
print( tsl.read() )

# Note: vous pouvez activer/désactiver manuellement le senseur avec
# active(True/False).

# Vous pouvez changer manuellement le gain et temps d'intégration
# * Le gain peut être 1 ou 16
# * Le temps d'intégration : 0 ou 13 ou 101 ou 402 (0=manuel)
tsl.gain( 16 )
tsl.integration_time( 402 )
print( tsl.read() )

# Vous pouvez également utiliser une sélection automatique du gain (AutoGain)
# (uniquement si vous n'utilisez pas d'intégration manuelle)
tsl.integration_time( 402 )
print( tsl.read(autogain=True) )

Luminosité vs Lux
C'est bien beau de pouvoir mesure des Lux mais à quoi cela correspond t'il donc?
Voici donc un petit tableau informatif que vous ne manquerez pas de trouver utile.
  • 0.002 lux : Nuit par temps clair sans lune.
  • 0.2 lux : Minimum de lumière que doit produire un éclairage d'urgence (AS2293).
  • 0.27 : 1 lux Pleine lune par temps clair.
  • 3.4 lux : Limite crépusculaire (sombre) au couché du soleil en zone urbaine.
  • 50 lux : Eclairage d'un living room
  • 80 lux : Eclairage des toilette/Hall
  • 100 lux : Journée très sombre/temps très couvert.
  • 300 - 500 lux : Levé du soleil, luminosité par temps clair. Zone de bureau correctement éclairée.
  • 1,000 lux : Temps couvert; Eclairage typique d'un studio TV
  • 10,000 - 25,000 lux : Pleine journée (pas de soleil direct)
  • 32,000 - 130,000 lux : Soleil direct 
Où acheter