MicroPython: capteur luminosité grove (U136) et joystick analogique Grove (U024) de M5Stack
Bonjour à tous, et salutation aux amoureux du ptit Python (MicroPython) :-)
¸.·´¯`·.(MicroPython)·´¯`ᕙ
Je dois avouer beaucoup aimer les modules Grove de M5Stack, ils ont une esthétique bien finie, disposent d'une connectique Grove, supporte I2C mais surtout, ils utilisent des signaux logiques en 3.3V (donc directement compatible avec Raspberry-Pi Pico, Pyboard, ESP32, ESP8266).
Pour ces deux nouveaux pilotes MicroPython, je me suis penché sur un capteur de luminosité et sur un joystick analogique... tous les deux fonctionnant en I2C.
I2C DLight Unit - U136
L'unité Grove DLight est un capteur de luminosité Ambiante numérique utilisant le capteur BH1750FVI. Ce capteur communique via un bus I2C, utilise un convertisseur analogique 16 bits (ADC) et offre une large gamme de mesure de 1 à 65535 Lux.
Unité DLight (I2C, U136) @ MCHobby |
Je dois avouer avoir été agréablement surpris par ce module. Son utilisation est simple et l'information renvoyé très facilement exploitable. L'utilisation est stable.
Au contraire d'autre modules excessivement réactif et/ou hyper-sensibles, celui-ci permet d'évaluer la luminosité avec un retour de résultat suffisamment pondéré que pour être directement exploitable dans une application tout publique.
Les capteurs de précision sont forcement sont réactifs et sensibles, donc parfois difficiles à maîtriser (du point de vue logiciel) pour les nouveaux venus. En effet, des données qui changent très rapidement et dans de grandes amplitudes peuvent produire des "faux positifs" dans les programmes des débutants.
Cette unité DLight basée sur le composant BH1750FVI-TR est donc un excellent compromis.
Le raccordement sur un Pico est simple et comme c'est en I2C, rien n'empêche de le combiner avec d'autres unités/modules I2C.
Source: Github ESP8266-upy et ses nombreux pilotes |
Et une fois la bibliothèque dlight.py installée, rien de plus simple pour exploiter de module grove.
from machine import I2C from dlight import * from time import sleep # Pico - I2C(1) - sda=GP6, scl=GP7 i2c = I2C(1) # M5Stack core # i2c = I2C( sda=Pin(21), scl=Pin(22) ) ambiant = AmbiantLight(i2c) ambiant.set_mode( CONTINUOUSLY_H_RESOLUTION_MODE ) while True: print( 'Light: %i Lux' % ambiant.lux ) sleep( 0.200 )
Simple et efficace :-)
I2C Analog Joystick - U024
Voici un autre module I2C sympa qui propose une connectique Grove.... c'est le joystick analogique I2C... donc combinable avec d'autres composants/modules sur le même bus I2C.
Joystick Analogique I2C (U024) @ MCHobby |
Au branchement sur Pico aussi simple que le précédent montage.
Source: dépôt Esp8266-upy/m5stack-u024 |
Il faut bien entendu installer le pilote joyi2c.py pour faciliter l'utilisation du module. Une fois ceci fait, il devient très simple d'utiliser le joystick.
from machine import I2C from joyi2c import Joystick from time import sleep # Pico - I2C(1) - sda=GP6, scl=GP7 i2c = I2C(1) # M5Stack core # i2c = I2C( sda=Pin(21), scl=Pin(22) ) joy = Joystick(i2c) while True: joy.update() # Capturer l'etat du joystick via I2C print( "X: %4i, Y: %4i, Button: %s" % (joy.x, joy.y, joy.button) ) sleep( 0.1 )
Ressources
- Unité DLight (I2C, U136) @ MCHobby
- Joystick Analogique I2C (U024) @ MCHobby
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.
Écrire un commentaire