1.11.9

News

Page  1 sur 3  > >>

2019-01-16
Catégorie : Arduino
Posté par : xavier
Un Circuit imprimé pour plusieurs sketches
2018-06-07
Catégorie : Arduino
Posté par : xavier
Des pistes pour developper un projet a base d'Arduino
2017-09-23
Catégorie : Expositions
Posté par : xavier

Les 4/5 Novembre 2017, au parc Savoie Expo de Chambéry (Savoie), se tiendra l'exposition Savoie Modelisme.

CMS - 1.11.9 - Bartolome
 

Les machines d'état

Les machines d'état

Créer une application pour votre Arduino, c'est demander a votre Arduino ne prendre connaissance de son environnement (capteurs) pour agir dessus (actionneurs) en fonction de vos spécifications...

Il faut donc écrire clairement vos spécifications. C'est l'objet de ce chapitre!

Quelques notions pour continuer:

État

Aussi appelé étape.

On y positionne des actionneurs,

Il est ainsi possible d'agir sur l'environnement extérieur

Transition

C'est l'ensemble des conditions à vérifier pour passer d'un État de départ à un État d'arrivée.

Il est ainsi possible d'obtenir des comportements différents de la machine en fonction de l'environnement extérieur

 

Le programme va donc regarder dans quelle étape il se trouve (y positionner les actionneurs, c'est à dire agir sur l'environnement=écriture des sorties) puis voir (en observation l'environnement=lecture des entrées)s'il doit effectuer la transition vers l'étape suivante

 

enum {arret, descente, montee};// liste de Etats possibles

While (1) {
    switch (etat) {
        case arret :
            // Positionner les actionneurs
            Av(0);
            Rec(0);
            // Passer à l'étape suivante
            break;
        case descente :
            // Positionner les actionneurs
            Av(1);
            Rec(0);
            // Passer à l'étape suivante
            if (Bas()) { etat=montee; }
            break;
        case montee :
            // Positionner les actionneurs
            Av(0);
            Rec(1);
            // Passer à l'étape suivante
            if (Haut()) { etat=arret; }
            break;
    }
}

Previous page: Au fait  Page suivante : Plus loin