#define BUTTON_1 18
#define BUTTON_2 21
#define BUTTON_3 22
#define BUTTON_4 23
#define LED_AND 2 // Output untuk logika AND
#define LED_NOT 4 // Output untuk logika NOT
#define BUZZER_OR 15 // Output untuk logika OR
#define BUZZER_XOR 5 // Output untuk logika XOR
void setup() {
pinMode(BUTTON_1, INPUT_PULLUP);
pinMode(BUTTON_2, INPUT_PULLUP);
pinMode(BUTTON_3, INPUT_PULLUP);
pinMode(BUTTON_4, INPUT_PULLUP);
pinMode(LED_AND, OUTPUT);
pinMode(LED_NOT, OUTPUT);
pinMode(BUZZER_OR, OUTPUT);
pinMode(BUZZER_XOR, OUTPUT);
Serial.begin(115200);
}
void loop() {
int input1 = !digitalRead(BUTTON_1);
int input2 = !digitalRead(BUTTON_2);
int input3 = !digitalRead(BUTTON_3);
int input4 = !digitalRead(BUTTON_4);
int result_and = input1 && input2;
digitalWrite(LED_AND, result_and);
int result_or = input1 || input2;
digitalWrite(BUZZER_OR, result_or);
int result_xor = input1 ^ input2;
digitalWrite(BUZZER_XOR, result_xor);
int result_not = !((input1 && input2) || (input3 ^ input4));
digitalWrite(LED_NOT, result_not); /
Serial.print("Input 1: "); Serial.print(input1);
Serial.print(" | Input 2: "); Serial.print(input2);
Serial.print(" | Input 3: "); Serial.print(input3);
Serial.print(" | Input 4: "); Serial.print(input4);
Serial.print(" | AND: "); Serial.print(result_and);
Serial.print(" | OR: "); Serial.print(result_or);
Serial.print(" | XOR: "); Serial.print(result_xor);
Serial.print(" | NOT: "); Serial.println(result_not);
delay(100);
}