Structure d’un programme

Pymata4 permet facilement de gérer les événements.

Ainsi, on peut structurer un programme de la façon suivante (non obligatoire) :

#-------------- importer les modules nécessaires
from pymata4 import pymata4
import sys
import time

#-------------- créer l'objet Pymata4()
carte = pymata4.Pymata4()
print("--------------- Début --------------")


#--------------  Constantes
#LedR = 9 # port de la LED rouge (PWM obligatoire)


#------------------ fonctions callback
#def moncallback():
            

#---------------- programme principal
try :
    #------------------ initialisation des pattes
    # carte.set_pin_...(...)
    time.sleep(1)
    #------------------ boucle infinie
    while True:
        time.sleep(Delai)           
except KeyboardInterrupt : # si on tape Ctl + C
    print("--------------- Fin --------------")
    carte.shutdown()
    sys.exit(0)
    

Les modules nécessaires

  • pymata4 (à installer)
  • sys
  • time
  • keyboard (à installer) si interaction avec le clavier

Créer l’objet Pymata4()

C’est l’instruction centrale à partir de laquelle toutes les instructions Pymata4 seront liées.

Le programme fera automatiquement la connexion avec la carte Arduino connectée, sans que l’on doive se soucier du port de communication.

En cas d’échec (rare), débrancher et rebrancher la carte et relancer le programme.

Constantes

Mieux vaut rassembler ici toutes les constantes nécessaires :

  • pattes des composants
  • temps d’attente
  • sensibilité d’un capteur

Mieux vaut laisser une seconde d’attente pour que l’initialisation des pattes se fasse avant les éventuelles lectures.

Fonctions callback

Si on utilise les fonctions de lectures avec des callbacks, on pourra définir ici les différentes fonctions.

Ces fonctions seront appelés en cas de changements suffisants de valeurs mesurées. Cette programmation est très logique et facile à mettre en place. Pymata4 fait le reste !

Le programme principal

Celui-ci s’articule autour du couple try/except.

Dans le try on retrouve :

  • Les initialisations des pattes (lecture, écriture, capteur particulier)
  • la boucle infinie qui ne contiendra rien ou des instructions de lectures régulières (polling)

La partie except sert à interrompre proprement le programme quand on clique sur Ctl+C.


Retour à la rubrique