M5Stack U135 : Encoder Unit sous MicroPython - Grove, Raspberry Pi Pico

Bonjour à tous,

L'article du jour concerne les amateurs de MicroPython (et de leur Raspberry-Pi Pico).

Nous venons de publier un pilote pour le module U135 de M5Stack

Pilote stocké dans le dépôt esp8266-upy des pilotes génériques pour MicroPython.

Ce module est un encodeur rotatif I2C exposant une connectique Grove. L'encodeur est cliquable et dispose de 2 LEDs RGB programmable (aussi appelée NeoPixels).

module U135 de M5Stack

Le but du pilote est de simplifier les échanges avec le module Encodeur.
Les modules M5Stacks sont bien entendu utilisable avec la gamme M5Stack Core/Core2/.... Mais cette fois, c'est avec un Raspberry-Pi Pico sous MicroPython que nous allons utiliser ce module.

Source: dépôt esp8266-upy/m5stack-u135

Une fois la bibliothèque i2cenc.py sur la carte MicroPython , il devient très simple d'interagir avec le module comme le démontre le script d'exemple ci-dessous

from machine import I2C
from i2cenc import I2CEncoder
from time import sleep

# Pico - I2C(0) - sda=GP8, scl=GP9
i2c = I2C(0)
# M5Stack core
# i2c = I2C( sda=Pin(21), scl=Pin(22) )

enc = I2CEncoder(i2c)

print( "Testing the LEDs" )
enc.color = (255,0,0) # Red
sleep( 0.5 )
enc.color = (0,255,0) # Green
sleep( 0.5 )
enc.color = (0,0,255) # Blue
sleep( 1 )
enc.color = (0,0,0) # Off

print( "Press the button and rotate the encoder")

last_v = 0
while True:
	if enc.button: # Is the button currently pressed ?
		print( 'Button PRESSED')

	v = enc.position # -32768 <= v <= 32767
	if v != last_v: # Only display if value changes
		print( v )
		last_v = v
	sleep( 0.05 )

Ressources

Liste d'achat

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