Étape 1: La première machine d’État: 1 master et 3 esclaves concurent
L’interface de contrôle :
J’utilise un arduino uno avec une petite interface (2 boutons (ATU1, ATU2) pour la gâchette sur et 3 LEDS (11, 12, 13) pour l’action de sortie) et un LCDKeypad.
Les machines :
Le microcontrôleur peut contrôler un maître machine qui peut lancer 3 differents esclave machines :
-la machine FB clignoter une led à 1Hz. Si ATU1 est pressé, il désactive la machine FB, si ATU1 est tirée, elle redémarre la machine FB
-la machine SB clignoter une led à une fréquence plus rapide sans synchronisation ou d’une interaction avec la machine FB. Si vous appuyez sur gauche (sur le front), il désactive la machine SB, si vous appuyez sur SELECT (sur le front), il redémarre la machine SB.
-la machine pompe qui est exécutez stop d’une sortie ou un relais pour démarrer une pompe. Si vous appuyez sur UP (sur le front), la sortie est haute, si ATU2 est pressé (sur le front montant) la sortie est éteinte.
Il s’agit d’uneencapsulation n : lorsque vous désactivez un état d’encapsulation, tous États encapsulés sont pas activés en même temps.
Lorsque vous lancez États parallèles dans l’automatisation, vous faites un Divergence des séquences simultanées ou machines à.
Le schéma :
En raison du bouclier LCDkeypad, servent beaucoup de pins : pins 4, 5, 6, 7, 8, 9, 10. Les touches du clavier sont analogiques sur broche A0.
Il reste donc quelques montant de broches pour un système de contrôle. Cela la raison pourquoi j’ai ajouté un circuit I2C d’e/s d’extension utilisés dans les étapes suivantes. Vous ignorera à cette étape : il suffit de garder votre esprit ATU1, ATU2, touches du clavier, et la broche 11, 12, 13 numérique sorties.
Le programme :
Beaucoup de commentaires sont à l’intérieur.
Les messages affichés :
La première ligne indique quelle machine est lancé.
La seconde ligne affiche si des actions sont en cours d’exécution (pièce de monnaie se déplaçant d’un État à l’autre).