MicroPython: Relais I2C Qwiic de SparkFun (COM-15093) mais aussi COM-16566, KIT-16833, COM-16810

Bonjour à tous,

Aujourd'hui, nous nous penchons sur un nouveau Pilote MicroPython, celui qui permet de contrôler le relais Qwiic de Pololu (commandable via I2C).

Relais I2C Qwiic

Relais I2C Qwiic (COM-15093)

La connectique Qwiic utilise un bus en 3.3V et une alimentation 3.3V.
Perso j'étais quand même curieux de voir un relais avec bobine 3.3V en fonctionnement (je ne savais même pas que cela existait!).
Je fût agréablement surpris, Omron fait vraiment des très bon produit!

Il s'agit d'un Relais I2C, il nous faudra donc un petit pilote relayi2c.py MicroPython pour simplifier son utilisation avec la classe SingleRelay et MultiRelay .
La beauté de ce développement MicroPython c'est qu'il offre également le support pour les modèle COM-16566 (4 relais), KIT-16833 (4 Solid State Relais), COM-16810 (Dual Solid State Relais).

Autres produits SparkFun supportés

Brancher

Voici deux options de branchements, un sur le  MicroMod Learning Machine (Carrier board, SparkFun, DEV-16400) et l'autre sur un Raspberry-Pi Pico (à l'aide Qwiic Cable Breakout PRT-14425)

MicroMod Learning Machine (Carrier board, SparkFun, DEV-16400)

brancher sur Pico avec Qwiic Cable Breakout (SparFun, PRT-14425)

Il ne sera pas difficile d'adapter le raccordement et le code pour d'autres

Bibliothèque relayi2c.py

Avant de pouvoir tester la carte, il sera nécessaire de copier la bibliothèque relayi2c.py . Celle-ci expose la classe SingleRelay qui permettra d'utiliser facilement la carte relais.

Code de test

Le code d'exemple ci-dessous permet de tester toutes les méthodes offertes par la classe SingleRelay .

from machine import I2C, Pin
from relayi2c import SingleRelay
import time

# MicroMod-RP2040 - SparkFun
i2c = I2C( 0, sda=Pin(4), scl=Pin(5) )
# Raspberry-Pi Pico
# i2c = I2C( 1 ) # sda=GP6, scl=GP7

rel = SingleRelay( i2c )
print( 'version:', rel.version )

print('--- On/Off --------------')
rel.on()
print( "Relay is %s" % rel.state )
time.sleep( 2 )

rel.off()
print( "Relay is %s" % rel.state )
time.sleep( 2 )

print('--- Toggle --------------')
print( "Relay is %s" % rel.state )
print( "Toggle" )
rel.toggle()
print( "Relay is %s" % rel.state )
time.sleep(2)
print( "Toggle again" )
rel.toggle()
print( "Relay is %s" % rel.state )
time.sleep(2)

print('--- Value ---------------')
# Value() method does mimic the Pin class behaviour
rel.value( True )
print( "Relay is %s" % rel.value() )
time.sleep(2)
rel.value( False )
print( "Relay is %s" % rel.value() )

Test multi-relais

Pour tester les cartes multi-relais de SparkFun, i faut utiliser la classe MultiRelay.

L'exemple est disponible dans la dépôt du projet (et le fichier Readme).

Où acheter

 

Aucun commentaire