#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Adresa I2C a display-ului LCD
#define LCD_ADDRESS 0x27
// Numărul de pini GPIO utilizați pentru butoane
#define BUTTON_1_PIN 14
#define BUTTON_2_PIN 27
#define BUTTON_3_PIN 26
#define BUTTON_4_PIN 25
// Numărul de pini GPIO utilizați pentru LED-uri
#define LED_1_PIN 19
#define LED_2_PIN 18
#define LED_3_PIN 5
#define LED_4_PIN 17
// Obiectul pentru controlul display-ului LCD
LiquidCrystal_I2C lcd(LCD_ADDRESS, 16, 2);
void setup() {
// Inițializarea porturilor GPIO pentru butoane
pinMode(BUTTON_1_PIN, INPUT_PULLUP);
pinMode(BUTTON_2_PIN, INPUT_PULLUP);
pinMode(BUTTON_3_PIN, INPUT_PULLUP);
pinMode(BUTTON_4_PIN, INPUT_PULLUP);
// Inițializarea porturilor GPIO pentru LED-uri
pinMode(LED_1_PIN, OUTPUT);
pinMode(LED_2_PIN, OUTPUT);
pinMode(LED_3_PIN, OUTPUT);
pinMode(LED_4_PIN, OUTPUT);
// Inițializarea comunicării cu display-ul LCD
lcd.init();
lcd.backlight();
}
void loop() {
// Citirea stării butoanelor
int button1 = digitalRead(BUTTON_1_PIN);
int button2 = digitalRead(BUTTON_2_PIN);
int button3 = digitalRead(BUTTON_3_PIN);
int button4 = digitalRead(BUTTON_4_PIN);
// Setarea stării LED-urilor în funcție de butoane
digitalWrite(LED_1_PIN, button1);
digitalWrite(LED_2_PIN, button2);
digitalWrite(LED_3_PIN, button3);
digitalWrite(LED_4_PIN, button4);
// Afisarea stării butoanelor și a LED-urilor pe LCD
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Butoane: ");
lcd.print(button1);
lcd.print(button2);
lcd.print(button3);
lcd.print(button4);
lcd.setCursor(0,1);
lcd.print("LED-uri: ");
lcd.print(digitalRead(LED_1_PIN));
lcd.print(digitalRead(LED_2_PIN));
lcd.print(digitalRead(LED_3_PIN));
lcd.print(digitalRead(LED_4_PIN));
// Opritul procesorului pentru o clipă, pentru a reduce consumul de energie
delay(100);
}
esp:VIN
esp:GND.2
esp:D13
esp:D12
esp:D14
esp:D27
esp:D26
esp:D25
esp:D33
esp:D32
esp:D35
esp:D34
esp:VN
esp:VP
esp:EN
esp:3V3
esp:GND.1
esp:D15
esp:D2
esp:D4
esp:RX2
esp:TX2
esp:D5
esp:D18
esp:D19
esp:D21
esp:RX0
esp:TX0
esp:D22
esp:D23
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
btn2:1.l
btn2:2.l
btn2:1.r
btn2:2.r
btn3:1.l
btn3:2.l
btn3:1.r
btn3:2.r
btn4:1.l
btn4:2.l
btn4:1.r
btn4:2.r
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL
led1:A
led1:C
led2:A
led2:C
led3:A
led3:C
led4:A
led4:C