#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
byte a,b,c,d;
int codeSecret[4] ={0,0,0,5};
int codeEncours[4]={0};
byte positionCode =0;
bool comparerCodes(int liste1[], int liste2[], int taille) {
for (int i = 0; i < taille; i++) {
if (liste1[i] != liste2[i]) {
return false; // Les listes ne sont pas identiques
}
}
return true; // Les listes sont identiques
}
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(5,1);
pinMode(8, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
}
void loop() {
if (!digitalRead(8)){delay(200);a = (a+1)%10;};
if (!digitalRead(9)){
delay(300);
codeEncours[positionCode] =a;
positionCode++;}
if (positionCode<4){
lcd.setCursor(0,0); lcd.print("CODE : ");
lcd.setCursor(positionCode,1); lcd.print(a);}
if (comparerCodes(codeSecret, codeEncours, 4)) {
lcd.setCursor(0,0);
lcd.print("Code ACCEPTE");
lcd.setCursor(0,1);
lcd.print("OUVERTURE");
delay(500);
lcd.clear();
a=0;
positionCode=0;
for (int i=0;i<4;i++){codeEncours[i]=0;}
}
if (!comparerCodes(codeSecret, codeEncours, 4) and positionCode==4 )
{ lcd.setCursor(0,0);
lcd.print("Code ERRONE");
lcd.setCursor(0,1);
lcd.print("RECOMMENCEZ");
delay(500);
lcd.clear();
a=0;
positionCode=0;
for (int i=0;i<4;i++){codeEncours[i]=0;}
}
}