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).
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 :-)
Écrire un commentaire