MyDin: Carte 2 relais et contrôleur Pico sous MicroPython

Bonjour à tous,

Petit retour sur notre projet de carte contrôleur MyDin en cours de développement.

Le dernier article sur le sujet détaillait les deux cartes principales, leurs fonctionnalités et détails techniques.

La bibliothèque MicroPython et les tests avancent rapidement.
Cet article s'attarde un peu sur le montage dans le boîtier Din.

Un peu d'impression 3D

Deux pièces supplémentaires ont été imprimées pour maintenir la carte contrôleur bien en place.

MyDin - carte contrôleur DINCASE-MB3PICO

Elément qui vient se placer comme ci-dessous sur la carte contrôleur.

MyDin - carte contrôleur DINCASE-MB3PICO

Test d'assemblage

Il faut préalablement équiper le contrôleur du câble d'interface

Puis présenter la carte face à l'ouverture USB.


Enfin, placer la seconde pièce pour sécuriser la carte dans son emplacement.

MyDin - carte contrôleur DINCASE-MB3PICO

Sans oublier, bien sur, d'utiliser les vis de fixation.

Accès au port USB du Pico

Vient ensuite la connexion de la carte de fond de panier.

MyDin - carte de fond 2 Relais DINCASE-2R-BP3MOD
MyDin: DINCASE-MB3PICO + DINCASE-2R-BP3MOD

Reste plus qu'a refermer le boîtier.



Module fermé et prêt à l'emploi

Ensuite

Il reste encore à s'occuper de:

  1. la face du module avec l'accès aux boutons.
  2. finaliser la bibliothèque MicroPython.

Du code en prévisualisation

Voici un exemple rudimentaire présentant le fonctionnement général de la bibliothèque.

Le point principal est l'appel configure() qui précise la carte contrôleur et la carte d'interface associée.
Dans le cas présent, l'appel configure( Pico3Mod, TwoRelay3Mod ) nous informe que:

  1. La carte contrôleur est basée sur un Raspberry-Pico (3 modules DIN).
  2. La carte d'interface est un module 2 relais (3 modules DIN).
L'objet ainsi créé expose les interfaces de la carte contrôleur et des interface de la carte en fond de panier.
Cette approche permet d'envisager d'autres combinaisons de cartes contrôleurs (incluant d'autres interfaces) et d'autres cartes d'interfaces.
 
from mydin import configure
from mydin.pico import Pico3Mod
from mydin.backplane.relays import TwoRelay3Mod 
import time, sys

din = configure( Pico3Mod, TwoRelay3Mod )

# === Relays ==================================
din.rel1.on()
print( "Rel1 is", din.rel1.value() )
time.sleep(1)

din.rel2.on()
print( "Rel2 is", din.rel2.value() )
time.sleep(1)

print( "All relays off" )
for relay in din.relays:
	relay.off()
print( "relays state", [relay.value() for relay in din.relays] )

# === LEDs ====================================
for i in range( 20 ):
	for led in din.leds:
		led.toggle()
		time.sleep_ms(100)
# turn off all leds.
[ led.off() for led in din.leds ]


Qu'en pensez-vous ?

Aucun commentaire