Activité : automates

Automata est un jeu en ligne pour apprendre à concevoir un système logique sous la forme d’un automate fini.

Le jeu propose de réaliser différentes missions consistant à automatiser le fonctionnement d’un système. Pour chaque mission, le joueur doit créer un automate qu’il saisit sous la forme d’une table de transitions et de sortie. Il est possible de visualiser cet automate sous la forme d’un graphe d’états.

Le joueur peut valider son automate en démarrant un scénario de test. Il reçoit alors une indication de la réussite ou de l’échec de la mission.

Commande d’un robot autonome

La section Robots propose cinq missions de difficulté croissante consistant à commander un robot similaire à celui que nous avons développé dans la section Modélisation par graphe d’états.

Accéder à la première mission

Commande d’une barrière automatique

La section Open the Gate consiste à développer la commande d’une barrière automatique en trois étapes. Cette barrière doit répondre à trois exigences correspondant aux trois missions proposées :

  1. S’ouvrir lorsqu’un utilisateur presse le bouton d’appel.
  2. Se refermer automatiquement après le passage d’un véhicule.
  3. S’ouvrir à nouveau si un véhicule ou un piéton se trouve sous la barrière pendant qu’elle se ferme.
  4. Se refermer automatiquement si aucun véhicule n’est passé après un ceertain délai.

Accéder à la première mission

Mettre en équations le graphe d’états

À présent, nous vous proposons de réaliser un circuit dont le comportement respectera le graphe d’états de la mission Don’t crush the follower.

En choisissant un codage one-hot des états, écrivez les équations logiques de la fonction de transition et de la fonction de sortie. Si nécessaire, vous pouvez relire la méthode de synthèse que nous avons expliquée dans la page précédente.

Tracer les chronogrammes

On propose le scénario de fonctionnement suivant. Ajoutez les noms des signaux représentant l’état. En supposant que l’automate est dans son état initial au début du scénario, complétez les chronogrammes.

Chronogrammes à compléter

Dessiner le schéma du circuit

Sous Logisim, complétez le schéma ci-dessous. Les capteurs ont été remplacés par des boutons-poussoirs et les actionneurs par des LED.

À quoi devez-vous relier le bouton init pour que l’automate revienne dans son état initial à chaque appui ?

Logisim-evolution est déjà présent sur les postes de travail de certaines salles de TP à l’ESEO. Pour l’exécuter, démarrez votre PC sous Ubuntu, ouvrez un terminal et saisissez la commande suivante :

java -jar /opt/logisim-evolution-3.3.0-all.jar

Simuler son fonctionnement

Dans le menu Simulation :

  1. Vérifiez que l’option Simulation enclenchée est activée.
  2. Réglez la Fréquence des tics à 16 Hz.
  3. Cochez l’option Tics activés.

Dans la barre d’outils, pressez le bouton «  ».

Agissez sur les boutons-poussoirs et observez l’évolution de l’état et des sorties pour différents scénarios d’utilisation. Vérifiez que le comportement obtenu est conforme à votre graphe d’états.