Modifications

Sauter à la navigation Sauter à la recherche
3 663 octets ajoutés ,  15 décembre 2018 à 14:22
aucun résumé de modification
Ligne 1 : Ligne 1 :    −
{{traduction}}
  −
  −
Voir [https://github.com/mchobby/esp8266-upy/tree/master/modltr501 le GitHub en attendant]
   
== Introduction ==
 
== Introduction ==
 
Le module utilise un MOD-LTR-501ALS pour effectuer:
 
Le module utilise un MOD-LTR-501ALS pour effectuer:
Ligne 16 : Ligne 13 :  
* S'utilise également comme senseur de proximité (jusqu'à 10cm).
 
* S'utilise également comme senseur de proximité (jusqu'à 10cm).
 
* Un connecteur UEXT pour faciliter le raccordement.
 
* Un connecteur UEXT pour faciliter le raccordement.
 +
 +
La carte dispose également de caractéristiques intéressantes:
 +
 +
{{underline|Senseur de luminosité:}}
 +
* Réponse spectrale proche de l'oeil humain
 +
* Senseur immunisé contre les sources Infrarouge (IR) et UltraViolet (UV)
 +
* Rejet automatique du scintillement lumineux à 50 / 60 Hz (ex: tubes néon)
 +
* Gain dynamique de 2 lux à 64K lux
 +
* Gain dynamique (gamme haute résolution) de 0.01 lux à 320 lux
 +
* Résolution 16-bits
 +
 +
{{underline|Senseur de proximité:}}
 +
* Contrôleur LED intégré, émetteur et récepteur
 +
* contrôleur LED programmable (train d'impulsion, courant max, temps de lecture)
 +
* Suppression de la lumière ambiante
 +
* Lecture avec résolution 11-bits
 +
 +
=== Fonctionnalités avancées ===
 +
Documenté dans la fiche technique, le senseur de proximité offre des fonctionnalités avancées comme la détection d'objet si celui-ci se trouve à une distance configurée par l'utilisateur, des seuils utilisateurs et une broche d'interruption.
 +
 +
La broche d'interruption (cf. fiche technique) qui élimine la nécessité de lire cycliquement les données du senseur de façon à améliorer l'efficacité du système.
 +
 +
C'est fonctionnalités ne sont pas implémentés dans la bibliothèque car le senseur n'expose qu'un connecteur UEXT (et donc une fonctionnalité de base). Il est cependant possible de consulté la fiche technique ([https://shop.mchobby.be/uext/1415-senseur-proximite-et-lumiere-ltr501-connecteur-uext-3232100014152-olimex.html voir fiche produit]).
 +
 +
La fonction {{fname|init()}} utilise un paramétrage par défaut qui conviendra dans de nombreux cas.
 +
Il est possible d'ajouter des paramètres complémentaires pour ajuster plus finement le paramétrage en fonction des paramètres que vous trouverez dans la fiche technique ([https://shop.mchobby.be/uext/1415-senseur-proximite-et-lumiere-ltr501-connecteur-uext-3232100014152-olimex.html voir fiche produit]).
    
== Matériel utilisé ==
 
== Matériel utilisé ==
Ligne 77 : Ligne 100 :  
Avant d'utiliser le script d'exemple, il est nécessaire de transférer la '''bibliothèque ltr501''' sur votre carte MicroPython.
 
Avant d'utiliser le script d'exemple, il est nécessaire de transférer la '''bibliothèque ltr501''' sur votre carte MicroPython.
   −
La [https://github.com/mchobby/esp8266-upy/tree/master/modltr501 bibliothèque '''mag3110''' et sa documentation] sont disponibles dans le [https://github.com/mchobby/esp8266-upy GitHub esp8266-uPy].
+
La [https://github.com/mchobby/esp8266-upy/tree/master/modltr501 bibliothèque '''ltr5013''' et sa documentation] sont disponibles dans le [https://github.com/mchobby/esp8266-upy GitHub esp8266-uPy].
    
{{download-box|Télécharger la bibliothèque ESP8266-uPy|https://github.com/mchobby/esp8266-upy/archive/master.zip}}
 
{{download-box|Télécharger la bibliothèque ESP8266-uPy|https://github.com/mchobby/esp8266-upy/archive/master.zip}}
Ligne 96 : Ligne 119 :  
En adaptant le code (et les raccordements du bus I2C), vous pourriez tout aussi facilement faire fonctionner des cartes ESP8266 comme {{pl|67|Feather ESP8266 Huzza}} ou {{cl|121|Wemos D1}} ou même {{pl|570|MicroPython Pyboard}}.
 
En adaptant le code (et les raccordements du bus I2C), vous pourriez tout aussi facilement faire fonctionner des cartes ESP8266 comme {{pl|67|Feather ESP8266 Huzza}} ou {{cl|121|Wemos D1}} ou même {{pl|570|MicroPython Pyboard}}.
   −
=== Exemple: lecture brute ===
+
=== Exemple: lecture Lux et Proximité ===
{{traduction}}
+
L'exemple suivant fait une lecture des données senseur Lux et du senseur de proximité et affiches les résultats dans la sessions REPL.
L'exemple suivant fait une lecture des données brutes (en mode RAW) du magnétomètre et les affiches dans la session REPL.
     −
Les données sont retournée par la méthode {{fname|read()}} sous la forme d'un tuple (x,y,z).
+
{{underline|'''Luminosité:'''}}
 +
 
 +
La propriété {{fname|lux}} retourne la luminosité exprimée en Lux. '''Attention:''' retourne un tuple de valeur correspondant respectivement au convertisseur 0 et 1 (Nommé ADC_0, ADC_1 ou encore ALS_0 et ALS_1. ALS signifiant Lux Senseur).
 +
 
 +
Nous avons remarqués que ADC_0 retournait une valeur similaire à la valeur en Lux (mesuré avec un TSL). Nous en avons conclus que ADC_1 retourne une valeur correspondant à l'InfraRouge (IR). Cependant, rien de pertinent n'est indiqué la datasheet!
 +
 
 +
[[Fichier:MICROPYTHON-MOD-LTR501ALS-30.png|480px]]
 +
 
 +
{{underline|'''Proximité:'''}}
 +
 
 +
La propriété {{fname|proximity}} retourne un tuple avec la valeur brute du convertisseur et un calcul de la distance en cm.
    
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
Ligne 107 : Ligne 139 :     
i2c = I2C( sda=Pin(2), scl=Pin(4) )  
 
i2c = I2C( sda=Pin(2), scl=Pin(4) )  
ltr = LTR_501ALS( i2c ) # gamme de 2 Lux à 64000 Lux
+
ltr = LTR_501ALS( i2c ) # gamme par défaut, 2 à 64000 Lux
   −
# Utiliser le contructeur suivant pour la gamme de 0.01 à 320 Lux range
+
# Utiliser cet autre constructeur la lecture haute
 +
# résolution dans la gamme de 0.01 à 320 Lux.
 
#
 
#
 
# ltr = LTR_501ALS( i2c, lux_range = LUX_RANGE_320 )  
 
# ltr = LTR_501ALS( i2c, lux_range = LUX_RANGE_320 )  
Ligne 136 : Ligne 169 :  
     print( '-'*40 )
 
     print( '-'*40 )
 
     sleep( 1 )
 
     sleep( 1 )
      
print( "That's the end folks")
 
print( "That's the end folks")
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
Résultats rendu par le script dans la session REPL sont les suivants:
 +
 +
<nowiki>Lux ALS_0, ALS_1 =  (11, 26)
 +
Proximity value, cm = (1453, 2.90181)
 +
----------------------------------------
 +
Lux ALS_0, ALS_1 =  (12, 25)
 +
Proximity value, cm = (953, 5.34441)
 +
----------------------------------------
 +
Lux ALS_0, ALS_1 =  (13, 25)
 +
Proximity value, cm = (827, 5.95994)
 +
----------------------------------------
 +
Lux ALS_0, ALS_1 =  (13, 25)
 +
Proximity value, cm = (760, 6.28725)
 +
----------------------------------------
 +
Lux ALS_0, ALS_1 =  (14, 25)
 +
Proximity value, cm = (737, 6.39961)</nowiki>
 +
 +
== Où acheter ==
 +
* Le {{pl|668|ESP8266-EVB}} utilisé dans ce tutoriel pour faciliter le raccordement. Pourrait fonctionner avec un {{pl|846|Feather ESP8266}} avec le raccordement adéquat.
 +
* Le {{pl|667|ESP8266-DEV}} module équipant la carte ESP8266-EVB.
 +
* Le {{pl|1415|module MOD-LTR-501ALS}} senseur de luminosité et proximité.
 +
* Le {{pl|1412|module UEXT Splitter}}
 +
* La {{cl|67|La gamme IoT/ESP8266}} disponible chez MC Hobby
 +
* Un {{pl|144|Convertisseur USB-Série TLL}}
 +
 +
<hr />
 +
<small>Tutoriel réaliser par Meurisse D. pour [http://shop.mchobby.be MC Hobby SPRL]</small>
 +
 +
{{MCH-Accord}}
29 917

modifications

Menu de navigation