#include <LiquidCrystal.h>
// Configurer l'écran LCD (D6,D4,E,RW, RS, V0)
LiquidCrystal lcd(D2, D3, D4, D5, D6, D7);
const int tailleProduits = 3;
const char* codesBarres[tailleProduits] = {
"1234567890123",
"9876543210987",
"4567891234567"
};
const char* nomsProduits[tailleProduits] = {
"Produit A",
"Produit B",
"Produit C"
};
void setup() {
lcd.begin(16, 2);
Serial.begin(9600);
lcd.print("Prêt à scanner");
}
void loop() {
if (Serial.available() > 0) {
String codeBarre = Serial.readStringUntil('\n'); // Lire le code-barres
verifierCodeBarre(codeBarre);
}
}
void verifierCodeBarre(String codeBarre) {
bool trouve = false; // Pour savoir si le code-barres a été trouvé
for (int i = 0; i < tailleProduits; i++) {
if (codeBarre.equals(codesBarres[i])) {
lcd.clear();
lcd.print("Valide: ");
lcd.print(nomsProduits[i]);
trouve = true;
break; // On sort de la boucle une fois le produit trouvé
}
}
if (!trouve) {
lcd.clear();
lcd.print("Invalide: ");
lcd.print(codeBarre);
}
delay(2000); // Attendre 2 secondes avant de revenir à l'état initial
lcd.clear();
lcd.print("Prêt à scanner");
}