#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Initialisation de l'écran LCD I2C : Adresse I2C 0x27, 20 colonnes et 4 lignes
LiquidCrystal_I2C lcd(0x27, 20, 4);
// Déclaration des broches pour les boutons poussoirs
const int buttonPin1 = 2;
const int buttonPin2 = 3;
const int buttonPin3 = 4;
// Déclaration des broches pour les potentiomètres
const int potPin1 = A0;
const int potPin2 = A1;
const int potPin3 = A2;
void setup() {
// Configuration des broches des boutons poussoirs en entrée
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
// Initialisation de l'écran LCD
lcd.init(); // Initialisation de l'écran I2C
lcd.backlight(); // Allumer le rétroéclairage de l'écran
// Message d'accueil
lcd.setCursor(0, 0);
lcd.print("Pot & Button");
lcd.setCursor(0, 1);
lcd.print("Monitoring");
delay(100);
lcd.clear();
}
void loop() {
// Lecture des valeurs des potentiomètres
int potValue1 = analogRead(potPin1);
int potValue2 = analogRead(potPin2);
int potValue3 = analogRead(potPin3);
// Lecture de l'état des boutons poussoirs
int buttonState1 = digitalRead(buttonPin1);
int buttonState2 = digitalRead(buttonPin2);
int buttonState3 = digitalRead(buttonPin3);
// Affichage des valeurs des potentiomètres
lcd.setCursor(0, 0);
lcd.print("P1:");
lcd.print(potValue1);
lcd.setCursor(10, 0);
lcd.print("P2:");
lcd.print(potValue2);
lcd.setCursor(0, 1);
lcd.print("P3:");
lcd.print(potValue3);
delay(50); // Pause pour lecture des valeurs
// Affichage de l'état des boutons poussoirs
lcd.setCursor(0, 2);
lcd.print("B1:");
lcd.print(buttonState1 == HIGH ? "OFF" : "ON");
lcd.setCursor(10, 2);
lcd.print("B2:");
lcd.print(buttonState2 == HIGH ? "OFF" : "ON");
lcd.setCursor(0, 3);
lcd.print("B3:");
lcd.print(buttonState3 == HIGH ? "OFF" : "ON");
delay(50); // Pause pour lecture des états
}