correction
This commit is contained in:
@@ -21,6 +21,8 @@ if (etape == 1) {
|
||||
}
|
||||
```
|
||||
|
||||
Retour à l'étape 0, si l'interrupteur 1 est éteint.
|
||||
|
||||
```c
|
||||
if (etape == 1 && interrupteur[1] == 0) {
|
||||
etape = 0;
|
||||
@@ -36,6 +38,32 @@ Lors de l'appui sur le bouton "marche" mettre en route le programme suivant :
|
||||
- passer à la cuve 2, la remplir jusqu'en haut,
|
||||
- Allumer le voyant `sortie[8]` en rouge (valeur 3)
|
||||
|
||||
```c
|
||||
if (etape == 1 && marche_frontmontant) {
|
||||
etape = 2;
|
||||
}
|
||||
|
||||
if (etape == 2 && capteur[0]) {
|
||||
etape = 3;
|
||||
}
|
||||
|
||||
if (etape == 3 && capteur[2]) {
|
||||
etape = 4;
|
||||
}
|
||||
|
||||
if (etape == 4 && capteur[4]) {
|
||||
etape = 5;
|
||||
}
|
||||
```
|
||||
|
||||
Ne pas allumé l'actionneur que si le capteur haut est off.
|
||||
|
||||
```c
|
||||
actionneur[0] = !capteur[0] && etape == 2;
|
||||
actionneur[2] = !capteur[2] && etape == 3;
|
||||
actionneur[4] = !capteur[4] && etape == 4;
|
||||
```
|
||||
|
||||
### Fonctionnement 2
|
||||
|
||||
- Le programme 1 est en cours de fonctionnement.
|
||||
@@ -59,7 +87,7 @@ Lors de l'appui sur le bouton "marche" mettre en route le programme suivant :
|
||||
|
||||
- L'interrupteur 4 est sur "on", Les interrupteurs 1, 2 et 3 sont sur "off". Le système est dans un état intermédiaire.
|
||||
- L'appui sur le bouton "Marche" harmonise les niveaux suivant la règle suivante :
|
||||
- S"lectionner la cuve avec le niveau le plus bas pour atteindre le niveau de la cuve la plus haute,
|
||||
- Sélectionner la cuve avec le niveau le plus bas pour atteindre le niveau de la cuve la plus haute,
|
||||
- Recommencer pour que les 3 cuves soient toutes au même niveau
|
||||
|
||||
Les niveaux sont mesuré à l'aide de niveau[0], niveau[1] et niveau[2]
|
||||
@@ -67,9 +95,9 @@ Les niveaux sont mesuré à l'aide de niveau[0], niveau[1] et niveau[2]
|
||||
### Fonctionnement 6
|
||||
|
||||
- L'interrupteur 5 est sur "on", Les interrupteurs 1, 2, 3 et 4 sont sur "off".
|
||||
- L'appui sur le bouton B0 sélectionne la pompe 0, Allumer le voyant s0
|
||||
- L'appui sur le bouton B2 sélectionne la pompe 1, Allumer le voyant s1
|
||||
- L'appui sur le bouton B4 sélectionne la pompe 2, Allumer le voyant s2
|
||||
- L'appui sur le bouton[0] allume le voyant s0
|
||||
- L'appui sur le bouton[2] allume le voyant s1
|
||||
- L'appui sur le bouton[4] allume le voyant s2
|
||||
- Il ne peut y avoir qu'une seule pompe de sélectionnée à la fois.
|
||||
- L'appui sur le bouton "Marche" rempli la pompe sélectionnée.
|
||||
|
||||
|
||||
@@ -23,6 +23,38 @@ Minimiser l'utilisation des moteurs. Démarrer un moteur après 2 secondes aprè
|
||||
Ajouter un compteur pour compter le nombre de démarrage des moteurs. Démarrer le moteur avec le moins de démarrage.
|
||||
Arrêter le moteur avec le moins de démarrage.
|
||||
|
||||
```c
|
||||
int moteur_plusutilise() {
|
||||
int index = -1;
|
||||
int max = 0;
|
||||
|
||||
for (int i = 0 ; i < 4 ; i++) {
|
||||
if (compteur[i] > max) {
|
||||
max = compteur[i];
|
||||
index = i; // Lequel est le maximum
|
||||
}
|
||||
}
|
||||
|
||||
return index;
|
||||
}
|
||||
|
||||
int moteur_moinsutilise() {
|
||||
int index = -1;
|
||||
int min = INT32_MAX;
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
if (compteur[i] < min)
|
||||
{
|
||||
min = compteur[i];
|
||||
index = i; // Lequel est le maximum
|
||||
}
|
||||
}
|
||||
|
||||
return index;
|
||||
}
|
||||
```
|
||||
|
||||
### Par temps d'utilisation
|
||||
|
||||
Mesurer le temps d'utilisation de chaque moteur. Démarrer le moteur avec le moins temps de'utilisation. Arrêter le moteur avec le plus de temps d'utilisation.
|
||||
|
||||
Reference in New Issue
Block a user