FEATHER-MICROPYTHON-TSL2561

De MCHobby - Wiki
Aller à : navigation, rechercher

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.

Introduction

FEATHER-MICROPYTHON-TSL2561-00.jpg

Le senseur de luminosité TSL2561 est un senseur de lumière avancé, idéal pour une utilisation dans un large champs d'application relatif à la lumière. Ce senseur est plus précis qu'une photo résistance (CdS) et permet un calcul précis de la luminosité (en lux). Il peut être configuré pour différents gains/gamme de fréquences (gain/timing ranges) pour détecter de la lumière à la volée entre 0.1 et plus de 40,000 Lux.

Ce senseur inclus un régulateur 3.3V et "level shifter" 3-5V (circuit d'adaptation de niveaux logique). Vous pouvez donc utiliser ce TSL2561 avec n'importe quel microcontrôleur 3 ou 5v.

Le plus grand intérêt de ce senseur réside dans le fait qu'il contient deux diodes: une infrarouge et une pour le spectre lumineux entier! Cela signifie que vous pouvez séparément mesurer la lumière infrarouge, le spectre entier ou la lumière visible (par nous les humains). La plupart des senseurs peuvent mesurer l'un ou l'autre... ce qui ne reproduit pas fidèlement ce que les yeux humains perçoivent (puisque les yeux humains ne perçoivent pas les InfraRouges pourtant détecté par la plupart des photo-diodes).

Ce senseur dispose d'une interface (I2C). Vous pouvez sélectionner une des trois adresses disponibles, ce qui signifie que vous pouvez en brancher 3 sur une seule carte - chacun avec une adresse I2C différente. Le convertisseur Analogique/Digital interne permet de l'utiliser avec n'importe quel microcontrôleur, même s'il n'a pas d'entrée analogique. La consommation en courant est extrêmement faible, c'est pour cela qu'il convient particulièrement bien pour les système d'enregistrement de donnée (data-logging). Environ 0.5mA lorsque le senseur est actif et moins de 15 µA lorsqu'il est en veille.

N'hésitez pas à consulter notre tutoriel Arduino, il reprend des informations très utiles.

Détails techniques

  • Approche la réponse de l'oeil humain
  • Mesure précisément la luminosité dans différentes conditions lumineuse.
  • Gamme de température: -30 à 80 °C
  • Gamme de mesure dynamique (Lux): 0.1 à 40,000 Lux
  • Gamme de tension: 2.7-3.6V
  • Inclus un régulateur 3.3v et un Level Shifter 3-5V pour une utilisation avec microcontrôleur 3 & 5 volts
  • Interface: I2C
  • Ce composant utilise l'adresse I2C 7 bits 0x39, 0x29, 0x49 (sélectionnable à l'aide de cavalier à souder)
  • Fiche technique du TSL2561.

Schéma

FEATHER-MICROPYTHON-TSL2561-Schema.jpg

Installer

L'utilisation requière l'installation d'une bibliothèque spécifique. Vous trouvez celle-ci ici:

Download-icon.pngTéléchargez la bibliothèque TSL2561

Vous devrez copier les fichiers suivant sur votre carte MicroPython

  • tsl2561.py dans le répertoire racine.

Pour savoir comment copier vos fichiers sur votre carte MicroPython Feather ESP8266 Huzza, vous pouvez vous référer aux ressources suivantes:

Ampy

Tlogo-micropython-Debugger.jpg

Outil simplifié de transfert de fichiers et de contrôlez de carte depuis une connexion série. ESP8266 compatible.

RSHell

Tlogo-micropython-Debugger.jpg

Transférez des fichiers et contrôlez votre carte depuis une simple connexion série. ESP8266 compatible.

 

Tester

Nous allons nous connecter en WebREPL pour tester notre code. Vous pouvez également réaliser ce test en REPL Série via la liaison USB-Série (si celle-ci est disponible).

La connexion REPL et WEBRepl sont abordés dans nos tutoriels généraux ESP8266 sous MicroPython

# Mesure de lumière avec Adafruit TSL2561 (ADA439) et ESP8266 MicroPython

* Shop: Adafruit TSL2561 (ADA439) - http://shop.mchobby.be/product.php?id_product=238
* 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) )

Informations pratiques

Luminosité vs Lux

Voici un petit tableau récapitulatif mettant en correspondance une mesure en Lux et la luminosité ambiante à laquelle elle correspond.

Lux' Luminosité correspondante
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

Adresse I2C

L'adresse par défaut est 0x39 (lorsque la broche d'adresse reste déconnectée).

La broche d'adresse peut être utilisé pour modifier l'adresse I2C en cas de conflit. Connectez la broche ADDR sur la masse pour fixer l'adresse sur 0x29. Connectez sur 3.3V (vcc) pour fixer l'adresse sur 0x49.

La broche INT

La broche INT est une sortie du senseur utilisé lorsque vous avez configuré le senseur pour signaler une modification du niveau lumineux. Si vous désirez utiliser ce signal, vous devez utiliser une résistance pull-up de 10K-100K branchée entre INT et 3.3V

Encore Plus

Voyez:

Où acheter


Tutoriel réaliser par Meurisse D. pour MC Hobby SPRL

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.