Académique Documents
Professionnel Documents
Culture Documents
h>
void setup() {
// Initialiser l'afficheur LCD
lcd.begin(16, 2);
void loop() {
switch (etatMenu) {
case MENU_PRINCIPAL:
verifierBoutonsMenuPrincipal();
break;
case STERILISATION_EN_COURS:
verifierBoutonRetour();
break;
}
}
void afficherMenuPrincipal() {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Que voulez-vous");
lcd.setCursor(0, 1);
lcd.print("steriliser?");
}
void verifierBoutonsMenuPrincipal() {
int boutonVerreEtat = digitalRead(boutonVerrePin);
int boutonTissusEtat = digitalRead(boutonTissusPin);
int boutonChirurgicalEtat = digitalRead(boutonChirurgicalPin);
if (boutonVerreEtat == LOW) {
effectuerSterilisation("Ster. de verre", temperatureVerre, dureeSterilisation);
} else if (boutonTissusEtat == LOW) {
effectuerSterilisation("Ster. de tissus", temperatureTissus,
dureeSterilisation);
} else if (boutonChirurgicalEtat == LOW) {
effectuerSterilisation("Ster. chirurgical", temperatureChirurgical,
dureeSterilisation);
}
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(typeSterilisation);
lcd.setCursor(0, 1);
lcd.print("Sterilisation en");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("STERILISATION");
lcd.setCursor(0, 1);
lcd.print("EFFECTUEE");
9 / 9
D'accord, voici le code mis à jour pour inclure un bouton de retour au menu et
afficher un message après la fin du cycle de stérilisation :
cpp
Copy code
#include <LiquidCrystal_I2C.h>
void setup() {
// Initialiser l'afficheur LCD
lcd.begin(16, 2);
void loop() {
switch (etatMenu) {
case MENU_PRINCIPAL:
verifierBoutonsMenuPrincipal();
break;
case STERILISATION_EN_COURS:
verifierBoutonRetour();
break;
}
}
void afficherMenuPrincipal() {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Que voulez-vous");
lcd.setCursor(0, 1);
lcd.print("steriliser?");
}
void verifierBoutonsMenuPrincipal() {
int boutonVerreEtat = digitalRead(boutonVerrePin);
int boutonTissusEtat = digitalRead(boutonTissusPin);
int boutonChirurgicalEtat = digitalRead(boutonChirurgicalPin);
if (boutonVerreEtat == LOW) {
effectuerSterilisation("Ster. de verre", temperatureVerre, dureeSterilisation);
} else if (boutonTissusEtat == LOW) {
effectuerSterilisation("Ster. de tissus", temperatureTissus,
dureeSterilisation);
} else if (boutonChirurgicalEtat == LOW) {
effectuerSterilisation("Ster. chirurgical", temperatureChirurgical,
dureeSterilisation);
}
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(typeSterilisation);
lcd.setCursor(0, 1);
lcd.print("Sterilisation en");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("STERILISATION");
lcd.setCursor(0, 1);
lcd.print("EFFECTUEE");
afficherMenuPrincipal();
}
void verifierBoutonRetour() {
int boutonRetourEtat = digitalRead(boutonRetourPin);
if (boutonRetourEtat == LOW) {
etatMenu = MENU_PRINCIPAL;
afficherMenuPrincipal();
}
}
Dans ce code, jai ajouté une variable boutonRetourPin pour définir la broche du
bouton de retour au menu également ajouté l'énumération EtatMenu pour gérer les
différents états du menu.