MicroPython - pilote pour carte contrôleur FETs de NCD.io

Bonjour à tous,
Toujours dans la production de pilotes MicroPython, nous poursuivons notre petit bonhomme de chemin dans le développement de pilote MicroPython.

4 FET Solenoïd Drivers + 4 GPIOs sur ncd.io
Toujours aussi captivé par le connecteur NCD (voir interface pour Pyboard et  interface ESP8266 ici) qui transporte le bus I2C, cette fois, je me suis penché sur une carte de contrôle pour élément passif et inductif... comme des moteurs, des solénoïdes, etc.

La bibliothèque FetSol (disponible sur le GitHub de MCHobby) permet de prendre très simplement le contrôle de la carte à partir d'un simple connecteur à 4 broches (Haaa, la magie du bus I2C).

from machine import I2C, Pin
from fetsol import FetSolenoid4
import time

# Créer le bus I2C en fonction de la plateforme.
# Pyboard: SDA sur Y9, SCL sur Y10.
#   Vitesse réduite à 100 Khz pour réaliser des test.
i2c = I2C( 2, freq=100000 )
# Feather ESP8266 & Wemos D1: sda=4, scl=5.
# i2c = I2C( sda=Pin(4), scl=Pin(5) )
# ESP8266-EVB
# i2c = I2C( sda=Pin(6), scl=Pin(5) )

# Ajouter le paramètre "address" si nécessaire (0x20 par défaut)
board = FetSolenoid4( i2c )

# Activer les sorties FETs
for i in range(4):
 board.output( i, True )
 time.sleep( 1 )

# désactiver les 4 sorties en deux étapes
board.output_pins( {0: False, 2: False } )
time.sleep( 1 )
board.output_pins( {1: False, 3: False } )
time.sleep( 1 )

# Utiliser un dictionnaire pour modifier l'état de plusieurs broches
dic = {}
dic[2] = True
dic[3] = True
board.output_pins( dic )
time.sleep( 1 )

# Reset de tous les FETs
board.reset()

# --------------------------------------------
#   Manipuler les GPIOs
# --------------------------------------------
# Configurer le GPIO 6 en sortie (output)
board.setup( 6, Pin.OUT )
board.output( 6, True )

# Configurer le GPIO 4 en entrée (input) + activer la pull-up
board.setup( 4, Pin.IN )
board.pullup( 4, True )
# Faire 10x la lecture de l'entrée
for i in range( 10 ):
 print( "GPIO 4 = %s" % board.input(4) )
 time.sleep( 1 )

# Désactiver le GPIO 6
board.output( 6, False )

Si jamais cela vous intéresse, vous pouvez toujours jeter un coup d'oeil sur les produits NCD.... et toute leur gamme vraiment très intéressante.
Connecteur NCD pour Pyboard
Utiliser un connecteur NCD avec MicroPython Pyboard
connecteur NCD avec MicroPython Pyboard GitHub de MCHobby
Voir aussi

Aucun commentaire