UNIPI-MICROPYTHON-AUTOMATION: l'automate programmable propulsé par la PYBStick sous MicroPython

Il y a quelques jours, nous parlions d'un nouveau projet pour créer un automate programmable à partir d'une carte MicroPython.

Prototype de développement PYBStick<->UniPi

Les travaux sur le bibliothèque MicroPython avancent bien et les éléments suivants sont maintenant supportés:
  • Sorties Relais (les 8 relais, déjà abordé dans le précédent article)
  • Entrées numériques 24 Volts (les 14 entrées)
  • Entrées analogiques 10V (les 2 entrées)
  • EEPROM UniPi
    Lecture des valeurs de calibration analogiques depuis l'EEPROM + leur utilisation.
Le code d'utilisation reste orienté KISS (Keep It Simple Stupid).

Lecture des entrées numériques

from unipi import unipi

# Lecture de l'état des entrées
unipi.inputs.read()

# Lecture de l'état des entrées 1 et 3
print( "IN1 = %s" % unipi.inputs[1] )
print( "IN3 = %s" % unipi.inputs[3] )

# Afficher l'état de toutes les entrées
unipi.inputs.read()
for i in range(1, 14): # 1 to 13
	print( "IN%s = %s" % (i, unipi.inputs[i]) )

Entrées analogiques

Les entrées analogiques acceptent une tension d'entrée jusqu'à 10 Volts.
from unipi import unipi
import time

# Collect voltages (between 0 and 10V)
print( "--- collect entries ---")
print( "ADC 1 = %s Volts" % unipi.adcs[1] )
print( "ADC 2 = %s Volts" % unipi.adcs[2] )

EEPROM UniPi

L'EEPROM UniPi contient des données utiles pour exploiter la carte UniPi.
Cette EEPROM peut également stocker des informations utilisateurs (mais cette partie n'est pas encore prise en charge).

Par contre les infos de calibration sont automatiquement prisent en charge par la bibliothèque.
from unipi import unipi
import time

print( "--- Affichage contenu EEPROM ---")
unipi.eeprom.dump()

print( "--- UniPi data ---")
print( "UniPi board version : %s" % unipi.eeprom.board_version )
print( "AI1,AI2 coef = %f, %f" % unipi.eeprom.analog_input_coefs )
Ce qui produit le résultat suivant
--- Dump EEPROM ---
 0x0 : FF FF FF FF FF FF FF FF : ........
 0x8 : FF FF FF FF FF FF FF FF : ........
0x10 : FF FF FF FF FF FF FF FF : ........
0x18 : FF FF FF FF FF FF FF FF : ........
0x20 : FF FF FF FF FF FF FF FF : ........
0x28 : FF FF FF FF FF FF FF FF : ........
0x30 : FF FF FF FF FF FF FF FF : ........
0x38 : FF FF FF FF FF FF FF FF : ........
0x40 : FF FF FF FF FF FF FF FF : ........
0x48 : FF FF FF FF FF FF FF FF : ........
0x50 : FF FF FF FF FF FF FF FF : ........
0x58 : FF FF FF FF FF FF FF FF : ........
0x60 : FF FF FF FF FF FF FF FF : ........
0x68 : FF FF FF FF FF FF FF FF : ........
0x70 : FF FF FF FF FF FF FF FF : ........
0x78 : FF FF FF FF FF FF FF FF : ........
0x80 : FF FF FF FF FF FF FF FF : ........
0x88 : FF FF FF FF FF FF FF FF : ........
0x90 : FF FF FF FF FF FF FF FF : ........
0x98 : FF FF FF FF FF FF FF FF : ........
0xa0 : FF FF FF FF FF FF FF FF : ........
0xa8 : FF FF FF FF FF FF FF FF : ........
0xb0 : FF FF FF FF FF FF FF FF : ........
0xb8 : FF FF FF FF FF FF FF FF : ........
0xc0 : FF FF FF FF FF FF FF FF : ........
0xc8 : FF FF FF FF FF FF FF FF : ........
0xd0 : FF FF FF FF FF FF FF FF : ........
0xd8 : FF FF FF FF FF FF FF FF : ........
0xe0 : FA 55 01 01 3C 1C 00 00 : .U..<...
0xe8 : 02 FD 00 00 00 00 00 00 : ........
0xf0 : 40 B2 3E 67 40 B2 40 D5 : @.>g@.@.
0xf8 : 00 00 00 00 00 00 00 00 : ........
--- UniPi data ---
UniPi board version : 1.1
AI1,AI2 coef = 5.570117, 5.570414

Conclusion

Hormis la partie EEPROM, peut être moins abordable, la bibliothèque unipi et reste simple à utiliser (avec un code lisible et compréhensible).

Voici qui démontre la puissance de la PYBStick et ses possibilités :-)

Où acheter

Aucun commentaire