#include <LiquidCrystal_I2C.h>
// Inisialisasi LCD I2C dengan alamat 0x27 untuk layar 20x4
LiquidCrystal_I2C lcd(0x27, 20, 4);
void setup() {
// Memulai komunikasi serial
Serial.begin(9600);
// Tiga variabel input
byte a = 2; // Contoh nilai biner
byte b = 12; // Contoh nilai biner
byte c = 5; // Contoh nilai biner
// Operasi bitwise OR
byte hasil = a | b | c;
// Menampilkan hasil ke Serial Monitor
Serial.println("Bitwise OR Simulation");
Serial.println("======================");
Serial.println(" a (biner): " + formatBinary(a));
Serial.println(" b (biner): " + formatBinary(b));
Serial.println(" c (biner): " + formatBinary(c));
Serial.println("OR (biner): " + formatBinary(hasil));
Serial.println("======================");
// Inisialisasi LCD
lcd.init();
lcd.backlight();
// Menampilkan hasil ke LCD
lcd.setCursor(0, 0);
lcd.print("a : " + String(formatBinary(a)));
delay(2000);
lcd.setCursor(0, 1);
lcd.print("b : " + String(formatBinary(b)));
delay(2000);
lcd.setCursor(0, 2);
lcd.print("c : " + String(formatBinary(c)));
delay(2000);
lcd.setCursor(0, 3);
lcd.print("OR: " + String(formatBinary(hasil)));
delay(2000);
}
// Fungsi untuk memformat biner menjadi 8-bit
String formatBinary(byte value) {
String binaryString = String(value, BIN); // Konversi ke biner
while (binaryString.length() < 8) { // Tambahkan '0' di depan
binaryString = "0" + binaryString;
}
return binaryString;
}
void loop() {
// Tidak ada operasi di loop
}