#include <LiquidCrystal.h>
#include <Bounce2.h>
#define btnRed 3
#define btnGreen 2
#define btnBlue 1
#define btnToggle 13
#define LED_PIN 10
#define LCD_RS 9
#define LCD_EN 8
#define LCD_D4 7
#define LCD_D5 6
#define LCD_D6 5
#define LCD_D7 4
int stevec = 0;
bool ledState = false;
Bounce2::Button tipka1, tipka2, tipka3, tipkaToggle;
LiquidCrystal lcd(LCD_RS, LCD_EN, LCD_D4, LCD_D5, LCD_D6, LCD_D7);
void setup() {
tipka1.attach(btnRed, INPUT_PULLUP);
tipka2.attach(btnGreen, INPUT_PULLUP);
tipka3.attach(btnBlue, INPUT_PULLUP);
tipkaToggle.attach(btnToggle, INPUT_PULLUP);
tipka1.interval(10);
tipka2.interval(10);
tipka3.interval(10);
tipkaToggle.interval(10);
tipka1.setPressedState(LOW);
tipka2.setPressedState(LOW);
tipka3.setPressedState(LOW);
tipkaToggle.setPressedState(LOW);
pinMode(LED_PIN, OUTPUT);
Serial.begin(115200);
lcd.begin(16, 2);
}
void loop() {
tipka1.update();
tipka2.update();
tipka3.update();
tipkaToggle.update();
if (tipka1.pressed()) {
stevec++;
Serial.println(stevec);
}
if (tipka2.pressed()) {
stevec--;
Serial.println(stevec);
}
if (tipka3.pressed()) {
stevec = 0;
Serial.println(stevec);
}
if (tipkaToggle.pressed()) {
ledState = !ledState;
digitalWrite(LED_PIN, ledState);
Serial.print("LED state: ");
Serial.println(ledState ? "ON" : "OFF");
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(stevec);
delay(10);
}