En fait, je crois qu'il y a vraiment plus simple et plus ergonomique, et surtout plus souple : on conserve le système avec les AND Gates, mais juste après le bouton, on met une porte logique de début.
Petite explication : la porte logique de début est une porte dont la sortie est vraie quand l'entrée vient d'être activée. Dans un code, ça se traduit généralement par AND Gate dont les entrées sont l'entrée de la porte de début, et un NOT Gate dont l'entrée est la précédente entrée de début.
Exemple C++ :
Code:
bool debut(bool entree)
{
static bool entreePrecedente = false;
bool resultat = entreePrecedente & !entree;
entreePrecedente = entree;
return resultat;
}
Petit exemple, peut être amélioré car mon logiciel ne gérait pas les délayeurs. Je n'ai pas tout mis, mais l'idée générale est là.