Pilote MCP23S17 (GPIO Expander SPI) pour MicroPython

Bonjour à tous,

Aujourd'hui, nous publions un nouveau pilote MicroPython. 

Cette fois, il s'agit d'un Pilote MicroPython pour le MCP23S17, un GPIO expander sur interface SPI.
Ce composant permet d'ajouter jusque 16 entrées/sorties sur un microcontrôleur.

MCP23S17 - GPIO Expander over SPI

Attention, à ne pas confondre le MCP23S17 (via SPI) avec le MCP23017 (via I2C).

Pourquoi un pilote MCP23S17?

Ce composant est utilisé sur pas mal de HAT Raspberry-Pi (comme par exemple, le PiFace Digital), ce qui permettrait maintenant d'utiliser de tels HATs sous MicroPython :-)

Pour la petite histoire, le pilote à été développé avec un PYBStick sous MicroPython et l'adaptateur PYBSTICK-HAT-FACE.
Il y aura donc bientôt un nouveau pilote pour le Hat PiFace Digital ;-)

Le montage du MCP23S17

MCP23S17 avec Pyboard - source: esp8266-upy
MCP23S17 avec PYBStick - source: esp8266-upy

Le pilote est écrit de façon à être aussi simple d'emploi que celui du MCP23017 (l'API est identique).

Le code suivant (extrait des exemples) permet de manipuler les 16 GPIOs du MCP23S17 branché sur une Pyboard.

from mcp23Sxx import *
from machine import SPI, Pin
import time

# Pyboard: périphérique SPI
spi = SPI( 2 ) # SCLK=Y6 (#23), MISO=Y7 (#21), MOSI=Y8 (#19)

# Chip Select sur SPI
cs = Pin( 'Y11', Pin.OUT ) # SPI_CE0=Y11 (#24)
cs.value( 1 )

# MCP23S17 - SPI GPIO extender
mcp = MCP23S17( spi, cs ) # default: device_id=0x00

for x in range(0, 16):
	mcp.setup(x, Pin.OUT)

print("fait clignoter (CTRL+C pour quitter)")
while (True):
	for gpio in range(0, 16):
		mcp.output(gpio, True )
	time.sleep(1)

	for gpio in range(0, 16):
		mcp.output(gpio, False)
	time.sleep(1)

Ressources

 
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