#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RESET 4 // Reset pin # (or -1 if sharing reset pin)
#define BuzzerPin 7
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
int LED1 = 5;
int LED2 = 4;
int val = 2;
void setup() {
display.begin(SSD1306_DISPLAYON, 0x3C);
display.display(); // Inisialisasi tampilan dengan tampilan kosong
delay(2000); // Tunggu 2 detik
display.clearDisplay(); // Hapus tampilan setelah ditunggu
display.setTextSize(2);
display.setTextColor(SSD1306_WHITE);
pinMode (val, INPUT);
pinMode(BuzzerPin, OUTPUT);
pinMode (LED1, OUTPUT);
pinMode (LED2, OUTPUT);
Serial.begin (9600);
}
void loop() {
int sensordata = digitalRead(val);
Serial.print("Nilai LDR: ");
Serial.print(sensordata);
Serial.println("");
if (sensordata == 0) {
noTone(BuzzerPin);
digitalWrite(5, HIGH); // LED ON
digitalWrite(4, LOW); // LED O
display.clearDisplay();
display.setCursor(0, 15);
display.print("TERANG");
display.display();
delay(1000);
} else if (sensordata == 1) {
tone(BuzzerPin, 200);
digitalWrite(5, LOW);
digitalWrite(4, HIGH);
display.clearDisplay();
display.setCursor(0, 15);
display.print("GELAP");
display.display();
delay(1000);
}
}