#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
// Nastavenie vstupov
DDRB &= ~(1<<0); // D8 ako vstup
DDRB &= ~(1<<1); // D9 ako vstup
DDRB &= ~(1<<2); // D10 ako vstup
DDRB &= ~(1<<3); // D11 ako vstup
// Zapnutie interných pull-up rezistorov
PORTB |= (1<<0) | (1<<1) | (1<<2) | (1<<3);
// Inicializácia LCD
lcd.init();
lcd.backlight();
lcd.clear();
}
void loop() {
// Čítanie stavu prepínačov
bool roh1 = (PINB & (1<<0)) == 0; // D8
bool roh2 = (PINB & (1<<1)) == 0; // D9
bool roh3 = (PINB & (1<<2)) == 0; // D10
bool roh4 = (PINB & (1<<3)) == 0; // D11
// Horný ľavý roh (0,0)
lcd.setCursor(0, 0);
if (roh1) lcd.print("X");
else lcd.print("O");
// Horný pravý roh (15,0)
lcd.setCursor(15, 0);
if (roh2) lcd.print("X");
else lcd.print("O");
// Dolný ľavý roh (0,1)
lcd.setCursor(0, 1);
if (roh3) lcd.print("X");
else lcd.print("O");
// Dolný pravý roh (15,1)
lcd.setCursor(15, 1);
if (roh4) lcd.print("X");
else lcd.print("O");
delay(100); // Malé oneskorenie aby displej neblikotal
}